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