summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Include/pyport.h2
-rw-r--r--Mac/Makefile.in1
-rw-r--r--Mac/Tools/pythonw.c35
-rw-r--r--Misc/NEWS6
-rw-r--r--Modules/posixmodule.c4
-rwxr-xr-xconfigure169
-rw-r--r--configure.in131
-rw-r--r--pyconfig.h.in6
8 files changed, 247 insertions, 107 deletions
diff --git a/Include/pyport.h b/Include/pyport.h
index 7c537a9..a6ddbee 100644
--- a/Include/pyport.h
+++ b/Include/pyport.h
@@ -627,7 +627,7 @@ extern char * _getpty(int *, int, mode_t, int);
#endif
#if defined(HAVE_OPENPTY) || defined(HAVE_FORKPTY)
-#if !defined(HAVE_PTY_H) && !defined(HAVE_LIBUTIL_H)
+#if !defined(HAVE_PTY_H) && !defined(HAVE_LIBUTIL_H) && !defined(HAVE_UTIL_H)
/* BSDI does not supply a prototype for the 'openpty' and 'forkpty'
functions, even though they are included in libutil. */
#include <termios.h>
diff --git a/Mac/Makefile.in b/Mac/Makefile.in
index 8c389ed..c66190c 100644
--- a/Mac/Makefile.in
+++ b/Mac/Makefile.in
@@ -16,6 +16,7 @@ FRAMEWORKUNIXTOOLSPREFIX=@FRAMEWORKUNIXTOOLSPREFIX@
PYTHONFRAMEWORK=@PYTHONFRAMEWORK@
PYTHONFRAMEWORKIDENTIFIER=@PYTHONFRAMEWORKIDENTIFIER@
LIPO_32BIT_FLAGS=@LIPO_32BIT_FLAGS@
+CC=@CC@
# These are normally glimpsed from the previous set
diff --git a/Mac/Tools/pythonw.c b/Mac/Tools/pythonw.c
index d7a86f2..991a738 100644
--- a/Mac/Tools/pythonw.c
+++ b/Mac/Tools/pythonw.c
@@ -6,16 +6,26 @@
*
* This program uses posix_spawn rather than plain execv because we need
* slightly more control over how the "real" interpreter is executed.
+ *
+ * On OSX 10.4 (and earlier) this falls back to using exec because the
+ * posix_spawnv functions aren't available there.
*/
+#pragma weak_import posix_spawnattr_init
+#pragma weak_import posix_spawnattr_setbinpref_np
+#pragma weak_import posix_spawnattr_setflags
+#pragma weak_import posix_spawn
+
+#include <Python.h>
#include <unistd.h>
+#ifdef HAVE_SPAWN_H
#include <spawn.h>
+#endif
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <err.h>
#include <dlfcn.h>
#include <stdlib.h>
-#include <Python.h>
extern char** environ;
@@ -74,6 +84,7 @@ static char* get_python_path(void)
return g_path;
}
+#ifdef HAVE_SPAWN_H
static void
setup_spawnattr(posix_spawnattr_t* spawnattr)
{
@@ -132,16 +143,28 @@ setup_spawnattr(posix_spawnattr_t* spawnattr)
/* NOTREACHTED */
}
}
+#endif
int
main(int argc, char **argv) {
- posix_spawnattr_t spawnattr = NULL;
char* exec_path = get_python_path();
+#ifdef HAVE_SPAWN_H
- setup_spawnattr(&spawnattr);
- posix_spawn(NULL, exec_path, NULL,
- &spawnattr, argv, environ);
- err(1, "posix_spawn: %s", argv[0]);
+ /* We're weak-linking to posix-spawnv to ensure that
+ * an executable build on 10.5 can work on 10.4.
+ */
+ if (posix_spawn != NULL) {
+ posix_spawnattr_t spawnattr = NULL;
+
+
+ setup_spawnattr(&spawnattr);
+ posix_spawn(NULL, exec_path, NULL,
+ &spawnattr, argv, environ);
+ err(1, "posix_spawn: %s", argv[0]);
+ }
+#endif
+ execve(exec_path, argv, environ);
+ err(1, "execve: %s", argv[0]);
/* NOTREACHED */
}
diff --git a/Misc/NEWS b/Misc/NEWS
index 7ff6420..9360f28 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -66,10 +66,14 @@ Library
Extension extra options may change the output without changing the .c
file). Initial patch by Collin Winter.
-
Build
-----
+- Issue #7658: Ensure that the new pythonw executable works on OSX 10.4
+
+- Issue #7714: Use ``gcc -dumpversion`` to detect the version of GCC on
+ MacOSX.
+
- Issue #7661: Allow ctypes to be built from a non-ASCII directory path.
Patch by Florent Xicluna.
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 76609ee..46053fe 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -3667,6 +3667,10 @@ posix_fork(PyObject *self, PyObject *noargs)
#else
#ifdef HAVE_LIBUTIL_H
#include <libutil.h>
+#else
+#ifdef HAVE_UTIL_H
+#include <util.h>
+#endif /* HAVE_UTIL_H */
#endif /* HAVE_LIBUTIL_H */
#endif /* HAVE_PTY_H */
#ifdef HAVE_STROPTS_H
diff --git a/configure b/configure
index 7b9da87..dffff12 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.in Revision: 77193 .
+# From configure.in Revision: 77212 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.61 for python 2.7.
#
@@ -2142,6 +2142,8 @@ _ACEOF
# 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.
@@ -3861,7 +3863,7 @@ else
{ echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6; }
fi
-rm -f conftest*
+rm -f -r conftest*
@@ -4685,7 +4687,63 @@ echo "${ECHO_T}$ac_cv_no_strict_aliasing_ok" >&6; }
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 "${CC}" = gcc
+ then
+ { echo "$as_me:$LINENO: checking which compiler should be used" >&5
+echo $ECHO_N "checking which compiler should be used... $ECHO_C" >&6; }
+ 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
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+ fi
+
+ # Calculate the right deployment target for this build.
+ #
+ cur_target=`sw_vers -productVersion | sed 's/\(10\.[0-9]*\).*/\1/'`
+ if test ${cur_target} '>' 10.2; then
+ cur_target=10.3
+ if test ${enable_universalsdk}; then
+ if test "${UNIVERSAL_ARCHS}" = "all"; then
+ # Ensure that the default platform for a
+ # 4-way universal build is OSX 10.5,
+ # that's the first OS release where
+ # 4-way builds make sense.
+ cur_target='10.5'
+
+ elif test "${UNIVERSAL_ARCHS}" = "3-way"; then
+ cur_target='10.5'
+
+ elif test "${UNIVERSAL_ARCHS}" = "intel"; then
+ cur_target='10.5'
+ elif test "${UNIVERSAL_ARCHS}" = "64-bit"; then
+ cur_target='10.5'
+ fi
+ else
+ if test `arch` = "i386"; then
+ # On Intel macs default to a deployment
+ # target of 10.4, that's the first OSX
+ # release with Intel support.
+ cur_target="10.4"
+ fi
+ fi
+ fi
+ CONFIGURE_MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET-${cur_target}}
+
+ # Make sure that MACOSX_DEPLOYMENT_TARGET is set in the
+ # environment with a value that is the same as what we'll use
+ # in the Makefile to ensure that we'll get the same compiler
+ # environment during configure and build time.
+ MACOSX_DEPLOYMENT_TARGET="$CONFIGURE_MACOSX_DEPLOYMENT_TARGET"
+ export MACOSX_DEPLOYMENT_TARGET
+ EXPORT_MACOSX_DEPLOYMENT_TARGET=''
if test "${enable_universalsdk}"; then
UNIVERSAL_ARCH_FLAGS=""
@@ -4694,6 +4752,39 @@ echo "${ECHO_T}$ac_cv_no_strict_aliasing_ok" >&6; }
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.
+
+ { echo "$as_me:$LINENO: checking lipo flag for extracting ppc code" >&5
+echo $ECHO_N "checking lipo flag for extracting ppc code... $ECHO_C" >&6; }
+ 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
+ { echo "$as_me:$LINENO: result: failed, assumee -extract ppc7400" >&5
+echo "${ECHO_T}failed, assumee -extract ppc7400" >&6; }
+ else
+ lipo -extract -output "${FN}.out" -arch ppc7400 "${FN}" 2>/dev/null
+ if test $? != 0 ; then
+ LIPO_32BIT_FLAGS="-extract ppc -extract i386"
+ { echo "$as_me:$LINENO: result: \"'-extract ppc'\"" >&5
+echo "${ECHO_T}\"'-extract ppc'\"" >&6; }
+ else
+ { echo "$as_me:$LINENO: result: \"'-extract ppc7400'\"" >&5
+echo "${ECHO_T}\"'-extract ppc7400'\"" >&6; }
+ 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=""
@@ -4726,49 +4817,11 @@ echo "$as_me: error: proper usage is --with-universal-arch=32-bit|64-bit|all|int
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
-
- # Calculate the right deployment target for this build.
- #
- cur_target=`sw_vers -productVersion | sed 's/\(10\.[0-9]*\).*/\1/'`
- if test ${cur_target} '>' 10.2; then
- cur_target=10.3
- if test ${enable_universalsdk}; then
- if test "${UNIVERSAL_ARCHS}" = "all"; then
- # Ensure that the default platform for a
- # 4-way universal build is OSX 10.5,
- # that's the first OS release where
- # 4-way builds make sense.
- cur_target='10.5'
-
- elif test "${UNIVERSAL_ARCHS}" = "3-way"; then
- cur_target='10.5'
-
- elif test "${UNIVERSAL_ARCHS}" = "intel"; then
- cur_target='10.5'
- elif test "${UNIVERSAL_ARCHS}" = "64-bit"; then
- cur_target='10.5'
- fi
- else
- if test `arch` = "i386"; then
- # On Intel macs default to a deployment
- # target of 10.4, that's the first OSX
- # release with Intel support.
- cur_target="10.4"
- fi
- fi
fi
- CONFIGURE_MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET-${cur_target}}
- # Make sure that MACOSX_DEPLOYMENT_TARGET is set in the
- # environment with a value that is the same as what we'll use
- # in the Makefile to ensure that we'll get the same compiler
- # environment during configure and build time.
- MACOSX_DEPLOYMENT_TARGET="$CONFIGURE_MACOSX_DEPLOYMENT_TARGET"
- export MACOSX_DEPLOYMENT_TARGET
- EXPORT_MACOSX_DEPLOYMENT_TARGET=''
;;
OSF*)
@@ -5414,7 +5467,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
else
ac_cv_header_stdc=no
fi
-rm -f conftest*
+rm -f -r conftest*
fi
@@ -5435,7 +5488,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
else
ac_cv_header_stdc=no
fi
-rm -f conftest*
+rm -f -r conftest*
fi
@@ -5643,6 +5696,8 @@ done
+
+
for ac_header in asm/types.h conio.h curses.h direct.h dlfcn.h errno.h \
fcntl.h grp.h \
ieeefp.h io.h langinfo.h libintl.h ncurses.h poll.h process.h pthread.h \
@@ -5654,7 +5709,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
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
@@ -6533,7 +6588,7 @@ _ACEOF
fi
-rm -f conftest*
+rm -f -r conftest*
{ echo "$as_me:$LINENO: result: $was_it_defined" >&5
echo "${ECHO_T}$was_it_defined" >&6; }
@@ -7063,7 +7118,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
else
ac_cv_type_uid_t=no
fi
-rm -f conftest*
+rm -f -r conftest*
fi
{ echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5
@@ -14508,7 +14563,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"
@@ -15850,7 +15905,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
else
unistd_defines_pthreads=no
fi
-rm -f conftest*
+rm -f -r conftest*
{ echo "$as_me:$LINENO: result: $unistd_defines_pthreads" >&5
echo "${ECHO_T}$unistd_defines_pthreads" >&6; }
@@ -17464,7 +17519,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
$EGREP "yes" >/dev/null 2>&1; then
ipv6type=$i
fi
-rm -f conftest*
+rm -f -r conftest*
;;
kame)
@@ -17487,7 +17542,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
ipv6libdir=/usr/local/v6/lib
ipv6trylibc=yes
fi
-rm -f conftest*
+rm -f -r conftest*
;;
linux-glibc)
@@ -17508,7 +17563,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
ipv6type=$i;
ipv6trylibc=yes
fi
-rm -f conftest*
+rm -f -r conftest*
;;
linux-inet6)
@@ -17546,7 +17601,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
ipv6lib=inet6;
ipv6libdir=/usr/local/v6/lib
fi
-rm -f conftest*
+rm -f -r conftest*
;;
v6d)
@@ -17569,7 +17624,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
ipv6libdir=/usr/local/v6/lib;
BASECFLAGS="-I/usr/local/v6/include $BASECFLAGS"
fi
-rm -f conftest*
+rm -f -r conftest*
;;
zeta)
@@ -17591,7 +17646,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
ipv6lib=inet6;
ipv6libdir=/usr/local/v6/lib
fi
-rm -f conftest*
+rm -f -r conftest*
;;
esac
@@ -26134,7 +26189,7 @@ cat >>confdefs.h <<\_ACEOF
_ACEOF
fi
-rm -f conftest*
+rm -f -r conftest*
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -26153,7 +26208,7 @@ cat >>confdefs.h <<\_ACEOF
_ACEOF
fi
-rm -f conftest*
+rm -f -r conftest*
fi
@@ -26423,7 +26478,7 @@ cat >>confdefs.h <<\_ACEOF
_ACEOF
fi
-rm -f conftest*
+rm -f -r conftest*
fi
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"
diff --git a/pyconfig.h.in b/pyconfig.h.in
index 85d58d1..cb65189 100644
--- a/pyconfig.h.in
+++ b/pyconfig.h.in
@@ -634,6 +634,9 @@
/* Define if you have the 'socketpair' function. */
#undef HAVE_SOCKETPAIR
+/* Define to 1 if you have the <spawn.h> header file. */
+#undef HAVE_SPAWN_H
+
/* Define if your compiler provides ssize_t */
#undef HAVE_SSIZE_T
@@ -849,6 +852,9 @@
Include/unicodeobject.h). */
#undef HAVE_USABLE_WCHAR_T
+/* Define to 1 if you have the <util.h> header file. */
+#undef HAVE_UTIL_H
+
/* Define to 1 if you have the `utimes' function. */
#undef HAVE_UTIMES