Home | History | Annotate | Line # | Download | only in dist
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