summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2001-06-04 19:33:12 +0000
committerAlexandre Oliva <aoliva@redhat.com>2001-06-04 19:33:12 +0000
commit839bbd8c6b3ca753a723d206a9783c2a5cd2f09c (patch)
treeabc2bffde9df951696cebc539185a6109b502ceb
parent566e9a30547af0a698b1d16a489d12f47b18b56e (diff)
downloadbinutils-839bbd8c6b3ca753a723d206a9783c2a5cd2f09c.tar.gz
binutils-839bbd8c6b3ca753a723d206a9783c2a5cd2f09c.tar.bz2
binutils-839bbd8c6b3ca753a723d206a9783c2a5cd2f09c.zip
* ltcf-c.sh (archive_cmds, archive_expsym_cmds) [solaris,
with_gcc]: Use `gcc -shared' to build a shared library.
-rw-r--r--ChangeLog5
-rw-r--r--ltcf-c.sh14
2 files changed, 14 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 4d29aba145b..9a770701c77 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2001-06-04 Mark Mitchell <mark@codesourcery.com>
+
+ * ltcf-c.sh (archive_cmds, archive_expsym_cmds) [solaris,
+ with_gcc]: Use `gcc -shared' to build a shared library.
+
2001-06-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
* ltcf-c.sh (archive_cmd) [hpux, with_gcc]: Use gcc to link shared
diff --git a/ltcf-c.sh b/ltcf-c.sh
index 3245424273d..1ce95e2507d 100644
--- a/ltcf-c.sh
+++ b/ltcf-c.sh
@@ -513,11 +513,15 @@ else
solaris*)
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_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'
+ if test "$with_gcc" = yes; then
+ archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+ else
+ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ 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'
+ fi
hardcode_libdir_flag_spec='-R$libdir'
hardcode_shlibpath_var=no
case $host_os in