diff --git a/ChangeLog b/ChangeLog index 666b8470..56944d83 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,24 @@ +Fri Nov 14 10:44:07 1997 Gordon Matzigkeit + + * ltconfig.in (hardcode_libdir_flag_spec): Set to `-R' for FreeBSD + 2.2. From Sean Kelly. + (postuninstall_cmds, old_postuninstall_cmds): Commands to run + after uninstall mode deletes the libraries. Suggested by Joop van + de Wege. + +Tue Nov 11 15:05:58 1997 Gordon Matzigkeit + + * ltconfig.in, ltmain.in (sed_quote_subst): Oops. We forgot to + quote backticks. Reported by Joop van de Wege. + +Sun Nov 9 18:36:23 1997 Gordon Matzigkeit + + * ltconfig.in (symcode): On IRIX, don't extract undefined + symbols. When a function is inlined by G++, references to it are + still marked as undefined in the object file. This means that our + symbol file causes undefined references, because there are + actually no matching global symbols. Reported by Paul Kendall. + Sat Nov 8 08:11:26 1997 Gordon Matzigkeit * ltconfig.in: Don't forget to redirect the COLLECT_NAMES libtool diff --git a/NEWS b/NEWS index d19901d1..02de2d78 100644 --- a/NEWS +++ b/NEWS @@ -1,10 +1,7 @@ -NEWS - list of user-visible changes between releases of GNU libtool. +NEWS - list of user-visible changes between releases of GNU Libtool -New in 1.0f: +New in 1.0f - 1997-11-08, Gordon Matzigkeit: * Bug fixes. -* Portability fixes for Windows NT. -* Maybe use `_libs' as a temporary libtool directory instead of `.libs' - in order to cope with MS-DOS filenames. * New `-all-static' flag to prevent any dynamic linking. The regular `-static' flag now just prevents dynamic linking of libtool libraries. * The `-rpath' flag can be used to hardcode absolute directories when @@ -21,17 +18,20 @@ New in 1.0f: flags. * New rules for AM_PROG_LD to use gcc's -print-prog-name flag in order to find ld, if possible. -* Full support for broken collect2 on AIX 3. Shared libraries - can now be built with all working versions of GCC. * Allow configure.in to change the defaults for AM_PROG_LIBTOOL's `--enable-shared' and `--enable-static' flags by setting the `enable_shared' or `enable_static' shell variables to `no'. * Refuse to create libtool libraries that don't begin with `lib'. This allows us to correctly handle OSes that don't have the `lib' - prefix by default. + prefix by default, such as OS/2. +* Full support for broken collect2 on AIX 3. Shared libraries + can now be built with all working versions of GCC on AIX. +* Portability fixes for Windows NT. +* Maybe use `_libs' as a temporary libtool directory instead of `.libs' + in order to cope with MS-DOS filenames. * Support for *-*-uts4* and *-*-os2*. -New in 1.0: +New in 1.0 - 1997-07-08, Gordon Matzigkeit: * Bug fixes. * Better configuration test to find the system linker. The old test was failing because people frequently install GNU ld, but don't @@ -51,13 +51,13 @@ New in 1.0: * Support *-*-linux-gnu* as an alias for *-*-linux*. * Support for *-*-openbsd* and *-*-freebsd3*. -New in 0.9: +New in 0.9 - 1997-02-03, Gordon Matzigkeit: * Bug fixes. * The libtool demo now uses the libm cos(3) function, to demonstrate inter-library dependencies. * The PLATFORMS file has been moved to doc/platforms.texi. -New in 0.8: +New in 0.8 - 1997-01-26, Gordon Matzigkeit: * Bug fixes, and more documentation. * Basic support for other language compilers (C++, Fortran, and preprocessed assembler). @@ -70,7 +70,7 @@ New in 0.8: been rewritten to avoid ANSI-only constructs. * Support for *-*-irix5, *-*-irix6*, and *-*-sco3.2v5*. -New in 0.7: +New in 0.7 - 1996-12-08, Gordon Matzigkeit: * Total rewrite of libtool, along with a new model for library building. * Completely rewritten documentation for the new paradigm. * Sane handling of broken system linkers, such as the ones on AIX diff --git a/PACKAGES b/PACKAGES index 918efc8c..6ca9dce5 100644 --- a/PACKAGES +++ b/PACKAGES @@ -11,6 +11,8 @@ SANE (Scanner Access Now Easy): http://www.azstarnet.com/~davidm/ PalmOS/Pilot pilot-link: ftp://ryeham.ee.ryerson.ca/pub/PalmOS/ Gnans (stochastic and deterministic dynamic systems solver): http://www.mathematik.uni-bremen.de/~bengt/ +Amanda (The Advanced Maryland Automatic Network Disk Archiver): + http://www.amanda.org/ Nonfree: ======== diff --git a/configure.in b/configure.in index 697d6bed..7785d943 100644 --- a/configure.in +++ b/configure.in @@ -1,6 +1,6 @@ dnl Process this file with autoconf to create configure. AC_INIT(ltmain.in) -AM_INIT_AUTOMAKE(libtool,1.0f) +AM_INIT_AUTOMAKE(libtool,1.0g) pkgdatadir='${datadir}/libtool' AC_SUBST(pkgdatadir) diff --git a/doc/platforms.texi b/doc/platforms.texi index 7af819ca..f35301a0 100644 --- a/doc/platforms.texi +++ b/doc/platforms.texi @@ -4,34 +4,37 @@ canonical host name compiler libtool results -------------------------------------------------------- alpha-dec-osf3.2 cc 0.8 ok alpha-dec-osf3.2 gcc 0.8 ok -alpha-dec-osf4.0 cc 0.9 ok -alpha-dec-osf4.0 gcc 0.9 ok +alpha-dec-osf4.0 cc 1.0f ok +alpha-dec-osf4.0 gcc 1.0f ok alpha-unknown-linux gcc 0.9h ok -hppa1.1-hp-hpux9.05 cc 0.8 ok -hppa1.1-hp-hpux9.05 gcc 0.8 ok +hppa1.1-hp-hpux9.07 cc 1.0f ok +hppa1.1-hp-hpux9.07 gcc 1.0f ok hppa1.1-hp-hpux10.10 cc 0.9h ok hppa1.1-hp-hpux10.10 gcc 0.9h ok i386-unknown-freebsd2.1.5 gcc 0.5 ok i386-unknown-gnu0.0 gcc 0.5 ok i386-unknown-netbsd1.2 gcc 0.9g ok i586-pc-linux-gnu1.3.20 gcc 1.0 ok -i586-pc-linux-gnu2.0.16 gcc 1.0a ok +i586-pc-linux-gnu2.0.30 gcc 1.0f ok mips-sgi-irix5.3 cc 0.8 ok mips-sgi-irix5.3 gcc 0.8 ok mips-sgi-irix6.2 cc -32 0.9 ok mips-sgi-irix6.2 cc -n32 0.9 ok +mips-sgi-irix6.3 cc 1.0f ok +mips-sgi-irix6.3 irix5-gcc 1.0f ok mipsel-unknown-openbsd2.1 gcc 1.0 ok -powerpc-ibm-aix4.1.4.0 xlc 1.0 ok +powerpc-ibm-aix4.1.4.0 xlc 1.0f ok powerpc-ibm-aix4.1.4.0 gcc 1.0 ok rs6000-ibm-aix3.2.5 xlc 1.0a ok rs6000-ibm-aix3.2.5 gcc 1.0a ok* sparc-sun-linux2.1.23 gcc 0.9h ok -sparc-sun-sunos4.1.4 cc 1.0 ok -sparc-sun-sunos4.1.4 gcc 1.0 ok +sparc-sun-sunos4.1.3 gcc 1.0f ok +sparc-sun-sunos4.1.4 cc 1.0f ok +sparc-sun-sunos4.1.4 gcc 1.0f ok sparc-sun-solaris2.4 cc 1.0a ok sparc-sun-solaris2.4 gcc 1.0a ok -sparc-sun-solaris2.5 cc 1.0a ok -sparc-sun-solaris2.5 gcc 1.0a ok +sparc-sun-solaris2.5 cc 1.0f ok +sparc-sun-solaris2.5 gcc 1.0f ok -------------------------------------------------------- * Some versions of GCC's collect2 linker program cannot link trivial diff --git a/ltconfig.in b/ltconfig.in index f69774de..8415541d 100755 --- a/ltconfig.in +++ b/ltconfig.in @@ -41,10 +41,10 @@ help="Try \`$progname --help' for more information." # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. -sed_quote_subst='s/\([\\"$\\\\]\)/\\\1/g' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' # Same as above, but don't quote variable references. -double_quote_subst='s/\([\\"\\\\]\)/\\\1/g' +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' # Global variables: can_build_shared=yes @@ -293,6 +293,7 @@ esac # Determine commands to create old-style static archives. old_archive_cmds='$AR cru $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= # Set a sane default for `AR'. test -z "$AR" && AR=ar @@ -692,7 +693,7 @@ else case "$host_os" in aix3*) allow_undefined_flag=unsupported - archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '"'s/.* //'"' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE$deplibs;$AR cru $lib $objdir/$soname' + archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE$deplibs;$AR cru $lib $objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes @@ -705,7 +706,7 @@ else aix4*) allow_undefined_flag=unsupported - archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '"'s/.* //'"' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry$deplibs;$AR cru $lib $objdir/$soname' + archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry$deplibs;$AR cru $lib $objdir/$soname' hardcode_direct=yes hardcode_minus_L=yes ;; @@ -716,6 +717,7 @@ else # extra space). freebsd2.2*) archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no @@ -869,6 +871,10 @@ case "$host_os" in aix*) symcode='[BCDTU]' ;; +irix*) + # Cannot use undefined symbols on IRIX because inlined functions mess us up. + symcode='[BCDEGRST]' + ;; solaris2*) symcode='[BDTU]' ;; @@ -1028,6 +1034,7 @@ library_names_spec= libname_spec='lib$name' soname_spec= postinstall_cmds= +postuninstall_cmds= finish_cmds= shlibpath_var= version_type=none @@ -1206,14 +1213,15 @@ for var in old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \ link_static_flag no_builtin_flag export_dynamic_flag_spec \ profile_flag_pattern libname_spec library_names_spec soname_spec RANLIB \ old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \ - archive_cmds postinstall_cmds \ + old_postuninstall_cmds archive_cmds postinstall_cmds postuninstall_cmds \ allow_undefined_flag finish_cmds global_symbol_pipe \ striplib old_striplib \ hardcode_libdir_flag_spec hardcode_libdir_separator; do case "$var" in reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \ - old_postinstall_cmds | archive_cmds | postinstall_cmds | finish_cmds) + old_postinstall_cmds | old_postuninstall_cmds | archive_cmds | \ + postinstall_cmds | postuninstall_cmds | finish_cmds) # Double-quote double-evaled strings. eval "$var=\`echo \"\$$var\" | sed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\"\`" ;; @@ -1316,6 +1324,7 @@ soname_spec="$soname_spec" RANLIB="$RANLIB" old_archive_cmds="$old_archive_cmds" old_postinstall_cmds="$old_postinstall_cmds" +old_postuninstall_cmds="$old_postuninstall_cmds" # Create an old-style archive from a shared archive. old_archive_from_new_cmds="$old_archive_from_new_cmds" @@ -1323,6 +1332,7 @@ old_archive_from_new_cmds="$old_archive_from_new_cmds" # Commands used to build and install a shared archive. archive_cmds="$archive_cmds" postinstall_cmds="$postinstall_cmds" +postuninstall_cmds="$postuninstall_cmds" # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag="$allow_undefined_flag" diff --git a/ltmain.in b/ltmain.in index 8fb8a40f..43e3ef1e 100644 --- a/ltmain.in +++ b/ltmain.in @@ -66,7 +66,7 @@ rm="rm -f" # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. -sed_quote_subst='s/\([\\"$\\\\]\)/\\\1/g' +sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' # NLS nuisances. # Only set LANG and LC_ALL to C if already set. @@ -1983,7 +1983,7 @@ EOF done for libdir in $libdirs; do - # Do each command in the postinstall commands. + # Do each command in the finish commands. cmds=`eval \\$echo \"$finish_cmds\"` IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' for cmd in $cmds; do @@ -2174,6 +2174,33 @@ EOF test -n "$dlname" && rmfiles="$rmfiles $dir/$dlname" test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library" + $show "$rm $rmfiles" + $run $rm $rmfiles + + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + cmds=`eval \\$echo \"$postuninstall_cmds\"` + IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + cmds=`eval \\$echo \"$old_postuninstall_cmds\"` + IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. fi ;; @@ -2183,11 +2210,15 @@ EOF oldobj=`$echo "$name" | sed 's/\.lo$/\.o/'` rmfiles="$rmfiles $dir/$oldobj" fi + $show "$rm $rmfiles" + $run $rm $rmfiles ;; - esac - $show "$rm $rmfiles" - $run $rm $rmfiles + *) + $show "$rm $rmfiles" + $run $rm $rmfiles + ;; + esac done exit 0 ;; diff --git a/tests/ChangeLog b/tests/ChangeLog index e6bb13d2..c04d18f2 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,7 @@ +Tue Nov 11 15:08:12 1997 Gordon Matzigkeit + + * quote.test: Add backticks to the backslashify test. + Tue Oct 7 10:48:37 1997 Gordon Matzigkeit * hardcode.test (hardcode_libdir_flag_spec): Check the hardcoding diff --git a/tests/quote.test b/tests/quote.test index 3bf5d88c..17a8a926 100755 --- a/tests/quote.test +++ b/tests/quote.test @@ -81,7 +81,7 @@ for mode in compile link install; do esac # Metacharacters that should be backslashified. - for mchar in \\ \" \$; do + for mchar in \\ \" \` \$; do $echo "= trying: \\$mchar quoting" result=`$libtool -n --mode=$mode $preargs "${flag}${mchar}test${mchar}" $postargs` || status=1 case "$result" in