diff options
author | Tarek Ziadé <ziade.tarek@gmail.com> | 2010-04-03 08:46:49 (GMT) |
---|---|---|
committer | Tarek Ziadé <ziade.tarek@gmail.com> | 2010-04-03 08:46:49 (GMT) |
commit | 03d788dc4d6d399ba1092da5895edd7e6900345a (patch) | |
tree | 59fbff74b18c9cda71b84c84ee1850bb52ea166f | |
parent | 1826c48d94ce1ec37cf03c2c65bb89818ec4aef0 (diff) | |
download | cpython-03d788dc4d6d399ba1092da5895edd7e6900345a.zip cpython-03d788dc4d6d399ba1092da5895edd7e6900345a.tar.gz cpython-03d788dc4d6d399ba1092da5895edd7e6900345a.tar.bz2 |
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
........
-rw-r--r-- | Makefile.pre.in | 1 | ||||
-rw-r--r-- | Misc/NEWS | 2 | ||||
-rw-r--r-- | configure.in | 61 |
3 files changed, 50 insertions, 14 deletions
diff --git a/Makefile.pre.in b/Makefile.pre.in index 80cb42e..898c4f0 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) @@ -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 6a69413..f240ee6 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 - </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 |