libtool-patches
[Top][All Lists]
Advanced

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

Re: solaris archive_cmds change for sun CC c++ compiler


From: Peter O'Gorman
Subject: Re: solaris archive_cmds change for sun CC c++ compiler
Date: Fri, 22 Jul 2005 00:26:21 +0900
User-agent: Mozilla Thunderbird 1.0.2 (Macintosh/20050317)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Peter O'Gorman wrote:
| Peter O'Gorman wrote:
| | Albert Chin wrote:
| | |
| | | For -lc, why don't you set archive_cmds_need_lc=yes for the CXX tag
| | | instead of hard-coding it?

| I was wrong, it would, of course, be better in postdeps. Testing new
| patch now.

And to reply to myself, yet again. Is this okay with forward ports?

Peter
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (Darwin)

iQCVAwUBQt++nbiDAg3OZTLPAQK4NAP/fYqvVC4g4mst8ILEm7AqmeBPOgHmgIB2
LOgzMk62d+8YuJLZDdHmp4A/1aH5yYJCSMzVphqu6m7f2zKjwqcQELBWuRNCXeqr
/AutiO2Uir5x1kaNfGnCJfEeRWr8bvnBIXOXYrNeoZNarFhRvytTdi7eprO9Gm/R
OW5ozu/t2sM=
=nTrp
-----END PGP SIGNATURE-----
Index: ChangeLog
2005-07-22  Peter O'Gorman  <address@hidden>

        * libtool.m4 (CXX, archive_cmds) [sun]: Add -lCstd, -lCrun
        and -lc to postdeps for c++ builds.
        Reported by Albert Chin-A-Young <address@hidden>

from  Peter Breitenlohner  <address@hidden>
Index: libtool.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/Attic/libtool.m4,v
retrieving revision 1.314.2.96
diff -u -3 -p -u -r1.314.2.96 libtool.m4
--- libtool.m4 8 Jul 2005 15:03:15 -0000 1.314.2.96
+++ libtool.m4 21 Jul 2005 15:25:42 -0000
@@ -3475,10 +3475,12 @@ case $host_os in
     case $cc_basename in
       CC*)
        # Sun C++ 4.2, 5.x and Centerline C++
+       _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
+       _LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun'
        _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib 
-h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects 
$compiler_flags'
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} 
-h$soname -o $lib $libobjs $deplibs $compiler_flags'
        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > 
$lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo 
"local: *; };" >> $lib.exp~
-       $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o 
$lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm 
$lib.exp'
+       $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib 
$libobjs $deplibs $compiler_flags~$rm $lib.exp'
 
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
        _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -3498,15 +3500,7 @@ case $host_os in
        esac
        _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
 
-       # Commands to make compiler produce verbose output that lists
-       # what "hidden" libraries, object files and flags are used when
-       # linking a shared library.
-       #
-       # There doesn't appear to be a way to prevent this compiler from
-       # explicitly linking system object files so we need to strip them
-       # from the output so that they don't get included in the library
-       # dependencies.
-       output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 
2>&1 | grep "\-[[LR]]"`; list=""; for z in $templist; do case $z in 
conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; 
done; echo $list'
+       output_verbose_link_cmd='echo'
 
        # Archives containing C++ object files must be created using
        # "CC -xar", where "CC" is the Sun C++ compiler.  This is

reply via email to

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