]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
* libtool.m4 (archive_cmds, archive_expsym_cmds) [solaris*]: Changing
authorGary V. Vaughan <gary@gnu.org>
Thu, 6 Sep 2001 21:44:10 +0000 (21:44 +0000)
committerGary V. Vaughan <gary@gnu.org>
Thu, 6 Sep 2001 21:44:10 +0000 (21:44 +0000)
no_undefined_flag from `-z text' to `-z defs' (see entry below at
2001-04-11  Alexandre Oliva  <aoliva@redhat.com>) has a problem.
when linking a shared library with gcc calling /usr/ccs/bin/ld (eg.
the gcc supplied with Solaris 8 companion CD), using the flag
-no-undefined, shared library linking will always fail because of
the unresolved symbols from libgcc.a.  Consequently we have to
provide a path to libgcc.a when linking shared libraries in
conjunction with -no-undefined!

ChangeLog
bootstrap
libtool.m4

index 42c4a1f4107339e708e16b4ae4ea9594d90cdb15..c38343f79cc0f2aa3432ff1a6afa1eefe0fd7d1e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2001-09-06  Gary V. Vaughan  <gary@gnu.org>
 
+       * libtool.m4 (archive_cmds, archive_expsym_cmds) [solaris*]: Changing
+       no_undefined_flag from `-z text' to `-z defs' (see entry below at
+       2001-04-11  Alexandre Oliva  <aoliva@redhat.com>) has a problem.
+       when linking a shared library with gcc calling /usr/ccs/bin/ld (eg.
+       the gcc supplied with Solaris 8 companion CD), using the flag
+       -no-undefined, shared library linking will always fail because of
+       the unresolved symbols from libgcc.a.  Consequently we have to
+       provide a path to libgcc.a when linking shared libraries in
+       conjunction with -no-undefined!
+
        From Michael Pruett <mpruett@engr.sgi.com>:
        * libltdl/ltdl.c (find_module): `0' valued arguments to
        tryall_dlopen_module() must be explicitly cast to avoid compiler
index 076ca20eef451151732fc0306e99ea0b4ce14d34..1ea6b760f2242ed299563e43355fd0eb53980c67 100755 (executable)
--- a/bootstrap
+++ b/bootstrap
@@ -3,6 +3,8 @@
 # helps bootstrapping libtool, when checked out from CVS
 # requires GNU autoconf and GNU automake
 
+find . -name autom4te.cache -print | xargs rm -r
+
 file=Makefile.in
 
 : ${ACLOCAL=aclocal}
index e7898265d6834b168f3c6cdd2204853ff2bd4052..ed698d5dba620cef756dc81d0917f9efeb8863d7 100644 (file)
@@ -1712,9 +1712,9 @@ else
     no_undefined_flag=' -z defs'
     # $CC -shared without GNU ld will not create a library from C++
     # object files and a static libstdc++, better avoid it by now
-    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags `test "x$allow_undefined_flag" = "x$no_undefined_flag" && $CC --print-libgcc-file-name`'
     archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-               $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+               $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags `test "x$allow_undefined_flag" = "x$no_undefined_flag" && $CC --print-libgcc-file-name`~$rm $lib.exp'
     hardcode_libdir_flag_spec='-R$libdir'
     hardcode_shlibpath_var=no
     case $host_os in