1#! /bin/sh 2 3LOGF=make.log 4IAM=`hostname || uname -n` 5MYNAME=`IFS=. ; set $IAM ; echo $1` 6SIG= 7 8case "$1" in 9 0.*) 10 SIG=$1 11 shift 12 CONFIG_ARGS="$@" 13 KEY=`sed -e q < .buildkey-$MYNAME` 14 case "$SIG" in 15 $KEY) ;; 16 *) 17 echo "Wrong directory for build on host $IAM" 18 echo "This is <`pwd`>" 19 echo "SIG is <$SIG>" 20 echo "KEY is <$KEY>" 21 exit 1 22 ;; 23 esac 24 ;; 25 *) 26 CONFIG_ARGS="$@" 27 ;; 28esac 29 30#set -e 31#set -x 32 33# scripts/cvo.sh invokes config.guess, and we want it to use the copy 34# in the top directory (alongside build) if there's not another 35# config.guess earlier on the path, so we invoke it using env to append 36# . to the PATH. 37 38CVO=`env PATH="$PATH:." scripts/cvo.sh @cvo@` 39case "$CVO" in 40 *-*-*-*) "echo scripts/cvo.sh returned <$CVO>, which makes no sense to me." 41 exit 1 42 ;; 43 *-*-*) ;; 44 *) echo "scripts/cvo.sh returned <$CVO>, which makes no sense to me." 45 exit 1 46 ;; 47esac 48 49case "$IAM" in 50 *.udel.edu) 51 BASEDIR=A.$MYNAME 52 CONFIG_ARGS="$CONFIG_ARGS --enable-local-libopts" 53 case "$CVO" in 54 *-*-ultrix*) 55 CONFIG_ARGS="$CONFIG_ARGS --with-libregex=/usr/local" 56 ;; 57 esac 58 ;; 59 *) 60 BASEDIR=A.$CVO 61 ;; 62esac 63 64KEYSUF="" 65 66case "$CONFIG_ARGS" in 67 *--with-crypto=autokey*) 68 KEYSUF="-autokey" 69 ;; 70 *--without-crypto*) 71 KEYSUF="-noopenssl" 72 ;; 73esac 74 75case "$CONFIG_ARGS" in 76 *--disable-all-clocks*) 77 KEYSUF="$KEYSUF-no-refclocks" 78 ;; 79esac 80 81case "$CONFIG_ARGS" in 82 *--disable-debugging*) 83 KEYSUF="$KEYSUF-nodebug" 84 ;; 85esac 86 87CCSUF="" 88 89case "$CC" in 90 '') ;; 91 *) CCSUF="-$CC" 92 ;; 93esac 94 95BDIR="$BASEDIR$KEYSUF$CCSUF" 96 97[ -d "$BDIR" ] || mkdir $BDIR 98[ -f "$BDIR/.buildcvo" ] || echo $CVO > $BDIR/.buildcvo 99[ -f "$BDIR/.buildhost" ] || echo $IAM > $BDIR/.buildhost 100 101 102cd $BDIR 103 104# 105# Make sure we have a nice that works. 106# To disable use of nice make a dummy nice script such 107# as the heredoc a few lines below and set BNICE to its 108# path. 109# 110# 111nice true && NICEB=nice 112nice true || { 113 NICEB=./.nicebuild-$MYNAME-$SIG 114 cat > .nicebuild-$MYNAME-$SIG <<-HEREDOC 115 #! /bin/sh 116 shift 117 \$* 118HEREDOC 119 chmod +x .nicebuild-$MYNAME-$SIG 120} 121 122 123( 124[ -f config.status ] || $NICEB -7 ../configure \ 125 --cache-file=../config.cache-$IAM \ 126 $CONFIG_ARGS 127 128$NICEB -5 ./config.status 129 130case "$MAKE" in 131 '') $NICEB -14 make && $NICEB -10 make check 132 ;; 133 *) $NICEB -14 $MAKE && $NICEB -10 $MAKE check 134 ;; 135esac 136) > $LOGF 2>&1 137 138 139# clean up if we made a dummy nice script 140[ -f .nicebuild-$MYNAME-$SIG ] && rm .nicebuild-$MYNAME-$SIG 141