]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
* m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Intel C++ compiler 8.0 and
authorGary V. Vaughan <gary@gnu.org>
Mon, 19 Apr 2004 12:53:36 +0000 (12:53 +0000)
committerGary V. Vaughan <gary@gnu.org>
Mon, 19 Apr 2004 12:53:36 +0000 (12:53 +0000)
newer adds predep_objects and postdep_objects itself, so don't
duplicate them in $archive_cmds and $archive_expsym_cmds.
* NEWS: Updated.
Reported by Roberto Bagnare <bagnara@cs.unipr.it>

ChangeLog
NEWS
libtool.m4

index 69f425afcc4f4dd5ecc8d321e4402bd98758a302..f462485bbf3146af1741348099e39bee70dad5ba 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2004-04-19  Gary V. Vaughan  <gary@gnu.org>
+
+       * m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Intel C++ compiler 8.0 and
+       newer adds predep_objects and postdep_objects itself, so don't
+       duplicate them in $archive_cmds and $archive_expsym_cmds.
+       * NEWS: Updated.
+       Reported by Roberto Bagnare <bagnara@cs.unipr.it>
+
 2004-04-14  Alexandre Duret-Lutz  <adl@gnu.org>
 
        * bootstrap: Delete acinclude.m4.
diff --git a/NEWS b/NEWS
index 3e2a6166511b1ddad79c97f9d462510777f27821..48172fd0b496f4aec0a1c43ad9c363e8c0053483 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,7 @@
 NEWS - list of user-visible changes between releases of GNU Libtool
 
 New in 1.5.7a: 2004-??-??; CVS version 1.5.7a, Libtool team:
+* Support for Intel C++ version 8.0.
 * Bug Fixes.
 \f
 New in 1.5.6: 2004-04-11; CVS version 1.5.5a, Libtool team:
index 16f90d7b2b59f2461f1a9ebf0ffb1f69f0d22350..8f889b9b8ce435a16f9190467841b62dfa6146dd 100644 (file)
@@ -1,5 +1,5 @@
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-## Copyright 1996, 1997, 1998, 1999, 2000, 2001
+## Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004
 ## Free Software Foundation, Inc.
 ## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 ##
@@ -3145,9 +3145,22 @@ case $host_os in
       icpc)
        # Intel C++
        with_gnu_ld=yes
+       # version 8.0 and above of icpc choke on multiply defined symbols
+       # if we add $predep_objects and $postdep_objects, however 7.1 and
+       # earlier do not add the objects themselves.  Only 8.0 (and newer?)
+       # support the --version argument, so we use that to distinguish them:
+       lt_icpc_version=`icpc --version 2>/dev/null`
+       case $lt_icpc_version in
+       [[0-9.]]*)  # Version 8.0 or newer
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+         ;;
+       *) # No output from 7.1 and older
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+         ;;
+       esac
        _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
        _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
        _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'