1#! /bin/sh 2# $Id: yconfig.sh,v 1.1 2005-09-18 22:04:15 dhmunro Exp $ 3 4echo "" 5echo " ============ begin yorick configuration =============" 6echo "" 7 8rm -f cfg* 9# debug=yes to keep all cfg.* stdout and stderr files 10debug=no 11 12fatality=0 13 14here=`cd ..;pwd` 15# remove any /tmp_mnt automounter garbage from name of current directory 16if echo "$here" | grep '^/tmp_mnt'; then 17 tmp=`echo "$here" | sed -e s%\^/tmp_mnt%%` 18 if test -d "$tmp"; then 19 here="$tmp"; 20 else 21 tmp=`echo "$tmp" | sed -e s%\^/[\^/]*%%` 22 if test -d "$tmp"; then 23 here="$tmp"; 24 fi 25 fi 26fi 27 28VERSION=`head -1 ../VERSION` 29. ../ysite.sh 30 31if test -z "$Y_SITE"; then 32 Y_SITE="$here" 33else 34 if test "$Y_SITE" = "."; then 35 Y_SITE="$here" 36 fi 37fi 38if test "$Y_HOME" = "."; then Y_HOME=""; fi 39if test "$Y_PLATFORM" = "."; then Y_PLATFORM=""; fi 40if test -z "$Y_HOME"; then 41 if test -z "$Y_PLATFORM"; then 42 Y_PLATFORM=`uname -s`-`uname -m` 43 Y_PLATFORM=`echo $Y_PLATFORM | sed -e "s/ /_/g"` 44 fi 45 Y_HOME="$Y_SITE/$Y_PLATFORM" 46fi 47if test -z "$Y_BINDIR"; then 48 Y_BINDIR='$(Y_EXE_HOME)/bin' 49fi 50 51Y_VERSION="$VERSION".`tail -n 1 ../VERSION` 52echo "Y_VERSION=$Y_VERSION" >>../Make.cfg 53echo "Y_SITE=$Y_SITE" >>../Make.cfg 54echo "Y_HOME=$Y_HOME" >>../Make.cfg 55echo "Y_BINDIR=$Y_BINDIR" >>../Make.cfg 56echo "Y_CFG_SITE=$Y_SITE" >>../Make.cfg 57echo "Y_CFG_HOME=$Y_HOME" >>../Make.cfg 58 59# extract global variables from ../Make.cfg 60CC=`grep '^CC=' ../Make.cfg | sed -e s/CC=//` 61COPTIONS=`grep '^Y_CFLAGS=' ../Make.cfg | sed -e s/Y_CFLAGS=//` 62LDOPTIONS=`grep '^Y_LDFLAGS=' ../Make.cfg | sed -e s/Y_LDFLAGS=//` 63MATHLIB=`grep '^MATHLIB=' ../Make.cfg | sed -e s/MATHLIB=//` 64FPELIB=`grep '^FPELIB=' ../Make.cfg | sed -e s/FPELIB=//` 65if test -z "$FPELIB"; then 66 LOWLIBS="$MATHLIB" 67else 68 LOWLIBS="$MATHLIB" "$FPELIB" 69fi 70X11LIB=`grep '^X11LIB=' ../Make.cfg | sed -e s/X11LIB=//` 71RANLIB=`grep '^RANLIB=' ../Make.cfg | sed -e s/RANLIB=//` 72AR=`grep '^AR=' ../Make.cfg | sed -e s/AR=//` 73 74if test "$HACK103" = "yes"; then 75 echo "will emulate hypot to avoid system sqrt (HACK103)" 76 NO_HYPOT="-DNO_HYPOT" 77else 78cat >cfg.c <<EOF 79int main(int argc, char *argv[]) 80{ 81 double x=hypot(3.,4.); 82 return (x<4.99999)||(x>5.00001); 83} 84EOF 85if $CC $COPTIONS -o cfg cfg.c $LDOPTIONS $LOWLIBS >cfg.00 2>&1; then 86 echo "using hypot found in libm" 87 NO_HYPOT="" 88else 89 echo "libm does not contain hypot, will emulate" 90 NO_HYPOT="-DNO_HYPOT" 91fi 92fi 93echo "NO_HYPOT=$NO_HYPOT" >>../Make.cfg 94 95cat >cfg.c <<EOF 96int main(int argc, char *argv[]) 97{ 98 double x=exp10(3.); 99 return (x<999.999)||(x>1000.001); 100} 101EOF 102if $CC $COPTIONS -o cfg cfg.c $LDOPTIONS $LOWLIBS >cfg.00 2>&1; then 103 echo "using exp10 found in libm" 104 NO_EXP10="" 105else 106 echo "libm does not contain exp10, will emulate" 107 NO_EXP10="-DNO_EXP10" 108fi 109echo "NO_EXP10=$NO_EXP10" >>../Make.cfg 110 111if test -z "$FC" && make echofc >/dev/null 2>&1; then 112 FC=`cat cfg.tmp` 113 if test -z "$FC"; then FC=g77; fi 114fi 115rm -f cfg.tmp 116FC=f77 117FORTRAN_LIBS= 118if test -z "$FORTRAN_LINKAGE"; then 119 FORTRAN_LINKAGE=-Df_linkage_ 120fi 121CXX=CC 122echo "FORTRAN_LINKAGE=$FORTRAN_LINKAGE" >>../Make.cfg 123 124#---------------------------------------------------------------------- 125# clean up, issue warning if compiler gave fishy output 126rm -f cfg cfg.c cfg.o 127for f in cfg.[0-9]*; do 128 if grep ... $f >/dev/null 2>&1; then # or use test -s $f ? 129 if test $debug = yes; then echo "WARNING - check compiler message in $f" 130 else rm -f $f; fi 131 else # remove empty files 132 rm -f $f 133 fi 134done 135 136echo "appended to ../Make.cfg" 137echo "" 138echo " ============= end yorick configuration ==============" 139 140exit $fatality 141