libtool-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU Libtool branch, master, updated. v2.4.4-15-gb49ab52


From: Gary V. Vaughan
Subject: [SCM] GNU Libtool branch, master, updated. v2.4.4-15-gb49ab52
Date: Fri, 12 Dec 2014 15:01:15 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Libtool".

The branch, master has been updated
       via  b49ab52cb34a80aacf88698870649c7761e17c65 (commit)
      from  4fede0bc497021e28fde0635c1fa0da010cc2733 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit b49ab52cb34a80aacf88698870649c7761e17c65
Author: Gary V. Vaughan <address@hidden>
Date:   Fri Dec 12 13:33:40 2014 +0000

    libtool: more carefully avoid automatic -Cstd -Crun on Sun Pro CXX.
    
    * m4/libtool.m4 (_LT_FUNC_SUNCC_CSTD_ABI): New function factored out
    of repeated code.  Take note of other known -Cstd incompatible
    compiler flags.
    (_LT_SYS_HIDDEN_LIBDEPS): Use it to determine whether -Cstd -Crun
    can be safely added to postdeps with Sun Pro CXX.
    * NEWS: Update.
    * NO-THANKS: Add Marc Glisse.
    Reported by Marc Glisse
    
    Signed-off-by: Gary V. Vaughan <address@hidden>

-----------------------------------------------------------------------

Summary of changes:
 NEWS          |    8 ++++++++
 NO-THANKS     |    1 +
 m4/libtool.m4 |   54 ++++++++++++++++++++++++++++--------------------------
 3 files changed, 37 insertions(+), 26 deletions(-)

diff --git a/NEWS b/NEWS
index 87926bd..c2f667b 100644
--- a/NEWS
+++ b/NEWS
@@ -27,6 +27,14 @@ NEWS - list of user-visible changes between releases of GNU 
Libtool
     ia64-hp-hpux*, because the default system runtime loader path does
     not contain them.
 
+  - Previously, when using Sun C++ on Solaris or Linux, `-Cstd -Crun`
+    flags were added to $postdeps unless CXX or CXXFLAGS contained
+    `-library=stlport4`.  Newer releases have added other compiler flags
+    that are also incompatible with `-Cstd -Crun`, so now we don't add
+    them if any of `-std=c++[0-9][0-9]`, `-library=stdcxx4` or
+    `-compat=g` were found in CXX or CXXFLAGS when the Sun C++ compiler
+    is detected.
+
 
 * Noteworthy changes in release 2.4.4 (2014-11-29) [stable]
 
diff --git a/NO-THANKS b/NO-THANKS
index dc33834..7f59276 100644
--- a/NO-THANKS
+++ b/NO-THANKS
@@ -100,6 +100,7 @@ Lawrence Velázquez         address@hidden
 Lionel Landwerlin              address@hidden
 Maciej Helminiak               address@hidden
 Mahesh Narayanamurthi          address@hidden
+Marc Glisse                    address@hidden
 Marcel Loose                   address@hidden
 Markus Duft                    address@hidden
 Martin Doucha                  address@hidden
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 0c120ff..22a7284 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -7422,6 +7422,28 @@ func_stripname_cnf ()
 } # func_stripname_cnf
 ])# _LT_FUNC_STRIPNAME_CNF
 
+
+# _LT_FUNC_SUNCC_CSTD_ABI
+# -----------------------
+# func_suncc_cstd_abi
+# Several compiler flags select an ABI that is
+# incompatible with the Cstd library. Avoid specifying
+# it if any are in CXXFLAGS.
+m4_defun([_LT_FUNC_SUNCC_CSTD_ABI], [[
+func_suncc_cstd_abi ()
+{
+    case " $CXX $CXXFLAGS " in
+    *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" 
-library=stlport4 "*)
+      suncc_use_cstd_abi=no
+      ;;
+    *)
+      suncc_use_cstd_abi=yes
+      ;;
+    esac
+} # func_suncc_cstd_abi
+]])# _LT_FUNC_SUNCC_CSTD_ABI
+
+
 # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
 # ---------------------------------
 # Figure out "hidden" library dependencies from verbose
@@ -7430,6 +7452,7 @@ func_stripname_cnf ()
 # objects, libraries and library flags.
 m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_FUNC_SUNCC_CSTD_ABI])dnl
 AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
 # Dependencies to place before and after the object being linked:
 _LT_TAGVAR(predep_objects, $1)=
@@ -7603,20 +7626,10 @@ interix[[3-9]]*)
 
 linux*)
   case `$CC -V 2>&1 | sed 5q` in
-  *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.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
+  *Sun\ C*) # Sun C++ 5.9
+    func_suncc_cstd_abi
 
-    if test yes != "$solaris_use_stlport4"; then
+    if test no != "$suncc_use_cstd_abi"; then
       _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
     fi
     ;;
@@ -7626,20 +7639,9 @@ 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.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
+    func_suncc_cstd_abi
 
-    # 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 yes != "$solaris_use_stlport4"; then
+    if test no != "$suncc_use_cstd_abi"; then
       _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
     fi
     ;;


hooks/post-receive
-- 
GNU Libtool



reply via email to

[Prev in Thread] Current Thread [Next in Thread]