From 1b77aa3abb3134ff35ddd8ad671ae8a11d5b7f64 Mon Sep 17 00:00:00 2001 From: "Gary V. Vaughan" Date: Mon, 19 Apr 2004 12:49:56 +0000 Subject: [PATCH] * 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 --- ChangeLog | 12 ++++++++++-- NEWS | 1 + m4/libtool.m4 | 21 +++++++++++++++++---- 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 06f498a0d..56aa2f2c7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,17 @@ +2004-04-19 Gary V. Vaughan + + * 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 + 2004-04-17 Peter O'Gorman * libltdl/loader-dyld.c: Fix compilation issues. Set Original author to me. -2004-04-17 Todd Vierling , +2004-04-17 Todd Vierling , Peter O'Gorman * m4/libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Use sysctl to get the @@ -20,7 +28,7 @@ * configure.ac: Invoke LT_LANG for each desired supported language. * doc/libtool.texi: Remove documentation for the LT_INIT options, rewrite LT_LANG documentation. - + 2004-04-14 Alexandre Duret-Lutz * bootstrap: Delete acinclude.m4. diff --git a/NEWS b/NEWS index 851aefc06..6190b7be9 100644 --- a/NEWS +++ b/NEWS @@ -49,6 +49,7 @@ New in 1.5b: 2004-??-??; CVS version 1.5a, Libtool team: latest files. * Extracting symbols from an import library on cygwin and win32 now works. * Initial support for amigaos-ppc. +* Support for Intel C++ version 8.0. * New support for IBM's xlc and xlc++ on Mac OS X. * Bug fixes. diff --git a/m4/libtool.m4 b/m4/libtool.m4 index 5ae8637ce..14c10767e 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -2336,7 +2336,7 @@ case $host_os in if test "$GCC" = yes; then reload_cmds='$CC -nostdlib ${wl}-r -o $output$reload_objs' else - reload_cmds='$LD$reload_flag -o $output$reload_objs' + reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac @@ -3843,7 +3843,7 @@ _LT_EOF *) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; - esac + esac fi ;; dgux*) @@ -4960,9 +4960,22 @@ if test -n "$compiler"; then 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' -- 2.47.2