Home | History | Annotate | Download | only in cpp
      1 #!/bin/sh
      2 
      3 # Before using, you should figure out all the .m4 macros that your
      4 # configure.m4 script needs and make sure they exist in the m4/
      5 # directory.
      6 #
      7 # These are the files that this script might edit:
      8 #    aclocal.m4 configure Makefile.in src/config.h.in \
      9 #    depcomp config.guess config.sub install-sh missing mkinstalldirs \
     10 #    ltmain.sh
     11 #
     12 # Here's a command you can run to see what files aclocal will import:
     13 #  aclocal -I ../autoconf --output=- | sed -n 's/^m4_include..\([^]]*\).*/\1/p'
     14 
     15 set -ex
     16 rm -rf autom4te.cache
     17 
     18 trap 'rm -f aclocal.m4.tmp' EXIT
     19 
     20 # Returns the first binary in $* that exists, or the last arg, if none exists.
     21 WhichOf() {
     22   for candidate in "$@"; do
     23     if "$candidate" --version >/dev/null 2>&1; then
     24       echo "$candidate"
     25       return
     26     fi
     27   done
     28   echo "$candidate"   # the last one in $@
     29 }
     30 
     31 # Use version 1.9 of aclocal and automake if available.
     32 ACLOCAL=`WhichOf aclocal-1.9 aclocal`
     33 AUTOMAKE=`WhichOf automake-1.9 automake`
     34 LIBTOOLIZE=`WhichOf glibtoolize libtoolize15 libtoolize14 libtoolize`
     35 
     36 # aclocal tries to overwrite aclocal.m4 even if the contents haven't
     37 # changed, which is annoying when the file is not open for edit (in
     38 # p4).  We work around this by writing to a temp file and just
     39 # updating the timestamp if the file hasn't change.
     40 "$ACLOCAL" --force -I m4 --output=aclocal.m4.tmp
     41 if cmp aclocal.m4.tmp aclocal.m4; then
     42   touch aclocal.m4               # pretend that we regenerated the file
     43   rm -f aclocal.m4.tmp
     44 else
     45   mv aclocal.m4.tmp aclocal.m4   # we did set -e above, so we die if this fails
     46 fi
     47 
     48 grep -q '^[^#]*AC_PROG_LIBTOOL' configure.ac && "$LIBTOOLIZE" -c -f
     49 autoconf -f -W all,no-obsolete
     50 autoheader -f -W all
     51 "$AUTOMAKE" -a -c -f -W all
     52 
     53 rm -rf autom4te.cache
     54 exit 0
     55