[Python-checkins] python/dist/src configure, 1.444, 1.445 configure.in, 1.455, 1.456 Makefile.pre.in, 1.143, 1.144

jackjansen at users.sourceforge.net jackjansen at users.sourceforge.net
Thu Jun 3 08:41:48 EDT 2004


Update of /cvsroot/python/python/dist/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20139

Modified Files:
	configure configure.in Makefile.pre.in 
Log Message:
Partial fix for #887242 (link extensions with dynamic_lookup in stead
of hard linking against the framework).

If $MACOSX_DEPLOYMENT_TARGET is set, and >= 10.3, during configure we
setup extensions to link with dynamic lookup. We also record the
value in the Makefile.

Distutils checks whether a value for MACOSX_DEPLOYMENT_TARGET was
recorded in the Makefile, and if it was insists that the current
value matches.

This is only a partial fix because it only applies to 2.4, and the
"two python problem" exists with Python 2.3 shipped with MacOSX 10.3,
which we have no influence over.



Index: configure
===================================================================
RCS file: /cvsroot/python/python/dist/src/configure,v
retrieving revision 1.444
retrieving revision 1.445
diff -C2 -d -r1.444 -r1.445
*** configure	7 May 2004 19:14:14 -0000	1.444
--- configure	3 Jun 2004 12:41:38 -0000	1.445
***************
*** 1,4 ****
  #! /bin/sh
! # From configure.in Revision: 1.454 .
  # Guess values for system-dependent variables and create Makefiles.
  # Generated by GNU Autoconf 2.57 for python 2.4.
--- 1,4 ----
  #! /bin/sh
! # From configure.in Revision: 1.455 .
  # Guess values for system-dependent variables and create Makefiles.
  # Generated by GNU Autoconf 2.57 for python 2.4.
***************
*** 310,314 ****
  #endif"
  
! ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS VERSION SOVERSION CONFIG_ARGS PYTHONFRAMEWORK PYTHONFRAMEWORKDIR PYTHONFRAMEWORKPREFIX PYTHONFRAMEWORKINSTALLDIR MACHDEP SGI_ABI EXTRAPLATDIR EXTRAMACHDEPPATH CXX MAINOBJ EXEEXT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC OBJEXT CPP EGREP BUILDEXEEXT LIBRARY LDLIBRARY DLLLIBRARY BLDLIBRARY LDLIBRARYDIR INSTSONAME RUNSHARED LINKCC RANLIB ac_ct_RANLIB AR INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN OPT BASECFLAGS LIBTOOL_CRUFT SO LDSHARED BLDSHARED CCSHARED LINKFORSHARED CFLAGSFORSHARED SHLIBS USE_SIGNAL_MODULE SIGNAL_OBJS USE_THREAD_MODULE LDLAST THREADOBJ DLINCLDIR DYNLOADFILE MACHDEP_OBJS TRUE LIBOBJS HAVE_GETHOSTBYNAME_R_6_ARG HAVE_GETHOSTBYNAME_R_5_ARG HAVE_GETHOSTBYNAME_R_3_ARG HAVE_GETHOSTBYNAME_R HAVE_GETHOSTBYNAME LIBM LIBC UNICODE_OBJS THREADHEADERS SRCDIRS LTLIBOBJS'
  ac_subst_files=''
  
--- 310,314 ----
  #endif"
  
! ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS VERSION SOVERSION CONFIG_ARGS PYTHONFRAMEWORK PYTHONFRAMEWORKDIR PYTHONFRAMEWORKPREFIX PYTHONFRAMEWORKINSTALLDIR MACHDEP SGI_ABI EXTRAPLATDIR EXTRAMACHDEPPATH CONFIGURE_MACOSX_DEPLOYMENT_TARGET CXX MAINOBJ EXEEXT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC OBJEXT CPP EGREP BUILDEXEEXT LIBRARY LDLIBRARY DLLLIBRARY BLDLIBRARY LDLIBRARYDIR INSTSONAME RUNSHARED LINKCC RANLIB ac_ct_RANLIB AR INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN OPT BASECFLAGS LIBTOOL_CRUFT SO LDSHARED BLDSHARED CCSHARED LINKFORSHARED CFLAGSFORSHARED SHLIBS USE_SIGNAL_MODULE SIGNAL_OBJS USE_THREAD_MODULE LDLAST THREADOBJ DLINCLDIR DYNLOADFILE MACHDEP_OBJS TRUE LIBOBJS HAVE_GETHOSTBYNAME_R_6_ARG HAVE_GETHOSTBYNAME_R_5_ARG HAVE_GETHOSTBYNAME_R_3_ARG HAVE_GETHOSTBYNAME_R HAVE_GETHOSTBYNAME LIBM LIBC UNICODE_OBJS THREADHEADERS SRCDIRS LTLIBOBJS'
  ac_subst_files=''
  
***************
*** 1443,1446 ****
--- 1443,1447 ----
    # On UnixWare 7, u_long is never defined with _XOPEN_SOURCE,
    # but used in /usr/include/netinet/tcp.h. Reported by Tim Rice.
+   # Reconfirmed for 7.1.4 by Martin v. Loewis.
    OpenUNIX/8.0.0| UnixWare/7.1.[0-4])
      define_xopen_source=no;;
***************
*** 1528,1531 ****
--- 1529,1538 ----
  echo "${ECHO_T}$EXTRAPLATDIR" >&6
  
+ # Record the configure-time value of MACOSX_DEPLOYMENT_TARGET,
+ # it may influence the way we can build extensions, so distutils
+ # needs to check it
+ 
+ CONFIGURE_MACOSX_DEPLOYMENT_TARGET=
+ 
  # checks for alternative programs
  
***************
*** 9393,9397 ****
  			LDSHARED="$LDSHARED -undefined suppress"
  		fi ;;
! 	Darwin/*)
  		LDSHARED='$(CC) $(LDFLAGS) -bundle'
  		if test "$enable_framework" ; then
--- 9400,9404 ----
  			LDSHARED="$LDSHARED -undefined suppress"
  		fi ;;
! 	Darwin/1.4*|Darwin/5.*|Darwin/6.*)
  		LDSHARED='$(CC) $(LDFLAGS) -bundle'
  		if test "$enable_framework" ; then
***************
*** 9404,9407 ****
--- 9411,9435 ----
  			LDSHARED="$LDSHARED "'-bundle_loader $(BINDIR)/python$(VERSION)$(EXE)'
  		fi ;;
+ 	Darwin/*)
+ 		# Use -undefined dynamic_lookup whenever possible (10.3 and later).
+ 		# This allows an extension to be used in any Python
+ 		if test ${MACOSX_DEPLOYMENT_TARGET-10.1} '>' 10.2
+ 		then
+ 			LDSHARED='$(CC) $(LDFLAGS) -bundle -undefined dynamic_lookup'
+ 			BLDSHARED="$LDSHARED"
+ 			CONFIGURE_MACOSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET
+ 		else
+ 			LDSHARED='$(CC) $(LDFLAGS) -bundle'
+ 			if test "$enable_framework" ; then
+ 				# Link against the framework. All externals should be defined.
+ 				BLDSHARED="$LDSHARED "'-Wl,-F. -framework $(PYTHONFRAMEWORK)'
+ 				LDSHARED="$LDSHARED "'-Wl,-F$(PYTHONFRAMEWORKPREFIX) -framework $(PYTHONFRAMEWORK)'
+ 			else
+ 				# No framework, use the Python app as bundle-loader
+ 				BLDSHARED="$LDSHARED "'-bundle_loader $(BUILDPYTHON)'
+ 				LDSHARED="$LDSHARED "'-bundle_loader $(BINDIR)/python$(VERSION)$(EXE)'
+ 			fi
+ 		fi
+ 		;;
  	Linux*|GNU*) LDSHARED='$(CC) -shared';;
  	BSD/OS*/4*) LDSHARED="gcc -shared";;
***************
*** 18663,18666 ****
--- 18691,18695 ----
  s, at EXTRAPLATDIR@,$EXTRAPLATDIR,;t t
  s, at EXTRAMACHDEPPATH@,$EXTRAMACHDEPPATH,;t t
+ s, at CONFIGURE_MACOSX_DEPLOYMENT_TARGET@,$CONFIGURE_MACOSX_DEPLOYMENT_TARGET,;t t
  s, at CXX@,$CXX,;t t
  s, at MAINOBJ@,$MAINOBJ,;t t

Index: configure.in
===================================================================
RCS file: /cvsroot/python/python/dist/src/configure.in,v
retrieving revision 1.455
retrieving revision 1.456
diff -C2 -d -r1.455 -r1.456
*** configure.in	7 May 2004 19:14:14 -0000	1.455
--- configure.in	3 Jun 2004 12:41:45 -0000	1.456
***************
*** 217,220 ****
--- 217,226 ----
  AC_MSG_RESULT($EXTRAPLATDIR)
  
+ # Record the configure-time value of MACOSX_DEPLOYMENT_TARGET,
+ # it may influence the way we can build extensions, so distutils
+ # needs to check it
+ AC_SUBST(CONFIGURE_MACOSX_DEPLOYMENT_TARGET)
+ CONFIGURE_MACOSX_DEPLOYMENT_TARGET=
+ 
  # checks for alternative programs
  
***************
*** 1258,1262 ****
  			LDSHARED="$LDSHARED -undefined suppress"
  		fi ;;
! 	Darwin/*)
  		LDSHARED='$(CC) $(LDFLAGS) -bundle'
  		if test "$enable_framework" ; then
--- 1264,1268 ----
  			LDSHARED="$LDSHARED -undefined suppress"
  		fi ;;
! 	Darwin/1.4*|Darwin/5.*|Darwin/6.*)
  		LDSHARED='$(CC) $(LDFLAGS) -bundle'
  		if test "$enable_framework" ; then
***************
*** 1269,1272 ****
--- 1275,1299 ----
  			LDSHARED="$LDSHARED "'-bundle_loader $(BINDIR)/python$(VERSION)$(EXE)'
  		fi ;;
+ 	Darwin/*)
+ 		# Use -undefined dynamic_lookup whenever possible (10.3 and later).
+ 		# This allows an extension to be used in any Python
+ 		if test ${MACOSX_DEPLOYMENT_TARGET-10.1} '>' 10.2
+ 		then
+ 			LDSHARED='$(CC) $(LDFLAGS) -bundle -undefined dynamic_lookup'
+ 			BLDSHARED="$LDSHARED"
+ 			CONFIGURE_MACOSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET
+ 		else
+ 			LDSHARED='$(CC) $(LDFLAGS) -bundle'
+ 			if test "$enable_framework" ; then
+ 				# Link against the framework. All externals should be defined.
+ 				BLDSHARED="$LDSHARED "'-Wl,-F. -framework $(PYTHONFRAMEWORK)'
+ 				LDSHARED="$LDSHARED "'-Wl,-F$(PYTHONFRAMEWORKPREFIX) -framework $(PYTHONFRAMEWORK)'
+ 			else
+ 				# No framework, use the Python app as bundle-loader
+ 				BLDSHARED="$LDSHARED "'-bundle_loader $(BUILDPYTHON)'
+ 				LDSHARED="$LDSHARED "'-bundle_loader $(BINDIR)/python$(VERSION)$(EXE)'
+ 			fi
+ 		fi
+ 		;;
  	Linux*|GNU*) LDSHARED='$(CC) -shared';;
  	BSD/OS*/4*) LDSHARED="gcc -shared";;

Index: Makefile.pre.in
===================================================================
RCS file: /cvsroot/python/python/dist/src/Makefile.pre.in,v
retrieving revision 1.143
retrieving revision 1.144
diff -C2 -d -r1.143 -r1.144
*** Makefile.pre.in	1 Jun 2004 15:22:39 -0000	1.143
--- Makefile.pre.in	3 Jun 2004 12:41:45 -0000	1.144
***************
*** 108,111 ****
--- 108,114 ----
  PYTHONFRAMEWORKPREFIX=	@PYTHONFRAMEWORKPREFIX@
  PYTHONFRAMEWORKINSTALLDIR= @PYTHONFRAMEWORKINSTALLDIR@
+ # Deployment target selected during configure, to be checked
+ # by distutils
+ CONFIGURE_MACOSX_DEPLOYMENT_TARGET=@CONFIGURE_MACOSX_DEPLOYMENT_TARGET@
  # Options to enable prebinding (for fast startup)
  OTHER_LIBTOOL_OPT = -prebind -seg1addr 0x10000000




More information about the Python-checkins mailing list