diff options
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 131 |
1 files changed, 89 insertions, 42 deletions
diff --git a/configure.in b/configure.in index 7070a42..16a743e 100644 --- a/configure.in +++ b/configure.in @@ -307,6 +307,8 @@ case $ac_sys_system/$ac_sys_release in # has no effect, don't bother defining them Darwin/@<:@6789@:>@.*) define_xopen_source=no;; + Darwin/1@<:@0-9@:>@.*) + define_xopen_source=no;; # On AIX 4 and 5.1, mbstate_t is defined only when _XOPEN_SOURCE == 500 but # used in wcsnrtombs() and mbsnrtowcs() even if _XOPEN_SOURCE is not defined # or has another value. By not (re)defining it, the defaults come in place. @@ -935,46 +937,19 @@ yes) Darwin*) # -Wno-long-double, -no-cpp-precomp, and -mno-fused-madd # used to be here, but non-Apple gcc doesn't accept them. - - - if test "${enable_universalsdk}"; then - UNIVERSAL_ARCH_FLAGS="" - if test "$UNIVERSAL_ARCHS" = "32-bit" ; then - UNIVERSAL_ARCH_FLAGS="-arch ppc -arch i386" - ARCH_RUN_32BIT="" - LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" - - elif test "$UNIVERSAL_ARCHS" = "64-bit" ; then - UNIVERSAL_ARCH_FLAGS="-arch ppc64 -arch x86_64" - LIPO_32BIT_FLAGS="" - ARCH_RUN_32BIT="true" - - elif test "$UNIVERSAL_ARCHS" = "all" ; then - UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch ppc64 -arch x86_64" - LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" - ARCH_RUN_32BIT="arch -i386 -ppc" - - elif test "$UNIVERSAL_ARCHS" = "intel" ; then - UNIVERSAL_ARCH_FLAGS="-arch i386 -arch x86_64" - LIPO_32BIT_FLAGS="-extract i386" - ARCH_RUN_32BIT="arch -i386" - - elif test "$UNIVERSAL_ARCHS" = "3-way" ; then - UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch x86_64" - LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" - ARCH_RUN_32BIT="arch -i386 -ppc7400" - - else - AC_MSG_ERROR([proper usage is --with-universal-arch=32-bit|64-bit|all|intel|3-way]) - - fi - - - BASECFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${BASECFLAGS}" - tgt=`sw_vers -productVersion | sed 's/\(10\.[[0-9]]*\).*/\1/'` - if test "${UNIVERSALSDK}" != "/" -a "${tgt}" '>' '10.4' ; then - CFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${CFLAGS}" - fi + if test "${CC}" = gcc + then + AC_MSG_CHECKING(which compiler should be used) + case "${UNIVERSALSDK}" in + */MacOSX10.4u.sdk) + # Build using 10.4 SDK, force usage of gcc when the + # compiler is gcc, otherwise the user will get very + # confusing error messages when building on OSX 10.6 + CC=gcc-4.0 + CPP=cpp-4.0 + ;; + esac + AC_MSG_RESULT($CC) fi # Calculate the right deployment target for this build. @@ -1018,6 +993,78 @@ yes) export MACOSX_DEPLOYMENT_TARGET EXPORT_MACOSX_DEPLOYMENT_TARGET='' + if test "${enable_universalsdk}"; then + UNIVERSAL_ARCH_FLAGS="" + if test "$UNIVERSAL_ARCHS" = "32-bit" ; then + UNIVERSAL_ARCH_FLAGS="-arch ppc -arch i386" + ARCH_RUN_32BIT="" + LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" + + + # You have to use different flags on various versions of + # OSX to extract PPC code from an universal binary, basically + # '-arch ppc' on OSX 10.4 and '-arch ppc7400' on anything + # newer. + # Because '-arch pp7400' works on OSX 10.5 or higher this + # test is only present in the '32-bit' branch, all other + # branches require OSX 10.5 to compile. + + AC_MSG_CHECKING(lipo flag for extracting ppc code) + FN="test.$$" + cat >${FN}.c <<-EOF + int main() { return 0; } +EOF + ${CC} ${CFLAGS} -arch ppc -arch i386 -o ${FN} ${FN}.c -isysroot ${UNIVERSALSDK} + if test $? != 0 ; then + rm ${FN} ${FN}.c + AC_MSG_RESULT([failed, assumee -extract ppc7400]) + else + lipo -extract -output "${FN}.out" -arch ppc7400 "${FN}" 2>/dev/null + if test $? != 0 ; then + LIPO_32BIT_FLAGS="-extract ppc -extract i386" + AC_MSG_RESULT("'-extract ppc'") + else + AC_MSG_RESULT("'-extract ppc7400'") + fi + rm -f ${FN} ${FN}.c ${FN}.out + fi + + elif test "$UNIVERSAL_ARCHS" = "64-bit" ; then + UNIVERSAL_ARCH_FLAGS="-arch ppc64 -arch x86_64" + LIPO_32BIT_FLAGS="" + ARCH_RUN_32BIT="true" + + elif test "$UNIVERSAL_ARCHS" = "all" ; then + UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch ppc64 -arch x86_64" + LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" + ARCH_RUN_32BIT="arch -i386 -ppc" + + elif test "$UNIVERSAL_ARCHS" = "intel" ; then + UNIVERSAL_ARCH_FLAGS="-arch i386 -arch x86_64" + LIPO_32BIT_FLAGS="-extract i386" + ARCH_RUN_32BIT="arch -i386" + + elif test "$UNIVERSAL_ARCHS" = "3-way" ; then + UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch x86_64" + LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" + ARCH_RUN_32BIT="arch -i386 -ppc7400" + + else + AC_MSG_ERROR([proper usage is --with-universal-arch=32-bit|64-bit|all|intel|3-way]) + + fi + + + BASECFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${BASECFLAGS}" + tgt=`sw_vers -productVersion | sed 's/\(10\.[[0-9]]*\).*/\1/'` + if test "${UNIVERSALSDK}" != "/" -a "${tgt}" '>' '10.4' ; then + CFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${CFLAGS}" + CPPFLAGS="-isysroot ${UNIVERSALSDK}" + fi + + fi + + ;; OSF*) BASECFLAGS="$BASECFLAGS -mieee" @@ -1297,7 +1344,7 @@ sys/param.h sys/poll.h sys/select.h sys/socket.h sys/statvfs.h sys/stat.h \ sys/termio.h sys/time.h \ sys/times.h sys/types.h sys/un.h sys/utsname.h sys/wait.h pty.h libutil.h \ sys/resource.h netpacket/packet.h sysexits.h bluetooth.h \ -bluetooth/bluetooth.h linux/tipc.h) +bluetooth/bluetooth.h linux/tipc.h spawn.h util.h) AC_HEADER_DIRENT AC_HEADER_MAJOR @@ -1557,7 +1604,7 @@ case $ac_sys_system/$ac_sys_release in LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION) -current_version $(VERSION)';; Darwin/*) - gcc_version=`gcc -v 2>&1 | grep version | cut -d\ -f3` + gcc_version=`gcc -dumpversion` if test ${gcc_version} '<' 4.0 then LIBTOOL_CRUFT="-lcc_dynamic" |