diff options
Diffstat (limited to 'scripts/autogen.sh')
-rwxr-xr-x | scripts/autogen.sh | 56 |
1 files changed, 54 insertions, 2 deletions
diff --git a/scripts/autogen.sh b/scripts/autogen.sh index e1ed0f645..07a1f5903 100755 --- a/scripts/autogen.sh +++ b/scripts/autogen.sh @@ -2,12 +2,64 @@ # Run this to generate all the initial makefiles, etc. PGM=GnuPG -DIE=no - +lib_config_files="" autoconf_vers=2.13 automake_vers=1.4 aclocal_vers=1.4 + +DIE=no +if test "$1" = "--build-w32"; then + shift + target=i386--mingw32 + if [ ! -f scripts/config.guess ]; then + echo "scripts/config.guess not found" >&2 + exit 1 + fi + host=`scripts/config.guess` + + if ! mingw32 --version >/dev/null; then + echo "We need at least version 0.3 of MingW32/CPD" >&2 + exit 1 + fi + + if [ -f config.h ]; then + if grep HAVE_DOSISH_SYSTEM config.h | grep undef >/dev/null; then + echo "Pease run a 'make distclean' first" >&2 + exit 1 + fi + fi + + crossbindir=`mingw32 --install-dir`/bin + CC=`mingw32 --get-path gcc` + CPP=`mingw32 --get-path cpp` + AR=`mingw32 --get-path ar` + RANLIB=`mingw32 --get-path ranlib` + export CC CPP AR RANLIB + + disable_foo_tests="" + if [ -n "$lib_config_files" ]; then + for i in $lib_config_files; do + j=`echo $i | tr '[a-z-]' '[A-Z_]'` + eval "$j=${crossbindir}/$i" + export $j + disable_foo_tests="$disable_foo_tests --disable-`echo $i| \ + sed 's,-config$,,'`-test" + if [ ! -f "${crossbindir}/$i" ]; then + echo "$i not installed for MingW32" >&2 + DIE=yes + fi + done + fi + [ $DIE = yes ] && exit 1 + + ./configure --host=${host} --target=${target} \ + ${disable_foo_tests} $* + exit $? +fi + + + if (autoconf --version) < /dev/null > /dev/null 2>&1 ; then if (autoconf --version | awk 'NR==1 { if( $3 >= '$autoconf_vers') \ exit 1; exit 0; }'); |