Fix for issue8089: a framework build with --with-universal-archs=3-way|intel had no way to select
a 32-bit executable (which is needed because not all (GUI) libraries are available in 64-bit mode)
Also fixes a typo in Mac/README
diff --git a/configure.in b/configure.in
index 84035de..e7cbd67 100644
--- a/configure.in
+++ b/configure.in
@@ -111,6 +111,10 @@
AC_SUBST(ARCH_RUN_32BIT)
UNIVERSAL_ARCHS="32-bit"
+AC_SUBST(LIPO_32BIT_FLAGS)
+AC_SUBST(LIPO_64BIT_FLAGS)
+AC_SUBST(UNIVERSAL_ARCH32_FLAGS)
+AC_SUBST(UNIVERSAL_ARCH64_FLAGS)
AC_MSG_CHECKING(for --with-universal-archs)
AC_ARG_WITH(universal-archs,
AC_HELP_STRING(--with-universal-archs=ARCH, select architectures for universal build ("32-bit", "64-bit", "3-way", "intel" or "all")),
@@ -176,14 +180,16 @@
PYTHONFRAMEWORKINSTALLDIR=$PYTHONFRAMEWORKPREFIX/$PYTHONFRAMEWORKDIR
FRAMEWORKINSTALLFIRST="frameworkinstallstructure"
FRAMEWORKALTINSTALLFIRST="frameworkinstallstructure bininstall maninstall"
- if test "$UNIVERSAL_ARCHS" = "all"
- then
+ case "${UNIVERSAL_ARCHS}" in
+ all|3-way|intel)
FRAMEWORKINSTALLLAST="frameworkinstallmaclib frameworkinstallapps4way frameworkinstallunixtools4way"
FRAMEWORKALTINSTALLLAST="frameworkinstallmaclib frameworkinstallapps4way frameworkaltinstallunixtools4way"
- else
+ ;;
+ *)
FRAMEWORKINSTALLLAST="frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools"
FRAMEWORKALTINSTALLLAST="frameworkinstallmaclib frameworkinstallapps frameworkaltinstallunixtools"
- fi
+ ;;
+ esac
if test "x${prefix}" = "xNONE" ; then
FRAMEWORKUNIXTOOLSPREFIX="${ac_default_prefix}"
@@ -947,28 +953,39 @@
# -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=""
+ UNIVERSAL_ARCH_FLAGS="-arch ppc -arch i386"
elif test "$UNIVERSAL_ARCHS" = "64-bit" ; then
- UNIVERSAL_ARCH_FLAGS="-arch ppc64 -arch x86_64"
ARCH_RUN_32BIT="true"
+ UNIVERSAL_ARCH_FLAGS="-arch ppc64 -arch x86_64"
elif test "$UNIVERSAL_ARCHS" = "all" ; then
- UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch ppc64 -arch x86_64"
ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc"
+ UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch ppc64 -arch x86_64"
+ UNIVERSAL_ARCH32_FLAGS="-arch i386 -arch ppc"
+ UNIVERSAL_ARCH64_FLAGS="-arch x86_64 -arch x86_64"
+ LIPO_32BIT_FLAGS="-extract i386 -extract ppc7400"
+ LIPO_64BIT_FLAGS="-extract x86_64 -extract ppc64"
elif test "$UNIVERSAL_ARCHS" = "intel" ; then
- UNIVERSAL_ARCH_FLAGS="-arch i386 -arch x86_64"
ARCH_RUN_32BIT="/usr/bin/arch -i386"
+ UNIVERSAL_ARCH_FLAGS="-arch i386 -arch x86_64"
+ UNIVERSAL_ARCH32_FLAGS="-arch i386"
+ UNIVERSAL_ARCH64_FLAGS="-arch x86_64"
+ LIPO_32BIT_FLAGS="-extract i386"
+ LIPO_64BIT_FLAGS="-extract x86_64"
elif test "$UNIVERSAL_ARCHS" = "3-way" ; then
- UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch x86_64"
ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc"
+ UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch x86_64"
+ UNIVERSAL_ARCH32_FLAGS="-arch i386 -arch ppc"
+ UNIVERSAL_ARCH64_FLAGS="-arch x86_64"
+ LIPO_32BIT_FLAGS="-extract i386 -extract ppc7400"
+ LIPO_64BIT_FLAGS="-extract x86_64"
else
AC_MSG_ERROR([proper usage is --with-universal-arch=32-bit|64-bit|all|intel|3-way])