xref: /netbsd-src/external/bsd/ntp/dist/build (revision daf6c4152fcddc27c445489775ed1f66ab4ea9a9)
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