bootstrap revision 1.1.1.2 1 #! /bin/sh
2
3 # This "bootstrap" script performs various pre-autoreconf actions
4 # that are required after pulling fresh sources from the repository.
5 #
6 # --force is supported and will be passed to autoreconf
7 #
8 # NOTE: THE NTP VERSION NUMBER COMES FROM packageinfo.sh
9 #
10 # all other instances of it anywhere in the source base have propagated
11 # from this one source.
12 #
13 # To use the raw sources from the repository, you must have the following
14 # tools available to you:
15 #
16 # 1. Autoconf and Automake.
17 #
18 # 2. lynx. This is used to extract the COPYRIGHT file extracted from
19 # the html documentation.
20 #
21 # *** The following are no longer needed for simple builds from the repo
22 # 3. AutoGen. The repository does *not* contain the files generated from
23 # the option definition files and it does not contain the libopts
24 # tear-off/redistributable library.
25 #
26 # Note: AutoGen needs GNU Guile.
27 #
28 # 4. gunzip. The tear-off library is a gzipped tarball.
29
30 set -e
31
32 scripts/genver || { echo scripts/genver failed ; exit 1; }
33
34 # autoreconf says:
35 # The environment variables AUTOCONF, AUTOHEADER, AUTOMAKE, ACLOCAL,
36 # AUTOPOINT, LIBTOOLIZE, M4 are honored.
37
38 AUTORECONF=${AUTORECONF:-autoreconf}
39
40 case `hostname` in
41 pogo.udel.edu)
42 if fgrep -q 4.2.4 version.m4; then
43 AUTOCONF=autoconf-2.59
44 AUTOHEADER=autoheader-2.59
45 AUTOMAKE=automake-1.9
46 ACLOCAL=aclocal-1.9
47 export AUTOCONF AUTOHEADER AUTOMAKE ACLOCAL
48 fi
49 ;;
50 esac
51
52 # 20060629: HMS: Let's try checking in libopts and the autogen-generated files
53 ## The copy for ntp...
54 #rm -rf libopts*
55 #gunzip -c $(autoopts-config --libsrc) | (
56 # tar -xvf -
57 # mv libopts-*.*.* libopts )
58
59 ## The copy for sntp...
60 #rm -rf sntp/libopts*
61 #gunzip -c $(autoopts-config --libsrc) | (
62 # cd sntp
63 # tar -xvf -
64 # mv libopts-*.*.* libopts )
65
66 def_files=`find [B-Za-z]* -type f -name '*.def' -print | fgrep -v /SCCS/`
67 prog_opt_files=`grep -l '^prog.name' $def_files`
68
69 ## AutoGen stuff
70
71 #incdir=${PWD}/include
72
73 #for f in ${prog_opt_files}
74 #do
75 # ( cd $(dirname ${f})
76 # echo "Running autogen on $f..."
77 # autogen -L${incdir} $(basename ${f})
78 # ) || exit 1
79 #done
80
81 ## Non-AutoGen stuff
82
83 for i in autogen-version.def version.def version.texi
84 do
85 cmp -s include/$i sntp/$i || cp -fp include/$i sntp/$i
86 done
87
88 # touch the stuff generated by the opt files
89
90 for f in ${prog_opt_files}
91 do
92 f=`echo $f | sed -e 's/-opts.def//'`
93 l=
94 lh=
95 for i in `ls -1 $f*`
96 do
97 case "$i" in
98 *.c|*.h|*.1|*.texi|*.menu)
99 l="$l $i"
100 ;;
101 *.html)
102 lh="$lh $i"
103 ;;
104 esac
105 done
106 case "$l:$lh" in
107 ':') ;;
108 *) touch $l $lh
109 ;;
110 esac
111 done
112
113 ## EOAutoGen stuff
114
115 # Yacc/bison files ntp_parser.[ch] so we don't require the tool if
116 # ntp_parser.y hasn't been updated. At the same time, keyword-gen-utd
117 # and ntp_keyword.h which are derived from ntp_parser.h and
118 # keyword-gen.c.
119
120 touch ntpd/ntp_parser.[ch] ntpd/keyword-gen-utd ntpd/ntp_keyword.h
121
122 cp bincheck.mf sntp/
123 cp depsver.mf sntp/
124
125 ${AUTORECONF} -i -v --no-recursive "$@"
126
127 # DH: 20101120: We are back to a single copy of libopts, and
128 # once again it seems we need to run autoreconf in sntp after
129 # the top-level run to get a correct sntp/libopts/Makefile.in.
130 # To reduce redundancy, the top-level autoreconf uses --no-recursive.
131 #
132 # HMS: 20060618: Now that we use separate copies of libopts
133 # we should only need the previous line.
134 #
135 ## HMS: 20060615: the next line seems to be needed to make sure
136 ## we get the correct srcdir path in sntp/libopts/Makefile.in
137 #rm -rf sntp/autom4te.cache
138 #
139 (cd sntp && ${AUTORECONF} -i -v "$@")
140