ltcf-c.sh (aix4): Improve shared library configuration; require exporting symbols.

* ltcf-c.sh (aix4): Improve shared library configuration; require
        exporting symbols.
        * ltcf-cxx.sh (aix4): Define.
        * ltconfig (aix4): Define library and soname specs appropriate for
        AIX.  Define command to create export symbols list.

From-SVN: r37347
This commit is contained in:
David Edelsohn 2000-11-09 21:41:11 +00:00 committed by David Edelsohn
parent b52114d283
commit 7ca0e6d96e
4 changed files with 24 additions and 10 deletions

View File

@ -1,3 +1,11 @@
2000-11-09 David Edelsohn <edelsohn@gnu.org>
* ltcf-c.sh (aix4): Improve shared library configuration; require
exporting symbols.
* ltcf-cxx.sh (aix4): Define.
* ltconfig (aix4): Define library and soname specs appropriate for
AIX. Define command to create export symbols list.
Mon Nov 6 14:19:35 2000 Christopher Faylor <cgf@cygnus.com>
* config.sub: Add support for Sun Chorus

View File

@ -277,13 +277,13 @@ else
hardcode_direct=yes
fi
allow_undefined_flag=' ${wl}-berok'
archive_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bexpall ${wl}-bnoentry${allow_undefined_flag}'
archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}'
case "$host_os" in aix4.[01]|aix4.[01].*)
# According to Greg Wooledge, -bexpall is only supported from AIX 4.2 on
always_export_symbols=yes ;;
esac
;;
archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
# -bexpall does not export symbols beginning with underscore (_)
always_export_symbols=yes
# Exported symbols can be pulled into shared objects from archives
whole_archive_flag_spec=' '
build_libtool_need_lc=yes
;;
amigaos*)
archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'

View File

@ -135,8 +135,12 @@ case "$host_os" in
ld_shlibs=no
;;
aix4*)
# FIXME: insert proper C++ library support
ld_shlibs=no
archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
# -bexpall does not export symbols beginning with underscore (_)
always_export_symbols=yes
# Exported symbols can be pulled into shared objects from archives
whole_archive_flag_spec=' '
build_libtool_need_lc=yes
;;
chorus*)
case "$cc_basename" in

View File

@ -949,8 +949,10 @@ aix4*)
# collect2, so additional links can be useful in future.
# We preserve .a as extension for shared libraries though AIX4.2
# and later linker supports .so
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.a'
library_names_spec='${libname}${release}.a $libname.a'
shlibpath_var=LIBPATH
soname_spec='${libname}${release}.so$major.o'
export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
;;
amigaos*)