summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTarek Ziadé <ziade.tarek@gmail.com>2010-04-03 08:46:49 (GMT)
committerTarek Ziadé <ziade.tarek@gmail.com>2010-04-03 08:46:49 (GMT)
commit03d788dc4d6d399ba1092da5895edd7e6900345a (patch)
tree59fbff74b18c9cda71b84c84ee1850bb52ea166f
parent1826c48d94ce1ec37cf03c2c65bb89818ec4aef0 (diff)
downloadcpython-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.in1
-rw-r--r--Misc/NEWS2
-rw-r--r--configure.in61
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)
diff --git a/Misc/NEWS b/Misc/NEWS
index 5edfa0b..164655a 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 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