Jerome Poichet | 7c99785 | 2014-05-20 10:50:05 -0700 | [diff] [blame^] | 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 |