summaryrefslogtreecommitdiffstats
path: root/configure.in
diff options
context:
space:
mode:
authorRonald Oussoren <ronaldoussoren@mac.com>2006-04-29 11:31:35 (GMT)
committerRonald Oussoren <ronaldoussoren@mac.com>2006-04-29 11:31:35 (GMT)
commit988117fd6323c2b21ce1bdb2b1153a5d759a511c (patch)
treeaaa34f841b7ce55329e960a7dad8567fd027fdf9 /configure.in
parentf674939a2b94f5ef7c448b559ea3ef2734b01c9f (diff)
downloadcpython-988117fd6323c2b21ce1bdb2b1153a5d759a511c.zip
cpython-988117fd6323c2b21ce1bdb2b1153a5d759a511c.tar.gz
cpython-988117fd6323c2b21ce1bdb2b1153a5d759a511c.tar.bz2
Patch 1471883: --enable-universalsdk on Mac OS X
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in60
1 files changed, 59 insertions, 1 deletions
diff --git a/configure.in b/configure.in
index c303445..e2dae9d 100644
--- a/configure.in
+++ b/configure.in
@@ -60,6 +60,29 @@ define_xopen_source=yes
AC_SUBST(CONFIG_ARGS)
CONFIG_ARGS="$ac_configure_args"
+AC_ARG_ENABLE(universalsdk,
+ AC_HELP_STRING(--enable-universalsdk@<:@SDKDIR@:>@, Build agains Mac OS X 10.4u SDK (ppc/i386)),
+[
+ case $enableval in
+ yes)
+ enableval=/Developer/SDKs/MacOSX10.4u.sdk
+ ;;
+ esac
+ case $enableval in
+ no)
+ UNIVERSALSDK=
+ enable_universalsdk=
+ ;;
+ *)
+ UNIVERSALSDK=$enableval
+ ;;
+ esac
+],[
+ UNIVERSALSDK=
+ enable_universalsdk=
+])
+AC_SUBST(UNIVERSALSDK)
+
dnl quadrigraphs "@<:@" and "@:>@" produce "[" and "]" in the output
AC_ARG_ENABLE(framework,
AC_HELP_STRING(--enable-framework@<:@=INSTALLDIR@:>@, Build (MacOSX|Darwin) framework),
@@ -258,7 +281,9 @@ AC_MSG_RESULT($EXTRAPLATDIR)
# it may influence the way we can build extensions, so distutils
# needs to check it
AC_SUBST(CONFIGURE_MACOSX_DEPLOYMENT_TARGET)
+AC_SUBST(EXPORT_MACOSX_DEPLOYMENT_TARGET)
CONFIGURE_MACOSX_DEPLOYMENT_TARGET=
+EXPORT_MACOSX_DEPLOYMENT_TARGET='#'
# checks for alternative programs
@@ -740,6 +765,10 @@ yes)
# is there any other compiler on Darwin besides gcc?
Darwin*)
BASECFLAGS="$BASECFLAGS -Wno-long-double -no-cpp-precomp -mno-fused-madd"
+ if test "${enable_universalsdk}"; then
+ BASECFLAGS="-arch ppc -arch i386 -isysroot ${UNIVERSALSDK} ${BASECFLAGS}"
+ fi
+
;;
OSF*)
BASECFLAGS="$BASECFLAGS -mieee"
@@ -1263,7 +1292,12 @@ esac
AC_SUBST(LIBTOOL_CRUFT)
case $ac_sys_system/$ac_sys_release in
Darwin/@<:@01567@:>@\..*)
- LIBTOOL_CRUFT="-framework System -lcc_dynamic -arch_only `arch`"
+ LIBTOOL_CRUFT="-framework System -lcc_dynamic"
+ if test "${enable_universalsdk}"; then
+ :
+ else
+ LIBTOOL_CRUFT="${LIBTOOL_CRUFT} -arch_only `arch`"
+ fi
LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION) -current_version $(VERSION)';;
Darwin/*)
@@ -1386,9 +1420,16 @@ then
# Use -undefined dynamic_lookup whenever possible (10.3 and later).
# This allows an extension to be used in any Python
cur_target=`sw_vers -productVersion | sed 's/\(10\.[[0-9]]*\).*/\1/'`
+ if test ${cur_target} '>' 10.2; then
+ cur_target=10.3
+ fi
CONFIGURE_MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET-${cur_target}}
+ EXPORT_MACOSX_DEPLOYMENT_TARGET=''
if test ${MACOSX_DEPLOYMENT_TARGET-${cur_target}} '>' 10.2
then
+ if test "${enable_universalsdk}"; then
+ LDFLAGS="-arch i386 -arch ppc -isysroot ${UNIVERSALSDK} ${LDFLAGS}"
+ fi
LDSHARED='$(CC) $(LDFLAGS) -bundle -undefined dynamic_lookup'
BLDSHARED="$LDSHARED"
else
@@ -2873,6 +2914,23 @@ fi
# check for endianness
AC_C_BIGENDIAN
+AH_VERBATIM([WORDS_BIGENDIAN],
+[
+ /* Define to 1 if your processor stores words with the most significant byte
+ first (like Motorola and SPARC, unlike Intel and VAX).
+
+ The block below does compile-time checking for endianness on platforms
+ that use GCC and therefore allows compiling fat binaries on OSX by using
+ '-arch ppc -arch i386' as the compile flags. The phrasing was choosen
+ such that the configure-result is used on systems that don't use GCC.
+ */
+#ifdef __BIG_ENDIAN__
+#define WORDS_BIGENDIAN 1
+#else
+#ifndef __LITTLE_ENDIAN__
+#undef WORDS_BIGENDIAN
+#endif
+#endif])
# Check whether right shifting a negative integer extends the sign bit
# or fills with zeros (like the Cray J90, according to Tim Peters).