#! /bin/sh # This "bootstrap" script performs various pre-autoreconf actions # that are required after pulling fresh sources from the repository. # # --force is supported and will be passed to autoreconf # # NOTE: THE NTP VERSION NUMBER COMES FROM packageinfo.sh # # all other instances of it anywhere in the source base have propagated # from this one source. # # To use the raw sources from the repository, you must have the following # tools available to you: # # 1. Autoconf and Automake. # # 2. lynx. This is used to extract the COPYRIGHT file extracted from # the html documentation. # # *** The following are no longer needed for simple builds from the repo # 3. AutoGen. The repository does *not* contain the files generated from # the option definition files and it does not contain the libopts # tear-off/redistributable library. # # Note: AutoGen needs GNU Guile. # # 4. gunzip. The tear-off library is a gzipped tarball. set -e scripts/genver || { echo scripts/genver failed ; exit 1; } # autoreconf says: # The environment variables AUTOCONF, AUTOHEADER, AUTOMAKE, ACLOCAL, # AUTOPOINT, LIBTOOLIZE, M4 are honored. AUTORECONF=${AUTORECONF:-autoreconf} case `hostname` in pogo.udel.edu) if fgrep -q 4.2.4 version.m4; then AUTOCONF=autoconf-2.59 AUTOHEADER=autoheader-2.59 AUTOMAKE=automake-1.9 ACLOCAL=aclocal-1.9 export AUTOCONF AUTOHEADER AUTOMAKE ACLOCAL fi ;; esac # 20060629: HMS: Let's try checking in libopts and the autogen-generated files ## The copy for ntp... #rm -rf libopts* #gunzip -c $(autoopts-config --libsrc) | ( # tar -xvf - # mv libopts-*.*.* libopts ) ## The copy for sntp... #rm -rf sntp/libopts* #gunzip -c $(autoopts-config --libsrc) | ( # cd sntp # tar -xvf - # mv libopts-*.*.* libopts ) def_files=`find [B-Za-z]* -type f -name '*.def' -print | fgrep -v /SCCS/` prog_opt_files=`grep -l '^prog.name' $def_files` ## AutoGen stuff #incdir=${PWD}/include #for f in ${prog_opt_files} #do # ( cd $(dirname ${f}) # echo "Running autogen on $f..." # autogen -L${incdir} $(basename ${f}) # ) || exit 1 #done ## Non-AutoGen stuff for i in autogen-version.def version.def version.texi do cmp -s include/$i sntp/$i || cp -fp include/$i sntp/$i done # touch the stuff generated by the opt files for f in ${prog_opt_files} do f=`echo $f | sed -e 's/-opts.def//'` l= lh= for i in `ls -1 $f*` do case "$i" in *.c|*.h|*.1|*.texi|*.menu) l="$l $i" ;; *.html) lh="$lh $i" ;; esac done case "$l:$lh" in ':') ;; *) touch $l $lh ;; esac done ## EOAutoGen stuff # Yacc/bison files ntp_parser.[ch] so we don't require the tool if # ntp_parser.y hasn't been updated. At the same time, keyword-gen-utd # and ntp_keyword.h which are derived from ntp_parser.h and # keyword-gen.c. touch ntpd/ntp_parser.[ch] ntpd/keyword-gen-utd ntpd/ntp_keyword.h cp bincheck.mf sntp/ cp depsver.mf sntp/ ${AUTORECONF} -i -v --no-recursive "$@" # DH: 20101120: We are back to a single copy of libopts, and # once again it seems we need to run autoreconf in sntp after # the top-level run to get a correct sntp/libopts/Makefile.in. # To reduce redundancy, the top-level autoreconf uses --no-recursive. # # HMS: 20060618: Now that we use separate copies of libopts # we should only need the previous line. # ## HMS: 20060615: the next line seems to be needed to make sure ## we get the correct srcdir path in sntp/libopts/Makefile.in #rm -rf sntp/autom4te.cache # (cd sntp && ${AUTORECONF} -i -v "$@")