diff options
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/ChangeLog | 5 | ||||
-rwxr-xr-x | scripts/autogen.sh | 56 |
2 files changed, 59 insertions, 2 deletions
diff --git a/scripts/ChangeLog b/scripts/ChangeLog index dc6c227b7..a23ef5c70 100644 --- a/scripts/ChangeLog +++ b/scripts/ChangeLog @@ -1,3 +1,8 @@ +2001-01-18 Werner Koch <[email protected]> + + * autogen.sh: New options --build-w32 + * build-w32: Does now call autogen.sh + 2000-11-24 Werner Koch <[email protected]> * build-w32: New script to build the W32 version. 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; }'); |