From: Tarek Ziadé Date: Sat, 3 Apr 2010 08:46:49 +0000 (+0000) Subject: Merged revisions 79652 via svnmerge from X-Git-Tag: v3.2a1~1263 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=03d788dc4d6d399ba1092da5895edd7e6900345a;p=python Merged revisions 79652 via svnmerge from 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 ........ --- diff --git a/Makefile.pre.in b/Makefile.pre.in index 80cb42e663..898c4f0ace 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -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) diff --git a/Misc/NEWS b/Misc/NEWS index 5edfa0b862..164655a8cf 100644 --- 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 diff --git a/configure.in b/configure.in index 6a69413a6f..f240ee691e 100644 --- a/configure.in +++ b/configure.in @@ -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 -