summaryrefslogtreecommitdiffstats
path: root/configure.in
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2000-10-09 19:52:35 (GMT)
committerGuido van Rossum <guido@python.org>2000-10-09 19:52:35 (GMT)
commit5839e5861b526b28315bf2fbaa78fe49ada203b3 (patch)
tree205a601dc3719252193afe3c96ff56e21321be9c /configure.in
parent32e20ff8388e3fcf0dd0794a7a476c05c714c287 (diff)
downloadcpython-5839e5861b526b28315bf2fbaa78fe49ada203b3.zip
cpython-5839e5861b526b28315bf2fbaa78fe49ada203b3.tar.gz
cpython-5839e5861b526b28315bf2fbaa78fe49ada203b3.tar.bz2
Checking in three Darwin-specific patches.
Tony Lownds: [ Patch #101816 ] Fixes shared modules on Mac OS X 1. Mac OS X is recognized by the Next-ish host recognition code as "Darwin/1.2" 2. When specifying just --with-dyld, modules can compile as shared 3. --with-dyld and --with-next-framework, modules can compile as shared 4. --with-suffix=.exe, and Lib/plat-darwin1.2 is being made, the regen script invokes python as python.exe [I had to reformat this patch a bit to make it work. Please test!] Dan Wolfe: [ Patch #101823 ] Fix Darwin POSIX Thread redefinition The patch below fixes the redefinition problem in Darwin with _POSIX_THREADS. I'm not sure if this is the correct long term fix but for now it fixes the problem and the fix is specific to Darwin. Dan Wolfe: [ Patch #101824 ] On Darwin, remove unrecognized option `-OPT:Olimit=0' After many, many, many compiles, I finally got itchy of this warning cluttering up the output... so I scratched (Darwin configs only) and it's gone! :-)
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in22
1 files changed, 18 insertions, 4 deletions
diff --git a/configure.in b/configure.in
index 946a089..610e6b3 100644
--- a/configure.in
+++ b/configure.in
@@ -341,7 +341,10 @@ AC_TRY_RUN([int main() { return 0; }],
CC="$ac_save_cc"])
AC_MSG_RESULT($ac_cv_opt_olimit_ok)
if test $ac_cv_opt_olimit_ok = yes; then
- OPT="$OPT -OPT:Olimit=0"
+ case $ac_sys_system in
+ Darwin*) OPT="$OPT" ;;
+ *) OPT="$OPT -OPT:Olimit=0";;
+ esac
else
AC_MSG_CHECKING(whether $CC accepts -Olimit 1500)
AC_CACHE_VAL(ac_cv_olimit_ok,
@@ -493,6 +496,9 @@ fi
# Minor variations in building a framework between NextStep versions 4 and 5
AC_SUBST(LIBTOOL_CRUFT)
case $ac_sys_system/$ac_sys_release in
+ Darwin/*)
+ ns_undef_sym='_environ'
+ LIBTOOL_CRUFT="-lcc_dynamic -arch_only ppc -U $ns_undef_sym" ;;
next/4*)
ns_undef_sym='__environ'
LIBTOOL_CRUFT="-U $ns_undef_sym" ;;
@@ -568,7 +574,11 @@ then
DYNIX/ptx*) LDSHARED="ld -G";;
Darwin/*|next/*)
if test "$ns_dyld"
- then LDSHARED='$(CC) $(LDFLAGS) -bundle -prebind'
+ then
+ if test "$ac_sys_system" = Darwin
+ then LDSHARED='$(CC) $(LDFLAGS) -bundle -undefined suppress'
+ else LDSHARED='$(CC) $(LDFLAGS) -bundle -prebind'
+ fi
else LDSHARED='$(CC) $(CFLAGS) -nostdlib -r';
fi
if test "$with_next_framework" ; then
@@ -639,6 +649,7 @@ then
# crt1.o) gets erroneously defined as common, which breaks dynamic
# loading of any modules which reference it in System.framework
next/4*|next/5*) LINKFORSHARED="-u __dummy -framework System" ;;
+ Darwin/*) LINKFORSHARED="-framework System" ;;
SCO_SV*) LINKFORSHARED="-Bdynamic -dy -Wl,-Bexport";;
ReliantUNIX*) LINKFORSHARED="-W1 -Blargedynsym";;
FreeBSD*|NetBSD*)
@@ -761,7 +772,10 @@ else
LIBS="-lpthread $LIBS"
LIBOBJS="$LIBOBJS thread.o"],[
AC_CHECK_FUNC(pthread_detach, [AC_DEFINE(WITH_THREAD)
- AC_DEFINE(_POSIX_THREADS)
+ case $ac_sys_system in
+ Darwin*) ;;
+ *) AC_DEFINE(_POSIX_THREADS);;
+ esac
LIBOBJS="$LIBOBJS thread.o"],[
AC_CHECK_HEADER(kernel/OS.h, [AC_DEFINE(WITH_THREAD)
AC_DEFINE(BEOS_THREADS)
@@ -911,7 +925,7 @@ then
AIX*) DYNLOADFILE="dynload_aix.o";;
BeOS*) DYNLOADFILE="dynload_beos.o";;
hp*|HP*) DYNLOADFILE="dynload_hpux.o";;
- next/*) DYNLOADFILE="dynload_next.o";;
+ Darwin/*|next/*) DYNLOADFILE="dynload_next.o";;
*)
# use dynload_shlib.c and dlopen() if we have it; otherwise stub
# out any dynamic loading