Annotation of embedaddon/ntp/build, revision 1.1
1.1 ! misho 1: #! /bin/sh
! 2:
! 3: LOGF=make.log
! 4: IAM=`hostname || uname -n`
! 5: MYNAME=`IFS=. ; set $IAM ; echo $1`
! 6: SIG=
! 7:
! 8: case "$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: ;;
! 28: esac
! 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:
! 38: CVO=`env PATH="$PATH:." scripts/cvo.sh @cvo@`
! 39: case "$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: ;;
! 47: esac
! 48:
! 49: case "$NTP_BDIR" in
! 50: '')
! 51: case "$IAM" in
! 52: *.ntp.org)
! 53: NTP_BDIR=host
! 54: ;;
! 55: *.udel.edu)
! 56: NTP_BDIR=host
! 57: # HMS: --enable-local-libopts is the default now...
! 58: #CONFIG_ARGS="$CONFIG_ARGS --enable-local-libopts"
! 59: case "$CVO" in
! 60: *-*-ultrix*)
! 61: CONFIG_ARGS="$CONFIG_ARGS --with-libregex=/usr/local"
! 62: ;;
! 63: esac
! 64: ;;
! 65: *)
! 66: NTP_BDIR=cvo
! 67: ;;
! 68: esac
! 69: ;;
! 70: esac
! 71:
! 72: case "$NTP_BDIR" in
! 73: host)
! 74: BASEDIR=A.$MYNAME
! 75: ;;
! 76: cvo)
! 77: BASEDIR=A.$CVO
! 78: ;;
! 79: *)
! 80: echo "build: NTP_BDIR must be either 'cvo' or 'host'!" 1>&2
! 81: exit 1
! 82: ;;
! 83: esac
! 84:
! 85: KEYSUF=""
! 86:
! 87: case "$CONFIG_ARGS" in
! 88: *--with-crypto=autokey*)
! 89: KEYSUF="-autokey"
! 90: ;;
! 91: *--without-crypto*)
! 92: KEYSUF="-noopenssl"
! 93: ;;
! 94: esac
! 95:
! 96: case "$CONFIG_ARGS" in
! 97: *--disable-all-clocks*)
! 98: KEYSUF="$KEYSUF-no-refclocks"
! 99: ;;
! 100: esac
! 101:
! 102: case "$CONFIG_ARGS" in
! 103: *--disable-debugging*)
! 104: KEYSUF="$KEYSUF-nodebug"
! 105: ;;
! 106: esac
! 107:
! 108: case "$CC" in
! 109: '')
! 110: CCSUF=""
! 111: ;;
! 112: *)
! 113: CCSUF="-`echo $CC | sed -e 's: :_:g' -e's:/:+:g'`"
! 114: ;;
! 115: esac
! 116:
! 117: BDIR="$BASEDIR$KEYSUF$CCSUF"
! 118:
! 119: [ -d "$BDIR" ] || mkdir $BDIR
! 120: [ -f "$BDIR/.buildcvo" ] || echo $CVO > $BDIR/.buildcvo
! 121: [ -f "$BDIR/.buildhost" ] || echo $IAM > $BDIR/.buildhost
! 122:
! 123:
! 124: cd $BDIR
! 125:
! 126: #
! 127: # Make sure we have a nice that works.
! 128: # To disable use of nice, setenv NO_NICE_BUILD=1
! 129: #
! 130: NICEB=
! 131: [ "$NO_NICE_BUILD" != "1" ] && nice true && NICEB=nice
! 132: [ -z "$NICEB" ] && {
! 133: NICEB="./.nicebuild-$MYNAME-$SIG"
! 134: cat > $NICEB <<-HEREDOC
! 135: #! /bin/sh
! 136: shift
! 137: \$*
! 138: HEREDOC
! 139: chmod +x $NICEB
! 140: }
! 141:
! 142: #
! 143: # Find a test which supports -nt, unlike Solaris /bin/sh builtin.
! 144: #
! 145: TEST="${TEST-}"
! 146: if [ -z "$TEST" ] ; then
! 147: for try in test /bin/test /usr/bin/test ; do
! 148: case `$try config.status -nt ../configure 2>&1` in
! 149: '')
! 150: TEST="$try"
! 151: # echo "Using $TEST"
! 152: break
! 153: ;;
! 154: esac
! 155: done
! 156: if [ -z "$TEST" ] ; then
! 157: echo "build: need help finding test binary" 1>&2
! 158: exit 1
! 159: fi
! 160: fi
! 161:
! 162: CONFIGURE="../configure --cache-file=../config.cache-$IAM$CCSUF $CONFIG_ARGS"
! 163:
! 164: ( # This sequence of commands is logged to make.log.
! 165: # If config.status is newer than ../configure, and the same
! 166: # is true for sntp, we do not need to re-run configure.
! 167: # Solaris /bin/sh doesn't grok -nt.
! 168:
! 169: ( "$TEST" config.status -nt ../configure &&
! 170: $TEST sntp/config.status -nt ../sntp/configure ) ||
! 171: "$NICEB" -7 $CONFIGURE
! 172: "$NICEB" -5 ./config.status &&
! 173: ( cd sntp && "$NICEB" -5 ./config.status ) &&
! 174: "$NICEB" -14 ${MAKE-make} &&
! 175: "$NICEB" -11 ${MAKE-make} check
! 176: ) > $LOGF 2>&1
! 177:
! 178: EXITCODE=$?
! 179:
! 180: # clean up if we made a dummy nice script
! 181: case "$NICEB" in
! 182: nice)
! 183: ;;
! 184: *)
! 185: rm "$NICEB"
! 186: ;;
! 187: esac
! 188:
! 189: exit $EXITCODE
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>