Thu Jun 19 14:24:06 1997 Gordon Matzigkeit * ltmain.sh.in (install): Add a missing `test' command. Reported by Joel Weber. Miscellaneous fixes to improve robustness. From Alexandre Oliva. Sat Jun 14 21:01:03 1997 Gordon Matzigkeit * ltmain.sh.in (link): Create invalid libtool objects when partial linking if we don't have PIC. From Jeff Dairiki. (install): Fix bug if libtool object is installed to a file name without directory components. From Jeff Dairiki. Fri Jun 13 14:18:23 1997 Gordon Matzigkeit * Makefile.am (demo/configure): Fix up rules to run autoconf. (aclocal.m4): Now we depend on our own libtool.m4. * configure.in (AM_PATH_PROG_LD): Use it. * libtool.m4 (AM_PATH_PROG_LD): New macro to find the linker used by the C compiler. (AM_PROG_LIBTOOL): Use it. * ltmain.sh.in (install, uninstall): Support installing and uninstalling `.lo' files. From Jeff Dairiki. Wed Jun 11 11:04:59 1997 Gordon Matzigkeit * Makefile.am (ltconfig, ltmain.sh): Only move if $(srcdir) is not the current directory. Don't regenerate every time the package is reconfigured. Reported by Tom Tromey. (MAINTAINERCLEANFILES): Added ltconfig, ltmain.sh, so that $(srcdir) is not messed with during a regular clean. Tue Jun 10 12:26:00 1997 Gordon Matzigkeit * Makefile.am (ltconfig, ltmain.sh): Be sure to move these files into $(srcdir) once they are created. * ltmain.sh.in (link): Disable building static libraries. People should use their favourite AR and RANLIB commands. Disable building old-style objects if `--disable-static' is given. Suggested by Tom Lees and Stephen Kulow. Sun Jun 8 12:10:14 1997 Gordon Matzigkeit * ltconfig.in (host_cpu, host_vendor, host_os): Patch up definitions, to allow for the fact that the host_os may contain hyphens (as in linux-gnu). From Scott Goehring. * ltmain.sh.in (link): Move the `dlname' setting closer to the top of the file. Suggested by David Mosberger-Tang. Symlink the libtool archive into the `.libs' directory so that it can be found by programs that want to find a library's dlname by searching LD_LIBRARY_PATH. Reported by David Mosberger-Tang. Fri Jun 6 15:52:28 1997 Gordon Matzigkeit * Tell people to report bugs to the new libtool mailing list, . Thu Jun 5 10:40:15 1997 Gordon Matzigkeit * ltconfig.in (allow_undefined_flag): New variable that implements `-allow-undefined'. (archive_cmds): Enable C++ constructors for FreeBSD 2.2. From David Nugent. * ltmain.sh.in (link): Accept new `-allow-undefined' flag when building libtool libraries. This tells libtool to allow unresolved symbols to exist in shared libraries. Basically, this turns off shared libraries on AIX. Suggested by Ian Lance Taylor. Mon May 26 08:24:55 1997 Gordon Matzigkeit * libtool.m4 (LD): On at least IRIX, many different flags need to be propagated to the linker if they are part of the compiler command line. Reported by Anthony Green. Sat May 10 12:21:58 1997 Gordon Matzigkeit * ltconfig.in: Trivial port to FreeBSD 3. From David Nugent. Fri Apr 25 13:23:33 1997 Gordon Matzigkeit * ltmain.sh.in (link): Remove all traces of `-whole-archive', `-no-whole-archive', and libtool convenience libraries. They were more trouble than they're worth. If these are ever reimplemented, they need more careful attention to make portable. * libtool.m4, ltconfig.in: Added a `--disable-static' flag to turn off static library creation. From Tom Lees (who finally convinced me that it was the Right Thing to do). Tue Apr 22 12:41:34 1997 Gordon Matzigkeit * ltmain.sh.in (hardcode_runpath_var, runpath_var): Use them, if the linker has no -rpath flag. Quote the values we use to set runpath_var and shlibpath_var. (link): Use libobjlibs for libtool convenience libraries. * ltconfig.in (hardcode_runpath_var, runpath_var): Add new variables to describe linkers that honour `LD_RUN_PATH'. (host_cpu, host_os): Use these more specific variables, rather than the full canonical host system name. * ltmain.sh.in (dlname): Distinguish between missing `-export-dynamic' and when the library is only statically linked. Mon Apr 21 09:52:51 1997 Gordon Matzigkeit * ltconfig.in: Trivial port to OpenBSD by making it an alias for NetBSD. From Tim Pierce. Wed Apr 16 19:32:05 1997 Gordon Matzigkeit * ltconfig.in: Temporary measures to check for a broken collect2 program. Right now, we just see if we're using GCC on AIX 3. Sun Apr 13 19:40:58 1997 Gordon Matzigkeit * ltmain.sh.in (mode): Use `egrep -e' when inferring the operation mode. Sat Apr 12 13:09:24 1997 Gordon Matzigkeit * ltconfig.in (linker): Some GNU ld's don't accept `--version', but do accept `-v'. From Jukka Honkela. (ld_shlibs): AIX lossage may be settling down. AIX 3.2.5 ld does *not* hardcode direct libraries, but AIX 4.1.[45] ld does. Mon Apr 7 09:39:02 1997 Gordon Matzigkeit * ltconfig.in (hardcode_action): Fix silly logic error. From Bruno Haible. Sat Apr 5 11:26:06 1997 Gordon Matzigkeit * ltmain.sh.in (install): Relink if hardcode_action is `relink', rather than using complex conditionals based on the other hardcode variables. * ltconfig.in (hardcode_action): Set to `relink', not `immediate', if we can only hardcode existing directories. Rearrange conditionals to make the intent clearer, otherwise this can be one hellish piece of code for the already-dizzy libtool maintainer. Wed Apr 2 10:36:31 1997 Gordon Matzigkeit * replfunc.m4: Delete from the distribution. Documentation now describes how to set LTALLOCA and LTLIBOBJS in your own configure.in. * ltmain.sh.in (link): Make sure a libtool library only counts as a shared library if its library_names are non-null. Use timestamps for .lo's when PIC is turned off, rather than symlinking to the real object. This helps invalid mixtures of PIC and non-PIC to fail. Tue Apr 1 10:01:20 1997 Gordon Matzigkeit * Makefile.am (EXTRA_DIST): Distribute libtool.prj. * Shameless plug: Changed source code management system from CVS to PRCS. * libtool.scm: Initial Guile implementation of libtool. * ltmain.sh.in: An unexpected inconsistency in my whole approach to shared libraries has proven that libtool needs to be completely rewritten if I'm going to give full shared library support for platforms that don't use the GNU C library version 2 (which to my knowledge currently only works on GNU Hurd and Linux/GNU systems). Porting the GNU C library should not be difficult, though. Platforms that don't have the dlopen(3) family of functions will need to install GNU DLD version 4 in order to build any kind of libraries at all. Unfortunately, DLD 4 won't be released for a while, because I maintain it, and I'm too busy working on libtool. I'll keep the old ltconfig/ltmain.sh implementation around for as long as I can, and continue applying bug fixes, so that I'll have a reasonable starting point for this new libtool implementation. It looks like this implementation will be even more complex than the original (pre-0.7) libtool. Initial estimates show that it may be up to 3 times slower, and 5 times larger than libtool-0.9. I'll probably have to rewrite it in Guile to get reasonable performance, which will severely limit its portability for a while. That will also introduce a bootstrapping issue, since the next release of Guile will use libtool to build shared libraries. So, if users want to have shared Guile libraries, they will have to configure Guile with `--disable-shared', compile it, install it, then reconfigure Guile with `--enable-shared' and repeat. I was hoping to get libtool 1.0 out the door by early April, but now it looks like it will take at least another year before it'll be usable by the public at large. April fools. libtool.scm doesn't exist yet, either. * ltconfig.in (verify_host): Remove redundant `Transform *-*-linux* to *-*-linux-gnu*'. From Bruno Haible. Mon Mar 31 16:15:03 1997 Gordon Matzigkeit * Makefile.am: Use the new AUTOMAKE and ACLOCAL variables. * ltmain.sh.in (link): Only fail if a convenience library doesn't exist, and the user specified -whole-archive. Fix shell quoting that was breaking @OUTPUT@ substitution. Fri Mar 28 19:09:08 1997 Gordon Matzigkeit * ltmain.sh.in (link): Use the hardcode_libdir_separator. Convenience libraries are libtool objects if we're not building libtool libs. * ltconfig.in (hardcode_libdir_separator): Added in case the linker only honours the last of the -rpath flags (but it can contain multiple colon-separated directories), such as on OSF/1. Reported by Carl D. Roth. * ltmain.sh.in (link): Set the dlname if -export-dynamic is given. (install, uninstall): Handle the dlname file separately. * ltconfig.in (export_dynamic_flag): Added to allow programs to use reflexive dlopens. * ltmain.sh.in: Include the mode name in any help messages. (dlname): New mode to give the name to be used with dlopen(3). * ltconfig.in (AR): Allow AR to be set by the user, and export it to ltmain.sh. * ltmain.sh.in: Remove broken profiled library support. Added `-whole-archive' and `-no-whole-archive' to manipulate convenience libraries. Thu Mar 27 15:55:34 1997 Gordon Matzigkeit * ltmain.sh.in (link): Allow the creation of static convenience libraries made of libtool objects. Suggested by David Mosberger-Tang. Tue Mar 25 08:38:23 1997 Gordon Matzigkeit * ltconfig.in: On AIX, libtool also needs to look for `B' symbols in nm output. These are global variable definitions. * ltmain.sh.in: Linking with -static should link against the linklib if old_library is empty (like it is on AIX). * ltconfig.in: Change the order of OS detection, so that linux-gnu* is detected before gnu*. * Makefile.am (libtool): Use the correct CC, RANLIB, LD, when generating libtool. From Carl D. Roth. * configure.in: Find out the user-supplied CC, LD, RANLIB. From Carl D. Roth. Mon Mar 24 01:26:48 1997 Gordon Matzigkeit * ltmain.sh.in: Linking with -static should link against the old library, not linklib. * README-automake: Updated to point to Automake 1.1m. Sat Mar 15 14:15:43 1997 Gordon Matzigkeit * demo/main.c: Use it. * demo/foo.h: Declare it. * demo/foo.c: Added definition of `nothing' so that we have an global variable definition, as well as functions. Wed Mar 12 19:00:44 1997 Gordon Matzigkeit * ltconfig.in: Make sure either enable_shared or enable_static is configured. Reported by Tom Tromey. * ltmain.sh.in: Bomb out if no library types are configured. Sat Feb 22 12:47:59 1997 Gordon Matzigkeit * ltconfig.in, ltmain.sh.in (hardcode_libdir_flag_spec): Renamed from `hardcode_libdir_flag'. (library_names_spec): Renamed from `lib_names'. * ltconfig.in, ltmain.sh.in (hardcode_action): Change value from `rpath' to `immediate'. * replfunc.m4: Add AM_FUNC_ALLOCA, AM_FUNC_MEMCMP, and AM_STRUCT_ST_BLOCKS. Tue Feb 18 09:36:24 1997 Gordon Matzigkeit * ltconfig.in: Transform *-*-linux* to *-*-linux-gnu* to support old-style config.guess scripts. Mon Feb 17 23:30:32 1997 Gordon Matzigkeit * ltmain.sh.in: Create objdir *before* linking a program into it. Wed Feb 12 01:20:45 1997 Gordon Matzigkeit * ltconfig.in: Any ld --version that returns GNU is probably a GNU ld. From Marcus Daniels. * libtool.m4: Added AM_REPLACE_FUNCS. Tue Feb 11 01:28:19 1997 Gordon Matzigkeit * ltconfig.in: Trivial port to *-*-osf4. From Bruno Haible. Mon Feb 10 09:54:07 1997 Gordon Matzigkeit * ltconfig.in: AIX 3 and 4 ld only hardcodes LIBPATH if -L is not specified. This behaviour is the same with both xlc and gcc. Fri Feb 7 08:37:54 1997 Gordon Matzigkeit * doc/platforms.texi: Yaay! We found a workaround for HP-UX /bin/sh buffer overflows. From Eric Backus. Mon Feb 3 11:15:01 1997 Gordon Matzigkeit * Release 0.9. * PLATFORMS, doc/platforms.texi, Makefile.am, doc/Makefile.am: Move PLATFORMS to doc/platforms.texi. * ltmain.sh.in (link): Use hardcode_libdir_flag to get a library directory into the resulting binary. Use hardcode_action, and make many simplifying changes to have compilation and finalization be consistent with each other. * ltconfig.in: Not so amazing! It's AIX cc that hardcodes direct libraries... gcc doesn't, though. (link_rpath_flag): Change link_rpath_flag to be hardcode_libdir_flag. (hardcode_action): New variable to simplify ltmain.sh. Wed Jan 29 12:58:00 1997 Gordon Matzigkeit * ltmain.sh.in: Change to take advantage of linkers that don't hardcode direct libraries. * ltconfig.in: Amazing! AIX 3 linker doesn't hardcode direct libraries, which makes it less buggy than AIX 4. Reported by Mark Kettenis. * demo/configure.in: Check for the math library. * demo/foo.c (foo): Change to use the `cos' function, so that we need to link against another library. Tue Jan 28 20:32:19 1997 Gordon Matzigkeit * ltmain.sh.in (link): Export the PATH variable in order to find the program, rather than giving a full path. This helps give the program a less confusing value for argv[0]. Sun Jan 26 15:50:07 1997 Gordon Matzigkeit * Release 0.8. Fri Jan 24 23:32:03 1997 Gordon Matzigkeit * Makefile.am (demo_distfiles): Add demo/acinclude.m4 to the distribution. Wed Jan 22 17:22:17 1997 Gordon Matzigkeit * libtool.m4: For IRIX 6, ld needs -n32 if cc uses it. Reported by Bruno Haible. * ltconfig.in: IRIX ld does not hardcode direct libraries. Reported by Bruno Haible. Sat Jan 18 15:15:12 1997 Gordon Matzigkeit * ltconfig.in, ltmain.sh.in (hardcode_shlibpath_var): Allow new value, `unsupported', since most linkers do not allow you to use shlibpath_var for initial linking. * ltconfig.in: Lots of bug fixes from Bruno Haible. Set wl on OSF/1, fix definitions of hardcode_* variables. (archive_cmds): Fix not to use +h on HP-UX 9.x. Reported by Bruno Haible. Fri Jan 17 09:58:22 1997 Gordon Matzigkeit * libtoolize.in: Handle explicit AC_CONFIG_AUX_DIR settings. Suggested by Akim Demaille. * libtool.m4: Change ltconfig line to use $CONFIG_SHELL when it is specified. Reported by Bruno Haible. Thu Jan 16 17:57:38 1997 Gordon Matzigkeit * demo/Makefile.am (hc-direct): Do better searching for the proper name to do a direct link. (hc-libpath): Make allowances if shlibpath_var cannot be used to find libraries at link time, such as on AIX. * Makefile.am (demo_distfiles): Remove ansi2knr.1 and ansi2knr.c. * demo/foo.c, demo/hello.c, demo/main.c: Change ANSI prototypes to KNR form, for better portability, and less ansi2knr hair. * demo/configure.in: Remove AM_FUNC_PROTOTYPES. * demo/Makefile.am: Remove ansi2knr from the AUTOMAKE_OPTIONS. * demo/ansi2knr.1, demo/ansi2knr.c: Removed these files. * ltmain.sh.in: Use 1>&2 consistently to direct errors and warnings to stderr. (compile): Fix missing single quote. * ltconfig.in (hardcode_direct): On Solaris at least, using DIR/libNAME.so does not hardcode DIR, so introduce a new hardcode variable to reflect that. * ltmain.sh.in (link): If linking with $link_static_flag fails, then retry without it, but still use the .a versions of uninstalled libtool archives. Wed Jan 15 08:59:22 1997 Gordon Matzigkeit * ltmain.sh.in (link): Eval $link_static_flag. Reported by Bruno Haible. * PLATFORMS: Add to distribution. Suggested by Bruno Haible. Mon Jan 13 12:59:29 1997 Gordon Matzigkeit * ltconfig.in: Add support for SCO OpenServer 5.x. (can_build_shared): Initialize at the top of the file, so that shared libraries aren't built on platforms that don't support them. Sat Jan 11 13:29:08 1997 Gordon Matzigkeit * ltmain.sh.in, ltconfig.in, libtoolize.in, doc/libtool.texi: Update the copyright completion years. Wed Jan 8 15:01:06 1997 Gordon Matzigkeit * ltconfig.in: Port to IRIX 5.3, 6.2. Mon Jan 6 08:54:00 1997 Gordon Matzigkeit * ltconfig.in: HP-UX 9 support is the same as HP-UX 10, so the port is trivial. * libtoolize.in: Add --dry-run option, -n for short. Fri Jan 3 17:26:07 1997 Gordon Matzigkeit * ltmain.sh.in (link): On at least SunOS, /bin/sh doesn't understand "export something=val". From Bruno Haible. Thu Jan 2 13:04:17 1997 Gordon Matzigkeit * ltmain.sh.in (compile): Recognize valid source file suffixes for Fortran and C++. Tue Dec 17 23:17:17 1996 Gordon Matzigkeit * ltmain.sh.in (link): Don't allow *._o and *.l_o to be valid object type suffixes, in spite of Automake's current ansi2knr implementation. Not all compilers allow non-`.o' suffixes. Mon Dec 16 20:16:35 1996 Gordon Matzigkeit * ltmain.sh.in (link): Delete the `libtool' version type. Thu Dec 12 00:04:27 1996 Gordon Matzigkeit * ltconfig.in: Use the full autoconf syntax when checking for GNU C. Delete library stripping program, until we have a correct test. Wed Dec 11 11:41:33 1996 Gordon Matzigkeit * ltconfig.in: On AIX 3, use /usr/ucb/nm, not /ucb/nm. From ir. M.M. Kettenis. Mon Dec 9 12:06:31 1996 Gordon Matzigkeit Reported by Charles Kerr: * doc/libtool.texi (Creating Object Files): Doc fix independant -> independent. * ltconfig.in (ld_shlibs): SunOS 4 doesn't support shared library dependencies. Sun Dec 8 14:39:04 1996 Gordon Matzigkeit * Release 0.7. * Makefile.am (EXTRA_DIST): Add README-automake to the distribution. * ltmain.sh.in (link): When linking libtool libraries, use standard objects if they are PIC. This prevents spurious warnings about invalid suffixes on AIX. * demo/Makefile.am: Rename libhell to libhello, so that we're not quite as offensive. * ltconfig.in: Remove unnecessary host validity checking. * ltmain.sh.in: Don't force people to use libNAME.la: SOMETHING.la is good enough (for consistency with *.a handling). Sat Dec 7 12:31:15 1996 Gordon Matzigkeit * ltmain.sh.in (link): Accept files ending in .a as standard object files. Reported by Ulrich Drepper. Remove support for creating profiled libraries (for now). Transform all library objects into standard objects when linking a program. * ltconfig.in (thisdir): How embarrassing! An error in the regexp for finding the directory component of the script path. Thu Dec 5 14:19:21 1996 Gordon Matzigkeit * ltmain.sh.in (compile): Support `.S' (preprocessed assembler) files. Reported by Anthony Green. * libtoolize.in: Give clearer instrutions for how to update aclocal.m4. * ltconfig.in, ltmain.sh.in (link): Add support for creating reloadable objects. Wed Dec 4 00:42:53 1996 Gordon Matzigkeit * ltmain.sh.in (install): Fix passing -n flag to `libtool --finish'. (compile): Compile `.lo' and `.o' objects at the same time so that non-PIC objects (if they are available) can be used for linking into programs and creating static archives. Suggested by Ulrich Drepper. Tue Dec 3 10:43:22 1996 Gordon Matzigkeit * ltmain.sh.in (link): Give the full path to the libtool library when sourcing it. * ltconfig.in (old_striplib): Do a configuration test to determine if old-style libraries actually can be stripped or not. Mon Dec 2 13:57:28 1996 Gordon Matzigkeit * ltconfig.in: Delete reference to ABOUT-LIBS. * tests: Added new subdirectory. * doc/libtool.texi: Doc fixes, and finished up the Configuring chapter. * ltmain.sh.in (link): Allow *._o and *.l_o to be valid object file suffixes, for Automake's ansi2knr implementation. New option -version-info replaces -version-file. [help]: Give a pointer to mode-specific help when appropriate. * ltconfig.in: Changed messages to correspond to AM_PROG_CC_STDC. * demo: Also test Automake's ansi2knr support. Tue Nov 19 14:09:27 1996 Gordon Matzigkeit * ltconfig.in: Bug fixes for AIX 4, and for static platforms. * ltmain.sh.in (install): Fix for loops over arguments. Need to quote ${IFS= } -> "${IFS= }". (link): Fix soname_spec bug. Create objdir whether or not we have shared libraries. * ltconfig.in: Check for library stripping program. Use test -f instead of test -e. Mon Nov 18 20:10:42 1996 Gordon Matzigkeit * ltconfig.in: Don't run the RANLIB test unless RANLIB wasn't set. Be verbose about the environment variables we were configured with. * ltmain.sh.in (objdir): change to .libs. Sat Nov 16 12:02:03 1996 Gordon Matzigkeit * ltmain.sh.in (install): Just plunge ahead with the installation... don't try to enforce dependencies. Fri Nov 15 17:57:36 1996 Gordon Matzigkeit * ltmain.sh.in: Fix up $libdir to be $dest in install mode. Sun Nov 10 13:08:04 1996 Gordon Matzigkeit * ltmain.sh: Finished rewrite of compile, link, and install modes. * New ChangeLog file for libtool-0.7, since I've totally rewritten libtool. Fri Mar 15 14:21:15 1996 Gord Matzigkeit * For historical reasons: this is when I started writing libtool.