| #!/bin/sh |
| |
| # Before using, you should figure out all the .m4 macros that your |
| # configure.m4 script needs and make sure they exist in the m4/ |
| # directory. |
| # |
| # These are the files that this script might edit: |
| # aclocal.m4 configure Makefile.in src/config.h.in \ |
| # depcomp config.guess config.sub install-sh missing mkinstalldirs \ |
| # ltmain.sh |
| # |
| # Here's a command you can run to see what files aclocal will import: |
| # aclocal -I ../autoconf --output=- | sed -n 's/^m4_include..\([^]]*\).*/\1/p' |
| |
| set -ex |
| rm -rf autom4te.cache |
| |
| trap 'rm -f aclocal.m4.tmp' EXIT |
| |
| # Returns the first binary in $* that exists, or the last arg, if none exists. |
| WhichOf() { |
| for candidate in "$@"; do |
| if "$candidate" --version >/dev/null 2>&1; then |
| echo "$candidate" |
| return |
| fi |
| done |
| echo "$candidate" # the last one in $@ |
| } |
| |
| # Use version 1.9 of aclocal and automake if available. |
| ACLOCAL=`WhichOf aclocal-1.9 aclocal` |
| AUTOMAKE=`WhichOf automake-1.9 automake` |
| LIBTOOLIZE=`WhichOf glibtoolize libtoolize15 libtoolize14 libtoolize` |
| |
| # aclocal tries to overwrite aclocal.m4 even if the contents haven't |
| # changed, which is annoying when the file is not open for edit (in |
| # p4). We work around this by writing to a temp file and just |
| # updating the timestamp if the file hasn't change. |
| "$ACLOCAL" --force -I m4 --output=aclocal.m4.tmp |
| if cmp aclocal.m4.tmp aclocal.m4; then |
| touch aclocal.m4 # pretend that we regenerated the file |
| rm -f aclocal.m4.tmp |
| else |
| mv aclocal.m4.tmp aclocal.m4 # we did set -e above, so we die if this fails |
| fi |
| |
| grep -q '^[^#]*AC_PROG_LIBTOOL' configure.ac && "$LIBTOOLIZE" -c -f |
| autoconf -f -W all,no-obsolete |
| autoheader -f -W all |
| "$AUTOMAKE" -a -c -f -W all |
| |
| rm -rf autom4te.cache |
| exit 0 |