>From b99e0557e7bf85dcdadb9290e21d6cea41d78eb8 Mon Sep 17 00:00:00 2001
From: Petr Pavlu
Date: Mon, 21 Mar 2011 21:26:04 +0100
Subject: [PATCH] Don't use Cstd with Sun C++ compiler if stdcxx4 is explicitly specified.
* libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Don't set $postdeps
to '-library=Cstd' if '-library=stdcxx4' is set in CXX or CXXFLAGS as
stdcxx4 C++ library is incompatible with Cstd C++ library. Always use
'-library=Crun'.
---
ChangeLog | 8 ++++++++
libltdl/m4/libtool.m4 | 28 ++++++++++++++++++----------
2 files changed, 26 insertions(+), 10 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 4ed09a3..2ca1a23 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2011-03-21 Petr Pavlu
+
+ Don't use Cstd with Sun C++ compiler if stdcxx4 is explicitly specified.
+ * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Don't set $postdeps
+ to '-library=Cstd' if '-library=stdcxx4' is set in CXX or CXXFLAGS as
+ stdcxx4 C++ library is incompatible with Cstd C++ library. Always use
+ '-library=Crun'.
+
2011-03-14 Ralf Wildenhues
libtoolize: detect -I (without space) in ACLOCAL_AMFLAGS.
diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4
index 5cc027b..3343386 100644
--- a/libltdl/m4/libtool.m4
+++ b/libltdl/m4/libtool.m4
@@ -7092,17 +7092,21 @@ linux*)
*Sun\ C*)
# Sun C++ 5.9
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
+ # The more standards-conforming stlport4 and stdcxx4 libraries are
+ # incompatible with the Cstd library. Avoid specifying it if it's in
+ # CXX or CXXFLAGS.
case " $CXX $CXXFLAGS " in
*" -library=stlport4 "*)
solaris_use_stlport4=yes
;;
+ *" -library=stdcxx4 "*)
+ solaris_use_stdcxx4=yes
+ ;;
esac
- if test "$solaris_use_stlport4" != yes; then
+ if test "$solaris_use_stlport4" = yes -o "$solaris_use_stdcxx4" = yes; then
+ _LT_TAGVAR(postdeps,$1)='-library=Crun'
+ else
_LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
fi
;;
@@ -7112,20 +7116,24 @@ linux*)
solaris*)
case $cc_basename in
CC* | sunCC*)
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
+ # The more standards-conforming stlport4 and stdcxx4 libraries are
+ # incompatible with the Cstd library. Avoid specifying it if it's in
+ # CXX or CXXFLAGS.
case " $CXX $CXXFLAGS " in
*" -library=stlport4 "*)
solaris_use_stlport4=yes
;;
+ *" -library=stdcxx4 "*)
+ solaris_use_stdcxx4=yes
+ ;;
esac
# Adding this requires a known-good setup of shared libraries for
# Sun compiler versions before 5.6, else PIC objects from an old
# archive will be linked into the output, leading to subtle bugs.
- if test "$solaris_use_stlport4" != yes; then
+ if test "$solaris_use_stlport4" = yes -o "$solaris_use_stdcxx4" = yes; then
+ _LT_TAGVAR(postdeps,$1)='-library=Crun'
+ else
_LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
fi
;;
--
1.7.4