diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | ltcf-c.sh | 14 | ||||
-rw-r--r-- | ltcf-cxx.sh | 8 | ||||
-rwxr-xr-x | ltconfig | 4 |
4 files changed, 24 insertions, 10 deletions
@@ -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 @@ -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)' diff --git a/ltcf-cxx.sh b/ltcf-cxx.sh index c134a42..cefa008 100644 --- a/ltcf-cxx.sh +++ b/ltcf-cxx.sh @@ -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 @@ -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*) |