]> granicus.if.org Git - python/commitdiff
Fix for issue4472: "configure --enable-shared doesn't work on OSX"
authorRonald Oussoren <ronaldoussoren@mac.com>
Fri, 2 Jan 2009 10:44:46 +0000 (10:44 +0000)
committerRonald Oussoren <ronaldoussoren@mac.com>
Fri, 2 Jan 2009 10:44:46 +0000 (10:44 +0000)
Makefile.pre.in
configure
configure.in

index 959dd1ba8ee9a7d59b0ba83fa95538fe5fbd7397..8daad056c6a926db1b584016cf04ad79180717fb 100644 (file)
@@ -414,10 +414,14 @@ libpython$(VERSION).so: $(LIBRARY_OBJS)
        if test $(INSTSONAME) != $(LDLIBRARY); then \
                $(LDSHARED) $(LDFLAGS) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
                $(LN) -f $(INSTSONAME) $@; \
-       else\
+       else \
                $(LDSHARED) $(LDFLAGS) -o $@ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
        fi
 
+libpython$(VERSION).dylib: $(LIBRARY_OBJS)
+        $(CC) -dynamiclib -Wl,-single_module $(LDFLAGS) -undefined dynamic_lookup -Wl,-install_name,$(prefix)/lib/libpython$(VERSION).dylib -Wl,-compatibility_version,$(VERSION) -Wl,-current_version,$(VERSION) -o $@ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
+                
+
 libpython$(VERSION).sl: $(LIBRARY_OBJS)
        $(LDSHARED) $(LDFLAGS) -o $@ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST)
 
@@ -768,13 +772,13 @@ altbininstall:    $(BUILDPYTHON)
                fi; \
        done
        $(INSTALL_PROGRAM) $(BUILDPYTHON) $(DESTDIR)$(BINDIR)/python$(VERSION)$(EXE)
-       if test -f libpython$(VERSION)$(SO); then \
+       if test -f $(LDLIBRARY); then \
                if test "$(SO)" = .dll; then \
-                       $(INSTALL_SHARED) libpython$(VERSION)$(SO) $(DESTDIR)$(BINDIR); \
+                       $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(BINDIR); \
                else \
-                       $(INSTALL_SHARED) libpython$(VERSION)$(SO) $(DESTDIR)$(LIBDIR)/$(INSTSONAME); \
-                       if test libpython$(VERSION)$(SO) != $(INSTSONAME); then \
-                               (cd $(DESTDIR)$(LIBDIR); $(LN) -sf $(INSTSONAME) libpython$(VERSION)$(SO)); \
+                       $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(LIBDIR)/$(INSTSONAME); \
+                       if test $(LDLIBRARY) != $(INSTSONAME); then \
+                               (cd $(DESTDIR)$(LIBDIR); $(LN) -sf $(INSTSONAME) $(LDLIBRARY)) \
                        fi \
                fi; \
        else    true; \
index 0b922f49958d38332a653f75e5afa049e0d25701..7425216c4c978293a91601a27439a952f0981a91 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.in Revision: 67227 .
+# From configure.in Revision: 67463 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.61 for python 2.7.
 #
@@ -4139,6 +4139,12 @@ _ACEOF
          BLDLIBRARY='-L. -lpython$(VERSION)'
          RUNSHARED=DLL_PATH=`pwd`:${DLL_PATH:-/atheos/sys/libs:/atheos/autolnk/lib}
          ;;
+    Darwin*)
+       LDLIBRARY='libpython$(VERSION).dylib'
+       BLDLIBRARY='-L. -lpython$(VERSION)'
+       RUNSHARED='DYLD_LIBRARY_PATH=`pwd`:${DYLD_LIBRARY_PATH}'
+       ;;
+
   esac
 else # shared is disabled
   case $ac_sys_system in
@@ -13003,6 +13009,7 @@ fi
 { echo "$as_me:$LINENO: result: $SO" >&5
 echo "${ECHO_T}$SO" >&6; }
 
+
 cat >>confdefs.h <<_ACEOF
 #define SHLIB_EXT "$SO"
 _ACEOF
@@ -13403,7 +13410,7 @@ _ACEOF
 fi
        # Dynamic linking for HP-UX
 
-# only check for sem_ini if thread support is requested
+# only check for sem_init if thread support is requested
 if test "$with_threads" = "yes" -o -z "$with_threads"; then
     { echo "$as_me:$LINENO: checking for library containing sem_init" >&5
 echo $ECHO_N "checking for library containing sem_init... $ECHO_C" >&6; }
index a0768a5d28e82c5dd4a6b54776f427deba563580..ca504be374f98cd763451516be5acbe3aa48c9de 100644 (file)
@@ -737,6 +737,12 @@ if test $enable_shared = "yes"; then
          BLDLIBRARY='-L. -lpython$(VERSION)'
          RUNSHARED=DLL_PATH=`pwd`:${DLL_PATH:-/atheos/sys/libs:/atheos/autolnk/lib}
          ;;
+    Darwin*)
+       LDLIBRARY='libpython$(VERSION).dylib'
+       BLDLIBRARY='-L. -lpython$(VERSION)'
+       RUNSHARED='DYLD_LIBRARY_PATH=`pwd`:${DYLD_LIBRARY_PATH}'
+       ;;
+
   esac
 else # shared is disabled
   case $ac_sys_system in
@@ -1597,6 +1603,7 @@ else
        sleep 10
 fi
 AC_MSG_RESULT($SO)
+
 AC_DEFINE_UNQUOTED(SHLIB_EXT, "$SO", [Define this to be extension of shared libraries (including the dot!).])
 # LDSHARED is the ld *command* used to create shared library
 # -- "cc -G" on SunOS 5.x, "ld -shared" on IRIX 5