]> granicus.if.org Git - python/commitdiff
Merged revisions 79652 via svnmerge from
authorTarek Ziadé <ziade.tarek@gmail.com>
Sat, 3 Apr 2010 08:46:49 +0000 (08:46 +0000)
committerTarek Ziadé <ziade.tarek@gmail.com>
Sat, 3 Apr 2010 08:46:49 +0000 (08:46 +0000)
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r79652 | tarek.ziade | 2010-04-03 10:37:59 +0200 (Sat, 03 Apr 2010) | 1 line

  Issue #1222585: Added LDCXXSHARED for C++ support
........

Makefile.pre.in
Misc/NEWS
configure.in

index 80cb42e6637a73e134fd78a204f0d9f57505e559..898c4f0ace1243208ab7328c4403ba2fa431a21d 100644 (file)
@@ -107,6 +107,7 @@ LIBP=               $(LIBDIR)/python$(VERSION)
 SO=            @SO@
 LDSHARED=      @LDSHARED@
 BLDSHARED=     @BLDSHARED@
+LDCXXSHARED=   @LDCXXSHARED@
 DESTSHARED=    $(BINLIBDEST)/lib-dynload
 
 # Executable suffix (.exe on Windows and Mac OS X)
index 5edfa0b8622195fcd078c6b0bd1a7da2a7fcaafa..164655a8cfac11db671f343b2feeaf972b2ce88d 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,8 @@ What's New in Python 3.2 Alpha 1?
 Core and Builtins
 -----------------
 
+- Issue #1222585: Added LDCXXSHARED for C++ support. Patch by Arfrever.
+
 - Raise a TypeError when trying to delete a T_STRING_INPLACE struct member.
 
 - Issue #8211: Save/restore CFLAGS around AC_PROG_CC in configure.in, compiler
index 6a69413a6ff8e3a6b060d571f2f1dc147e07ac8f..f240ee691eea40c47448f84dcf36c15cad44a8e8 100644 (file)
@@ -1621,6 +1621,7 @@ esac
 # Set info about shared libraries.
 AC_SUBST(SO)
 AC_SUBST(LDSHARED)
+AC_SUBST(LDCXXSHARED)
 AC_SUBST(BLDSHARED)
 AC_SUBST(CCSHARED)
 AC_SUBST(LINKFORSHARED)
@@ -1669,36 +1670,47 @@ then
        IRIX/5*) LDSHARED="ld -shared";;
        IRIX*/6*) LDSHARED="ld ${SGI_ABI} -shared -all";;
        SunOS/5*) 
-               if test "$GCC" = "yes"
-               then LDSHARED='$(CC) -shared'
-               else LDSHARED='$(CC) -G';
+               if test "$GCC" = "yes" ; then
+                       LDSHARED='$(CC) -shared'
+                       LDCXXSHARED='$(CXX) -shared'
+               else
+                       LDSHARED='$(CC) -G'
+                       LDCXXSHARED='$(CXX) -G'
                fi ;;
        hp*|HP*)
-               if test "$GCC" = "yes"
-               then LDSHARED='$(CC) -shared'
-               else LDSHARED='ld -b';
+               if test "$GCC" = "yes" ; then
+                       LDSHARED='$(CC) -shared'
+                       LDCXXSHARED='$(CXX) -shared'
+               else
+                       LDSHARED='ld -b'
                fi ;;
        OSF*) LDSHARED="ld -shared -expect_unresolved \"*\"";;
        Darwin/1.3*)
                LDSHARED='$(CC) $(LDFLAGS) -bundle'
+               LDCXXSHARED='$(CXX) $(LDFLAGS) -bundle'
                if test "$enable_framework" ; then
                        # Link against the framework. All externals should be defined.
                        BLDSHARED="$LDSHARED "'$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
                        LDSHARED="$LDSHARED "'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
+                       LDCXXSHARED="$LDCXXSHARED "'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
                else
                        # No framework. Ignore undefined symbols, assuming they come from Python
                        LDSHARED="$LDSHARED -undefined suppress"
+                       LDCXXSHARED="$LDCXXSHARED -undefined suppress"
                fi ;;
        Darwin/1.4*|Darwin/5.*|Darwin/6.*)
                LDSHARED='$(CC) $(LDFLAGS) -bundle'
+               LDCXXSHARED='$(CXX) $(LDFLAGS) -bundle'
                if test "$enable_framework" ; then
                        # Link against the framework. All externals should be defined.
                        BLDSHARED="$LDSHARED "'$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
                        LDSHARED="$LDSHARED "'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
+                       LDCXXSHARED="$LDCXXSHARED "'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
                else
                        # No framework, use the Python app as bundle-loader
                        BLDSHARED="$LDSHARED "'-bundle_loader $(BUILDPYTHON)'
                        LDSHARED="$LDSHARED "'-bundle_loader $(BINDIR)/python$(VERSION)$(EXE)'
+                       LDCXXSHARED="$LDCXXSHARED "'-bundle_loader $(BINDIR)/python$(VERSION)$(EXE)'
                fi ;;
        Darwin/*)
                # Use -undefined dynamic_lookup whenever possible (10.3 and later).
@@ -1710,26 +1722,35 @@ then
                                LDFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${LDFLAGS}"
                        fi
                        LDSHARED='$(CC) $(LDFLAGS) -bundle -undefined dynamic_lookup'
+                       LDCXXSHARED='$(CXX) $(LDFLAGS) -bundle -undefined dynamic_lookup'
                        BLDSHARED="$LDSHARED"
                else
                        LDSHARED='$(CC) $(LDFLAGS) -bundle'
+                       LDCXXSHARED='$(CXX) $(LDFLAGS) -bundle'
                        if test "$enable_framework" ; then
                                # Link against the framework. All externals should be defined.
                                BLDSHARED="$LDSHARED "'$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
                                LDSHARED="$LDSHARED "'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
+                               LDCXXSHARED="$LDCXXSHARED "'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
                        else
                                # No framework, use the Python app as bundle-loader
                                BLDSHARED="$LDSHARED "'-bundle_loader $(BUILDPYTHON)'
                                LDSHARED="$LDSHARED "'-bundle_loader $(BINDIR)/python$(VERSION)$(EXE)'
+                               LDCXXSHARED="$LDCXXSHARED "'-bundle_loader $(BINDIR)/python$(VERSION)$(EXE)'
                        fi
                fi
                ;;
-       Linux*|GNU*|QNX*) LDSHARED='$(CC) -shared';;
-       BSD/OS*/4*) LDSHARED="gcc -shared";;
+       Linux*|GNU*|QNX*)
+               LDSHARED='$(CC) -shared'
+               LDCXXSHARED='$(CXX) -shared';;
+       BSD/OS*/4*)
+               LDSHARED="gcc -shared"
+               LDCXXSHARED="g++ -shared";;
        FreeBSD*)
                if [[ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]]
                then
                        LDSHARED='$(CC) -shared ${LDFLAGS}'
+                       LDCXXSHARED='$(CXX) -shared ${LDFLAGS}'
                else
                        LDSHARED="ld -Bshareable ${LDFLAGS}"
                fi;;
@@ -1737,6 +1758,7 @@ then
                if [[ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]]
                then
                                LDSHARED='$(CC) -shared $(CCSHARED) ${LDFLAGS}'
+                               LDCXXSHARED='$(CXX) -shared $(CCSHARED) ${LDFLAGS}'
                else
                                case `uname -r` in
                                [[01]].* | 2.[[0-7]] | 2.[[0-7]].*)
@@ -1744,21 +1766,32 @@ then
                                   ;;
                                *)
                                   LDSHARED='$(CC) -shared $(CCSHARED) ${LDFLAGS}'
+                                  LDCXXSHARED='$(CXX) -shared $(CCSHARED) ${LDFLAGS}'
                                   ;;
                                esac
                fi;;
-       NetBSD*|DragonFly*) LDSHARED="cc -shared ${LDFLAGS}";;
+       NetBSD*|DragonFly*)
+               LDSHARED="cc -shared ${LDFLAGS}"
+               LDCXXSHARED="c++ -shared ${LDFLAGS}";;
        OpenUNIX*|UnixWare*)
-               if test "$GCC" = "yes"
-               then LDSHARED='$(CC) -shared'
-               else LDSHARED='$(CC) -G'
+               if test "$GCC" = "yes" ; then
+                       LDSHARED='$(CC) -shared'
+                       LDCXXSHARED='$(CXX) -shared'
+               else
+                       LDSHARED='$(CC) -G'
+                       LDCXXSHARED='$(CXX) -G'
                fi;;
-       SCO_SV*) LDSHARED='$(CC) -Wl,-G,-Bexport';;
-       CYGWIN*) LDSHARED="gcc -shared -Wl,--enable-auto-image-base";;
+       SCO_SV*)
+               LDSHARED='$(CC) -Wl,-G,-Bexport'
+               LDCXXSHARED='$(CXX) -Wl,-G,-Bexport';;
+       CYGWIN*)
+               LDSHARED="gcc -shared -Wl,--enable-auto-image-base"
+               LDCXXSHARED="g++ -shared -Wl,--enable-auto-image-base";;
        *)      LDSHARED="ld";;
        esac
 fi
 AC_MSG_RESULT($LDSHARED)
+LDCXXSHARED=${LDCXXSHARED-$LDSHARED}
 BLDSHARED=${BLDSHARED-$LDSHARED}
 # CCSHARED are the C *flags* used to create objects to go into a shared
 # library (module) -- this is only needed for a few systems