1998-11-19 Alexandre Oliva * ltmain.in: missing `test' between `&&' and `"$module"' * ltconfig.in (echo_test_string): the whole ltconfig script was too much for DU4.0's ksh, but the first 50 lines will be enough. * ltmain.in (installed): new variable defined within a .la file, so that libtool can now link already-installed libraries into a program. * NEWS: ditto * doc/libtool.texi (Linking executables): document it * ltmain.in (output_objdir): compute it from $output, not $arg 1998-11-18 Alexandre Oliva * NEWS: -module and libtldl * mdemo/Makefile.am: ../libltdl is within $(srcdir) 1998-11-18 Thomas Tanner * libltdl, Makefile.am: added libltdl (a system independent dlopen wrapper library extracted from mdemo) * ltmain.in: added -module flag for compiling and linking of modules. If enabled it compiles always both .o (with -DLT_RENAME) and .lo files * mdemo: modified mdemo to work with libltdl * tests/ltdl*: added tests for libltdl 1998-11-16 Steve Price * ltconfig.in: when $host_os is freebsd[23]* determine whether the current linker format is a.out or ELF * ltmain.in: add two new $version_type's, freebsd-aout and freebsd-elf, to support above change 1998-11-16 Stephan Kulow * ltconfig.in: extent no_builtin_flag to contain -fno-rtti and -fno-exceptions in case we compile with a gcc, that supports this options (egcs and gcc >= 2.8) 1998-11-16 Alexandre Oliva * ltmain.in (C_compiler): copy $CC before it is overwritten with command-line compiler, so that we can use it to compile C sources generated during the build. This fixes the problem that showed up with -export-dynamic of C++ programs in egcs 1.1. * NEWS: ditto 1998-11-12 Alexandre Oliva * PORTING: Porting instructions are in the libtool manual already * NEWS: Mention -export-symbols and new dlpreopen 1998-11-11 Alexandre Oliva * ltmain.in (IFS): revert Gary's patch when parsing version information; we still use `:' here :-) * NEWS: updated * PORTING: new file, with general instructions and inter-library dependencies tips 1998-11-11 Gary V. Vaughan * ltconfig.in: make use of '~' field separator in reload_cmds, old_archive_from_new_cmds, old_archive_cmds, archive_cmds, old_postinstall_cmds, postinstall_cmds, old_postuninstall_cmds, postuninstall_cmds and finish_cmds, so that the semi-colons inside if/then/else/fi and for/do/done etc. do not break the eval loop in ltmain.in (below). * ltmain.in: changed all of the eval loops to use an IFS of `~', to allow differentiation between the end-of-statement-; (now `~' is used) and end-of-substatement-; (still `;'). This fixes AIX and win32 at least. 1998-11-11 Alexandre Oliva * ltconfig.in (sunos*, sympat, symxfrm): remove underscore prepended by the compiler 1998-11-10 Toshio Kuratomi * ltconfig.in: re-enable deplibs * ltmain.in: support deplibs, at least for GNU/Linux/x86 Updated to current libtool by Thomas Tanner 1998-11-10 Gordon Matzigkeit * ltmain.in (link): Make the relink warning less harsh. 1998-11-07 William M. Perry * ltconfig.in (aix3, aix4): uniquify symbol names in archive_cmds 1998-11-07 Alexandre Oliva * ltconfig.in: add --falback-echo, to be used if everything else fails. The tests now check the behavior of $echo for very large strings, because some echo commands would just core dump (e.g., Solaris' printf). If too large strings fail, smaller ones are tested. (ltecho): arrange that, if the --fallback-echo method is selected, echo will be defined in the libtool script so as to re-run itself, not ltconfig * ltmain.in: add --fallback-echo (qecho) ensure that, if --falback-echo is being used, qecho is defined with the full pathname of the libtool script 1998-11-07 Thomas Tanner * mdemo/main.c: removed hardcoded library names; link against -lm * tests/mdemo-exec, tests/mdemo-inst: pass the library names to the program 1998-11-07 Marc J. Fraioli * README: Added DG/UX * doc/PLATFORMS: ditto 1998-11-04 Michael Tiemann * ltconfig.in (irix6): it's a little bit different from irix5 1998-11-04 Alexandre Oliva * THANKS: Added Thomas Tanner and Gary V. Vaughan * ltconfig.in, ltmain.in: updated and fixed the patches below 1998-11-04 Thomas Tanner * mdemo/*: added new demo to demonstrate building of dlopenend modules * tests/Makefile.am, tests/mdemo*: added some tests for mdemo 1998-11-04 Gary V. Vaughan * demo/configure.in: added AC_EXEEXT macro so that the tests can work on cywin32/mingw32 hosts. This requires the current CVS autoconf 1998-11-04 Thomas Tanner * ltmain.in: New flag -export-symbols; new dlpreopen system * demo/dlmain.c: removed dld_preloaded_symbol_count 1998-11-04 Ian Lance Taylor * ltmain.in: On installation, don't get confused if the same name appears more than once in the list of library names. 1998-11-04 Ian Lance Taylor * ltconfig.in: Add objext and libext variables. Check for object suffix. Check for mingw32* as well as cygwin32*. Use objext when testing compiler. Add support for Visual C++ on cygwin32 when not using gcc. Add objext, libext, and fix_srcfile_path to generated libtool script. * ltmain.in: Use .${objext} rather than .o. Use fix_srcfile_path if it is set. Check for .obj as well as for .o, and for .lib as well as for .a. Use .${libext} rather than .a when creating old libraries. * libtoolize.in: Change initial /bin/sh to @SHELL@. * libtool.m4 (AM_PROG_LIBTOOL): Add AC_REQUIRE for AC_CANONICAL_BUILD, so that autoconf doesn't get mixed up by the AC_REQUIRE in AC_CHECK_TOOL. 1998-11-04 Ian Lance Taylor * ltconfig.in: Look in the right directory for libtool.c in archive_cmds for cygwin32. 1998-11-04 Ian Lance Taylor * ltconfig.in: Fix cygwin32 support to avoid using a double extension, to delete the def file, to set version_type to windows, and to include versuffix in the DLL name. * ltmain.in: Add support for a version_type of windows. 1998-11-04 Ian Lance Taylor * ltconfig.in: Add cygwin32 support. * libtool.m4 (AM_PROG_LIBTOOL): Call AM_SYS_LIBTOOL_CYGWIN32 on a cygwin32 host. Pass DLLTOOL and AS to ltconfig. (AM_SYS_LIBTOOL_CYGWIN32): New macro. 1998-11-04 Alexandre Oliva * libtool.m4 (sco): fix typo 1998-11-04 Ian Lance Taylor * ltconfig.in: On AIX, don't treat GNU ld specially. 1998-11-04 Alexandre Oliva * ltconfig.in (hardcode_minus_L): Revert Ian's patch for ltconfig.in. Although -L hardcoding is not used with GNU ld, it does happen, so hardcode_minus_L must be set to yes. * ltconfig.in (compiler_o_lo): check whether we can write directly to a .lo * ltmain.in (compiler_o_lo): if not, write to .o and rename it 1998-11-04 Ian Lance Taylor * ltconfig.in: For sunos4 using GNU ld, set hardcode_minus_L to no. * ltmain.in: Add some hacks to make SunOS --enable-shared work when using GNU ld. 1998-11-04 Alexandre Oliva * THANKS: Added Marc J. Fraioli 1998-11-04 Marc J. Fraioli * ltconfig.in (dgux): new supported platforms 1998-11-04 Alexandre Oliva * ltconfig.in (need_locks): if neither `-c -o' nor hard links are available, fallback to not so safe mechanism, by setting need_locks to warn * ltmain.in (need_locks): when need_locks is set to warn, use the lockfile to try to fail in case of incorrect concurrent builds * THANKS: Added Eric Estievenart 1998-11-04 Eric Estievenart * doc/libtool.texi (Compile mode): Document that -o is fully supported. * libtool.m4 (libtool-lock): new ARG_ENABLE; sets (need_locks) * ltconfig.in (disable-lock): control need_locks (hard_links): check whether hard-links can be used for locking * ltmain.in (need_locks): use $output_obj.lock for locking 1998-11-03 Alexandre Oliva * ltmain.in: correctly create libraries and programs with directory components in their names 1998-11-03 Eric Estievenart * ltmain.in (output_obj): typo 1998-11-02 Ian Lance Taylor * ltconfig.in: For sunos4, add ${libname}.so$versuffix to library_names_spec. * ltmain.in: For version_type of sunos, set versuffix even if -version-info was not used. 1998-11-02 Alexandre Oliva * ltmain.in (libobj): default value must not contain directory components 1998-11-02 Eric Estievenart * ltconfig.in (compiler): detect if the compiler supports -c and -o flags, create a variable compiler_c_o. Also issue a big warning if it is not supported * ltmain.in (compile): enable the -o option as input for libtool. The objects are not moved if the compiler supports -o with -c. Sources and objects can contain relative directories. (link): enable the linking of executables into relative directories 1998-11-02 Alexandre Oliva * AUTHORS: added myself as a co-maintainer * THANKS: and removed my name from here * autogen: new script; run it to bootstrap libtool after checking it out from CVS * libtool.m4 (CFLAGS): check whether -belf is needed on SCO, as suggested by Robert Lipe 1998-10-31 Gordon Matzigkeit * demo/Makefile.am (hc-libpath): Use parameters from the libtool in the top build directory, since the one in the demo directory is not guaranteed to exist. 1998-10-27 Alexandre Oliva * demo/Makefile.am (objdir): there are no longer quotes around objdir in the libtool script 1998-10-27 Gordon Matzigkeit * ltconfig.in (dynamic_linker): Echo the result to fd 6, so that --silent works correctly. From William M. Perry. 1998-09-24 Gordon Matzigkeit * ltmain.in (link): Fix problems when building only static libraries. From Owen Taylor. 1998-08-20 Gordon Matzigkeit * ltmain.in (install): When library_names_spec has redundancies, avoid deleting the main library when installing symlinks. From Jeff Dairiki. (link): Get rid of backticks in a here doc comment. This causes segfaults on Solaris 2. From Aleksandar Bakic. (finish): Don't display messages * ltconfig.in (archive_cmds): On HP-UX 9, make sure we don't try to move a file to itself. From Jeff Dairiki. 1998-08-19 Gordon Matzigkeit * ltconfig.in: Make changes to accomodate ltmain.c. * Makefile.am (clibtool): New target for the C version of libtool. * ltmain.c: Experimental C version of libtool. 1998-07-10 Ian Lance Taylor * ltmain.in (install): Test against both $SHELL and /bin/sh. 1998-06-30 Gordon Matzigkeit * ltmain.in: Convenience archive support. From Ulrich Drepper. * ltconfig.in (postinstall_commands): Change libraries to be executable on Solaris in order to prevent ldd from moaning. From Julian Gosnell. (whole_archive_flag_spec): New variable to shortcut convenience archive expansion. From Ulrich Drepper. 1998-06-11 Gordon Matzigkeit * ltconfig.in, ltmain.in: Change globs to accept forward slashes in absolute directory names used on DOS-like systems. From Robert S. Maier. Thu May 28 18:59:08 1998 Ian Lance Taylor * ltconfig.in: Use $SHELL when invoking shell scripts. 1998-05-21 Gordon Matzigkeit * ltmain.in (compile): Don't have `-static' turn off libtool libraries, so that people can use it just to guarantee that `.o' files exist. Suggested by David Mosberger-Tang. 1998-05-18 Gordon Matzigkeit * ltmain.in (link): Possibly reexec the shell from within the wrapper script. Allow `-version-info' and `-release' to coexist again. If people want to shoot themselves in the foot, I'd better let them do so, so that people who are smart enough not to can squeeze out another ounce of functionality. From Tim Janik. (version_vars): Delete dead variable. * ltconfig.in (hardcode_minus_L): FreeBSD 3.0 doesn't hardcode, at last. Reported by Jason Nordwick. * libtoolize.in, ltconfig.in, ltmain.in: Change a bunch of `if test ...; then : ; else ...' constructs to `if test ! ...; then ...', for clarity. 1998-05-17 Gordon Matzigkeit * ltmain.in (LC_ALL, LANG): Save these values and restore them during execute mode. From Pavel Kankovsky. (mode): Accept strace and truss as programs that throw us into execute mode. From Pavel Kankovsky. 1998-05-07 Ian Lance Taylor * ltconfig.in: Don't use .$versuffix or .$major. Instead, assume the variable will include any required prefix. * ltmain.in: If no -version-info option was used, produce empty version strings rather than 0.0.0. When making library symlinks, avoid making a symlink if the name would be the same. 1998-04-27 Gordon Matzigkeit * ltmain.in (link): Support `unsupported' as a hardcode_action. Reported by Lars Hecking. (lib_linked): Do some sanity checking to make sure that we actually do link libtool libraries into the program to prevent the above problem from happening again. 1998-04-20 Gordon Matzigkeit * ltmain.in: Maybe reexec under $SHELL, if $echo doesn't work. Reported by Lars Hecking. 1998-04-19 Gordon Matzigkeit * Makefile.am (maintainer-rekey): New rule to force us to change Project-Version after we make a release. This keeps all version numbers in sync, rather than branching just before the release. (maintainer-release, maintainer-checkin): Use maintainer-rekey. * ltmain.in (finish): Notice when a finish command fails, so that we can add it to the list of recommendations. 1998-04-17 Gordon Matzigkeit * libtool.m4 (AM_PROG_LIBTOOL): Append file descriptor 5 to config.log, so that configure doesn't clobber the messages that ltconfig put there. From David Taylor. 1998-04-15 Gordon Matzigkeit * ltconfig.in (archive_cmds): Try using `$CC -shared' when configuring for GCC under irix5 and irix6. From Wolfram Gloger. (ofile): Add `--output' flag to change the name of the generated libtool. Suggested by Wolfram Gloger. 1998-04-14 Gordon Matzigkeit * ltmain.in: Remove all hardcoded references to ltmain.in in favour of $PACKAGE and $PROGRAM. (install): Compute the installation name for programs, in case we install a relinked file which has a different name. Reported by Pieter Schoenmakers. * ltconfig.in (echo): Try using the ksh(1) `print -r' builtin command, before reverting to printf(1). * Makefile.am (libtool): Use $(SHELL) when invoking ltconfig. * ltconfig.in (echo): Rewrite the test for a working echo so that we win on Solaris by avoiding printf(1), if possible. 1998-04-13 Ian Lance Taylor * libtool.m4 (AM_PROG_NM): Don't override NM in the environment. 1998-04-13 Gordon Matzigkeit * ltmain.in: New `--config' flag to print out all configured variables. * libtool.m4: Pass ltconfig the undocumented --no-reexec flag, since we call it explicitly using CONFIG_SHELL. * ltconfig.in: Restart the script under a different shell if CONFIG_SHELL is not /bin/sh. This way, people can use Bash if they don't have a working echo program. * ltmain.in, ltconfig.in: Use $SHELL instead of /bin/sh when generating executable scripts. * libtoolize.in, ltconfig.in, ltmain.in: Implement the `--debug' flag to begin shell tracing. * ltconfig.in (archive_cmds): Don't use `gcc -shared', even if we have GNU ld. Reported by Robert S. Maier. 1998-04-06 Gordon Matzigkeit * ltconfig.in (pic_flag): Create more than just a null C file, so that the SunPRO 4.2 cc doesn't complain. From Bob Friesenhahn. (gnu_ld_acts_native): Delete this variable. There is just too much version skew to try to pretend GNU ld is the same as the system ld. Reported by Ian Lance Taylor. (hardcode_action): Don't bother relinking or aborting on systems that are too dynamic to have a consistent hardcode method. Reported by Doug Winterburn. 1998-03-24 Gordon Matzigkeit * doc/libtool.texi: A little proofreading. From Albert Chin-A-Young. 1998-03-23 Gordon Matzigkeit * ltconfig.in: Treat HP-UX 11 just like HP-UX 10. From Jeff Law. 1998-03-21 Gordon Matzigkeit * ltconfig.in (reload_flag): Correct a tiny bug where `--silent' would still print out the reload flag. From Stephan Kulow. 1998-03-20 Ian Lance Taylor * libtool.m4: Use changequote to avoid problems with square bracket patterns. 1998-03-20 Gordon Matzigkeit * Release 1.2. 1998-03-18 Gordon Matzigkeit * ltmain.in: Rearrange some of the echos to make them more consistent. 1998-03-14 Gordon Matzigkeit * ltmain.in: Break up an echo command that causes Solaris printf to dump core. Apparently the Solaris people hardcoded a 2110-byte buffer into their printf(1). Feh. From John Judge. 1998-03-11 Gordon Matzigkeit * ltconfig.in: Change the test for the PIC compiler flag so that we assume it doesn't work if there are any warning messages. This fixes a bug using old GCC's on HP-UX. Reported by Akim Demaille. 1998-03-10 Andreas Schwab * Makefile.am ($(srcdir)/ltconfig): Remove bogus command to create a file ltconfig in the build directory. 1998-03-09 Andreas Schwab * ltmain.in: Avoid unnecessary use of command substitution, replacing foo=`eval \\$echo \"$mumble\"` by eval foo=\"$mumble\". (link): Use ${1+"$@"} in wrapper scripts in order to pass arguments safely to a program. * ltconfig.in: Use -fpic instead of -fPIC if $host_cpu matches m68*. 1998-03-08 Gordon Matzigkeit * Release 1.1. * ltmain.in: I like `here documents' a lot, but apparently they are so badly handled by old and buggy /bin/sh's, that replacing `cat < * ltconfig.in: Copy the contents of ltmain.sh into the generated libtool. This should more than halve the execution times on old or buggy /bin/sh systems, such as HP-UX 9 and SunOS 4.1.4. From Tom Lane. 1998-03-05 Gordon Matzigkeit * libtool.m4 (AM_ENABLE_SHARED, AM_ENABLE_STATIC): Add support for the `default' package, so that people can control unnamed packages. (LD): Only add an ABI flag under IRIX 6.x, since IRIX 5.x doesn't support them. From Alexandre Oliva. 1998-03-01 Gordon Matzigkeit * ltconfig.in: Port to UnixWare 2.x. From Christopher Olsen. 1998-02-25 Gordon Matzigkeit * ltmain.in (compile): For consistency, honour the `-static' flag during compilation. 1998-02-23 Brendan Kehoe * libtool.m4 (AM_ENABLE_SHARED, AM_ENABLE_STATIC): For --enable-shared, heed the value of $PACKAGE from AM_INIT_AUTOMAKE if given as the argument for the library to be built shared. 1998-02-20 Gordon Matzigkeit * libtool.m4, ltconfig.in (NM): Fix up a typo confusion between $ac_dir and $dir. Reported by Akim Demaille. * ltmain.in (link): Don't allow both `-version-info' and `-release'. Reported by Danny Backx. 1998-02-18 Gordon Matzigkeit * Makefile.am (noinst_SCRIPTS): Remove lineno from distribution. * lineno: Remove from distribution, as it is no longer needed. * Makefile.am ($(srcdir)/ltconfig.in, $(srcdir)/ltmain.sh): Rewrite these rules not to use config.status or lineno. This makes things simpler, and reduces dependencies, so that the scripts are rebuilt and installed in srcdir only when necessary. Reported by Stephan Kulow. 1998-02-16 Gordon Matzigkeit * libtool.m4, ltmain.in, ltconfig.in: Correctly identify absolute directory names on MS-DOS. Suggested by Bob Friesenhahn. * ltconfig.in, ltmain.in, libtool.m4: Change a bunch of `sed N!d' commands to `sed Nq', for efficiency. * ltmain.in: Only egrep the first few lines of files in order to determine if they were libtool-generated. This prevents egrep(1) from taking forever to look at a 10MB binary on Solaris. From Stephan Kulow. 1998-02-11 Gordon Matzigkeit * ltconfig.in (no_undefined_flag): Add a flag to declare under Solaris that the library should not have any undefined references. Suggested by Bob Friesenhahn. * ltmain.in (mkdir): Fix one more mkdir race. From H.J. Lu. 1998-02-08 Gordon Matzigkeit * ltconfig.in, ltmain.in (striplib, old_striplib): Ditto. * ltconfig.in (profile_flag_pattern): Get rid of dead code. 1998-02-07 Gordon Matzigkeit * libtool.m4 (AM_ENABLE_SHARED, AM_ENABLE_STATIC): New macros to modify the `--enable-shared' and `--enable-static' defaults in the configure script. This works a lot better than the old `enable_shared' and `enable_static' variables did. Reported by Bob Friesenhahn. 1998-02-07 Samuel Tardieu * ltmain.in: Recognize .ada, .ads and .adb as known suffixes (they are used by GNAT, the GNU Ada compiler). 1998-02-06 Gordon Matzigkeit * ltconfig.in: Turn on IRIX shared libraries again! * libtool.m4 (LD): Use file(1) to discover which ABI we're using on IRIX, and propagate the correct linker flag. From Jim Wilson. * ltconfig.in, ltmain.in (Xsed): `arg=-n; echo "$arg" | sed ...' gives problems, because the `-n' is interpreted as an option to echo(1). So, use `echo "X$arg" | sed -e 's/^X//' ...' everywhere, via the $Xsed convenience variable. Suggested by H.J. Lu. 1998-02-02 Gordon Matzigkeit * ltconfig.in: Turn off IRIX shared library support until 32-bit and 64-bit ABI differences can be resolved. 1998-01-28 Gordon Matzigkeit * libtool.m4 (LD): Reverse yesterday's change because `-old_ld' isn't accepted by GCC. 1998-01-27 Gordon Matzigkeit * ltconfig.in (soname_spec): Add in user-specified release numbers for every host system that supports an soname that differs from the linkname. * libtool.m4 (LD): Add `-old_ld' to the list of flags that need to be passed through on SGI. Reported by Chris Lee. * ltmain.in (release): Prepend a hyphen to the release number, and fix a typo because `-version-info' takes only 3 args. From H.J. Lu. 1998-01-25 Gordon Matzigkeit * ltconfig.in (library_names_spec): On Linux, use the user-specified release. * ltmain.in (link): Allow the user to specify a release number for the library using the `-release' flag. Suggested by H.J. Lu and Ian Lance Taylor. 1998-01-19 Gordon Matzigkeit * ltconfig.in (old_postuninstall_cmds): Reorder so that chmod happens after ranlib. From Markus F.X.J. Oberhumer. * ltmain.in (mode): Added `gcc*' and `*-gcc*' to the patterns that recognize compilers. From Pieter Schoenmakers. (link): Recognize `.a' files again. Suggested by Pieter Schoenmakers. 1998-01-18 Gordon Matzigkeit * ltmain.in (compile): Recognize `.asm' extension, for use with the nasm assembler. From Markus F.X.J. Oberhumer. 1998-01-12 Gordon Matzigkeit * ltconfig.in (runpath_var): Use instead of `hardcode_runpath_var'. 1998-01-11 Gordon Matzigkeit * ltmain.in (finish): Add a better --finish message. Suggested by Kenneth Albanowski. * ltconfig.in, ltmain.in: Fix a few typos. 1998-01-03 Gordon Matzigkeit * ltmain.in (link): Quote the definition of $echo in the wrapper script. * ltconfig.in (export_dynamic_flag_spec): Use `--export-dynamic' instead of `-export-dynamic', which is not accepted by all GNU ld's. From Eiichi Takamori. * ltmain.in (install): Don't print silly `library stripping' warnings. Reported by François Pinard. 1997-12-19 Gordon Matzigkeit * ltmain.in: Don't forget to quote the CDPATH substitution. From Tor Lillqvist. 1997-12-18 Gordon Matzigkeit * ltconfig.in, ltmain.in (CDPATH): Unset this environment variable so that HP-UX shells, at least, don't print out the directory name after a `cd' command. From Tor Lillqvist. 1997-12-10 Gordon Matzigkeit * demo/Makefile.am (hardcode): Change a bunch of references to `$(LIBS)' to `-lm', since we no longer put -lm in LIBS. * demo/configure.in: Delete the test for libm, since it is standard on every system. * demo/Makefile.am (libhello_la_LDFLAGS): Change to include -lm, in accordance with new inter-library dependency code. * ltmain.in (dependency_libs): Added to help people link programs without having to explicitly specify inter-library dependencies. * ltconfig.in (COLLECT_NAMES): Oops... I forgot to apply the AIX 3 restriction to the generated libtool script. Reported by Stefan Westerfeld. 1997-12-05 Gordon Matzigkeit * ltconfig.in (thisdir): Quote $echo in the generated libtool script for HP-UX. From Markus F.X.J. Oberhumer. * ltmain.in (link): Recognize the `.s' suffix. From Markus F.X.J. Oberhumer. * ltconfig.in (link_static_flag): Don't quote ${wl} on HP-UX because link_static_flag is never evaled. From Eric Backus. 1997-12-01 Gordon Matzigkeit * demo/Makefile.am (helldl_DEPENDENCIES): Add `libhello.la' to our dependencies so that parallel builds work correctly. From Jim Meyering. * Makefile.am ($(srcdir)/ltconfig, $(srcdir)/ltmain.sh): Rewrite these rules so that they are parallelizable. Reported by Jim Meyering. * ltconfig.in (ltecho): We need special handling to quote the `echo' variable itself. From Alexandre Oliva. 1997-11-29 Gordon Matzigkeit * ltconfig.in (COLLECT_NAMES): Enable this workaround for a broken collect2 only on AIX 3. This avoids problems on other AIX versions. Reported by Stefan Westerfeld. * ltmain.in, ltconfig.in (finish_eval): Variable like finish_cmds, except it is a single command which is evaled, and not shown. * ltconfig.in: Port to AmigaOS. From Joop van de Wege. * ltmain.in (echo): Delete preamble to check for a working echo, since we just use the one included in the generated libtool. * ltconfig.in (echo): Include this definition in the generated libtool script. 1997-11-28 Gordon Matzigkeit * ltconfig.in, libtool.m4 (NM): Add /usr/ccs/bin to the PATH before checking. From Kaveh R. Ghazi. (NM): Delete an extraneous egrep from ltconfig. * ltconfig.in (finish_cmds): Change back to using `ldconfig -n'. This makes Linux behave like other systems, which is more in line with what libtool needs. 1997-11-27 Gordon Matzigkeit * ltmain.in: Change a whole bunch of `progname' variables to `modename'. This is for clarity, and to fix a tiny typo in finish mode. * libtool.spec (Name, Version): Ditto. * configure.in (AM_INIT_AUTOMAKE): Use PRCS to automatically generate the proper package name and version number. * ltconfig.in (gnu_ld_acts_native): Treat GNU ld like the native linker on SunOS 4.x. Suggested by Alexandre Oliva. (deplibs): Change the defaults all over, since most systems cannot handle inter-library dependencies. * libtool.m4, ltconfig.in (NM): Only look at the first line of the output from NM when determining whether it supports a command line option. This prevents false positives on OSes which ignore invalid flags, like HP-UX, which prints `nm: unknown option "B" ignored'. Reported by Kaveh R. Ghazi. * ltconfig.in (finish_cmds): On Linux, update ld.so.cache by removing the `-n' flag from ldconfig. Suggested by Kenneth Albanowski. * Makefile.am (maintainer-checkin, maintainer-release): New commands to reap the full benefit of using PRCS to maintain libtool version numbers. * ltconfig.in, ltmain.in (global_symbol_pipe): Explicitly cast all addresses to __ptr_t. This fixes a bug due to a strict IRIX compiler. Suggested by Kaveh R. Ghazi. 1997-11-23 Gordon Matzigkeit * ltmain.in (echo): For aesthetics, avoid using `$echo' when `echo' will do *exactly* the same thing. This prevents ugly `printf %s\n timestamp > some.lo' commands from appearing in the libtool output. (link): Delete the `-allow-undefined' flag because it is now the default. Make `-no-undefined' in order for people to declare that a library is entirely self-contained. This prevents maintainers from accidentally creating shared libraries that won't work on AIX. Reported by Stefan Westerfeld and Danny Backx. * ltconfig.in (echo): Use an echo variable, just as in ltmain.in, because we need it for quoting substitutions. For most of the script, though, use the default echo, just like Autoconf does. Without this patch, character \001 ends up in global_symbol_pipe. Reported by Lars Hecking and Jürgen Fluk. * ltmain.in (echo): Set default to `echo=echo'. Ooops. That's what you get for testing obscure code paths and forgetting to revert to the original version. Reported by Danny Backx. 1997-11-14 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. (export_dynamic_flag_spec): On HP-UX, add the `${wl}-E' export_dynamic_flag_spec. Reported by Matthias Hoelzer. 1997-11-11 Gordon Matzigkeit * ltconfig.in, ltmain.in (sed_quote_subst): Oops. We forgot to quote backticks. Reported by Joop van de Wege. 1997-11-09 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. 1997-11-08 Gordon Matzigkeit * ltconfig.in: Don't forget to redirect the COLLECT_NAMES libtool script fragment to the generated libtool, rather than to stdout. 1997-11-07 Gordon Matzigkeit * libtool.m4 (LD): Add a more sophisticated test to determine the ABI flag on IRIX 6. Suggested by Lars Hecking and Ian Lance Taylor. * ltconfig.in, ltmain.in (COLLECT_NAMES): Only export this variable if we are running under AIX. Otherwise, we tickle a g++ bug under IRIX. From Paul Kendall. * Change bug reporting address to . * ltconfig.in (allow_undefined_flag): OSF/1 3.x also requires a wildcard argument to `-expect_unresolved'. From Stephan Kulow. 1997-11-06 Gordon Matzigkeit * ltmain.in (link): Use libname_spec. * ltconfig.in (pic_flag): Somehow, the HP-UX pic_flag (`+Z') was dropped between libtool-1.0 and now. Add it back in. Reported by Akim Demaille. Integrated more patches for OS/2. From Jeff Freedman. (libname_spec): New variable for OSes that don't require their libraries to look like `libNAME.a'. * ltmain.in (link): Only use global_symbol_pipe if it has been defined. From Stephan Kulow. * ltconfig.in (global_symbol_pipe): Protect C fragment under C++ compilers. From Stephan Kulow. * Makefile.am ($(srcdir)/acinclude.m4, $(srcdir)/demo/acinclude.m4): Change rules to use LN_S so that they can be run on any system. * ltconfig.in (archive_cmds): For NetBSD, don't include deplibs. From Dieter Baron. * ltmain.in (mkdir): Check that the directory doesn't exist before we exit with error, so that we don't get races during parallel builds. From H.J. Lu. (fbsd_hideous_sh_bug): Apparently, some FreeBSD /bin/sh's have a bug that will empty base_compile unless we do this dummy assignment. From Marc van Kempen. 1997-10-22 Gordon Matzigkeit * libtool.m4 (libtool_shared, libtool_static): Fixed logic error to reenable override of libtool's defaults by setting enable_shared or enable_static in configure.in. Reported by Tom Tromey and Stephan Kulow. * ltmain.in (link): Add explicit support for compiler options that begin with `+'. Reported by Aubert Pierre. 1997-10-20 Gordon Matzigkeit * ltmain.in: Silly me. Change a bunch of occurances of "* $dir *" into *" $dir "*. * ltconfig.in (pic_flag): PIC is the default for AIX. From Mark Kettenis. It is also the default for OSF/1. * demo/Makefile.am (objdir): Quote double-quotes. From Mark Kettenis. * ltconfig.in (global_symbol_pipe): This variable is not double-evaled, so it should not be double quoted. From Mark Kettenis. 1997-10-19 Gordon Matzigkeit * ltconfig.in (LD): Same as below. * libtool.m4 (LD): Set LD if we discover an absolute path to GNU ld. This prevents breakage when `$CC -print-prog-name=ld' returns an absolute directory name. Reported by Ulrich Drepper. * ltconfig.in: Port to OS/2 using EMX. From Jeff Freedman. * ltmain.in (link): Use old_archive_from_new_cmds. * ltconfig.in (old_archive_from_new_cmds): New variable to support DLL libraries. * ltmain.in (link): Only `eval' export_dynamic_flag_spec if it is not empty. Reported by Stephan Kulow. 1997-10-18 Gordon Matzigkeit * ltconfig.in (objdir): Use the .libs directory on all systems for which that name is valid, and _libs on the others (like MS-DOS). Suggested by Juergen Erhard. 1997-10-14 Gordon Matzigkeit * ltmain.in (link): Added a bit more inter-language support to the symbol file generation process. Instead of complaining about unrecognized argument suffices, pass them to the linker. This prevents libtool from barfing on mandatory arguments to linker flags. Reported by Michael Tiemann. 1997-10-09 Gordon Matzigkeit * ltmain.in (link): Change the wrapper script to follow symlinks in order to find thisdir. This should put the final nail in the coffin for problems with wrapper scripts. From Ian Lance Taylor. 1997-10-07 Gordon Matzigkeit * ltmain.in: Change a few `$echo' commands into `$show' to make --silent mode behave as advertised. * ltconfig.in (allow_undefined_flag): On OSF/1 4.x, use `-expect_unresolved \*'. From Christian Mondrup. * ltmain.in (install): Change install mode to allow a specified /bin/sh argument at the beginning of the install_prog. Also, specify the shell to run when invoking libtool recursively for finish mode. From Chris Provenzano. * libtool.m4 (LIBTOOL): Change definition to include $(SHELL). From Chris Provenzano. * ltconfig.in: Port to UTS 4.x. From Alistair Crooks. * demo/Makefile.am (hc-libflag): Add rules to make this binary for hardcode.test. 1997-09-24 Gordon Matzigkeit * ltconfig.in (LD): As with libtool.m4, don't override LD. Do a whole bunch of ac_t quoting. 1997-09-24 Ian Lance Taylor * libtool.m4 (AM_PROG_LD): Don't override LD in the environment. 1997-09-21 Gordon Matzigkeit * libtool.m4, ltconfig.in (NM): Arguments to the for loop must be whitespace separated. This fixes a bug under FreeBSD's /bin/sh. From George Scott. 1997-09-20 Gordon Matzigkeit * ltmain.in (deplibs): When building shared libraries, always add -lc to deplibs. Reported by Andreas Jellinghaus. 1997-09-15 Gordon Matzigkeit * ltconfig.in, ltmain.in (COLLECT_NAMES): If the COLLECT_NAMES environment variable has not been set, set it to empty. This apparently fixes the AIX bug with GCC's collect2. Reported by Mark Kettenis. * demo/Makefile.am, ltmain.in, tests/hardcode.test (objdir): Changed objdir variable .libs to _libs. This is another MS-DOS portability fix. Suggested by Robert Hoehne. 1997-09-13 Gordon Matzigkeit * ltconfig.in, ltmain.in (hardcode_minusL): Fix typo by renaming hardcode_minusL to hardcode_minus_L. Also add FreeBSD hardcode_libdir_flag_spec. From Paul Traina. * ltmain.in (link): Honour multiple `-rpath' flags when linking programs. Suggested by Bengt Martensson. Quote appearances of $echo in the wrapper script. From Alexandre Oliva. * Makefile.am, configure.in, tests/tlibtool: Use ltmain.in instead of ltmain.sh.in. * ltmain.in: Rename ltmain.sh.in to ltmain.in. This fixes a portability problem (on MS-DOS, of all places!). From Robert Hoehne. 1997-09-11 Gordon Matzigkeit * ltmain.sh.in (link): Do not transform libtool objects to regular objects if we did not build old libs. Reported by Tomas Hiller. 1997-09-05 Gordon Matzigkeit * demo/Makefile.am (hell_debug_LDFLAGS): Change hell.static to hell.debug in order to reflect the new static linking semantics. * ltmain.sh.in (link): Add new `-all-static' flag to prevent all dynamic linking. The old `-static' flag just prevents dynamic linking against libtool libraries. Suggested by Bengt Martensson. * ltconfig.in (with_gnu_ld): Add a test to make sure that we are actually using GNU ld. This fixes an inconsistency when running ltconfig without using libtool.m4. Reported by Ulrich Drepper. (global_symbol_pipe): Delete symbols that are not valid C identifiers. Reported by Johan Danielsson and Bengt Martensson. 1997-09-04 Gordon Matzigkeit * ltmain.sh.in (echo): Quote all the uses of `echo' in all eval statements. Reported by Bengt Martensson and Alexandre Oliva. (echo): Need to surround test args with double quotes, or the echo test fails on Digital Unix 4.0. From Todd Kover. 1997-08-28 Gordon Matzigkeit * ltmain.sh.in (echo): Change test to one that uses printf. This works on AIX, which has the same problems that Solaris does, but no working echo program. 1997-08-27 Gordon Matzigkeit * ltmain.sh.in (link): Make sure that compile_command and finalize_command are always evaled. Quote any unknown linker flags we need to pass through. (compile): Use quoting for flags we pass. (echo): I hate Sun! The /usr/bin/echo on Solaris handles backslash sequences, which makes it impossible to do backslash quoting using echo and sed. So, we search for an echo that obeys the `echo '\t'` = '\t' equality. Then we use `$echo' everywhere in ltmain.sh. Put tabs back into the ${IFS= } sequences. Emacs untabify is libtool bane. * ltconfig.in: Quote all variable values that may contain metacharacters creating the libtool script. This provides complete protection, so that even single-quotes may appear inside a libtool variable value. * ltmain.sh.in (link): Quote finalize_command before putting it in the wrapper script. 1997-08-26 Gordon Matzigkeit * ltmain.sh.in (sed_quote_subst): Change the quoting procedure again. I think that the new one is robust for *all* characters, including whitespace and metacharacters. 1997-08-25 Gordon Matzigkeit * ltmain.sh.in: Change quoting procedure because some shells cannot handle `]' in scan sets. From Ian Dall. 1997-08-22 Gordon Matzigkeit * ltmain.sh.in (execute): Added -dlopen flag handling. Suggested by Alexandre Oliva. 1997-08-21 Gordon Matzigkeit * ltmain.sh.in (link): Change executable wrapper to fix up value of thisdir, as well as progdir, if the $0 path doesn't work. This guarantees that shlibpath_var is set correctly. Add support for execute mode. * ltmain.sh.in (execute): New mode to automatically set shlibpath_var, which allows easy debugging of uninstalled executables and libraries. Suggested by Kenneth Albanowski. 1997-08-20 Gordon Matzigkeit * Makefile.am ($(srcdir)/ltconfig): Use lineno. * configure.in: Add AM_PROG_AWK for lineno. * lineno: New program to automatically put line numbers in ltconfig. * libtool.m4, ltconfig.in (AM_PROG_LD): Yet Another Rewrite, which incorporates the results of `gcc -print-program-name=ld'. Suggested by Alexandre Oliva. 1997-08-14 Gordon Matzigkeit * ltmain.sh.in: Accept `--quiet' and `--silent' flags to turn off command echoing. From Juergen A. Erhard. (compile): Recognize the Objective C `.m' extension. From Juergen A. Erhard. (compile): Suppress error output from the second compilation (if any) so that we don't get those frustrating duplicate error messages. 1997-08-12 Gordon Matzigkeit * ltconfig.in: Added messages to config.log to describe what sort of test we are running. (pic_flag): Added a sanity check for pic_flag. This should fix bugs reported using the cc bundled with HP-UX 10. Suggested by Bruno Haible and Akim Demaille. 1997-08-01 Gordon Matzigkeit * ltmain.sh.in (link): Add -dlopen and -dlpreopen support for libtool objects. This means that dlopened modules no longer need to be shared libraries. * ltconfig.in (pic_flag): GCC on IRIX 6 always builds PIC. Reported by Ian Lance Taylor. * libtool.m4 (LD): Always add `-n32' to the linker if we are using GCC on IRIX 6. Reported by Ian Lance Taylor. 1997-07-30 Gordon Matzigkeit * libtool.m4 (AM_PROG_LIBTOOL): Explicitly check enable_shared and enable_static rather than just enableval. This allows configure.in scripts to set their own defaults. Suggested by Tommy Reilly. 1997-07-29 Gordon Matzigkeit * ltmain.sh.in: Add NLS environment variable handling copied from ltconfig.in. Reported by Akim Demaille. (link): If allow_undefined_flag is not supported, then turn on old libraries. Reported by Akim Demaille. * demo/dlmain.c (main): Use dld_preloaded_symbol_count to display a message about the sortedness of the symbol table. * ltconfig.in (nlist): Use an nlist convenience variable, so that code can be shared directly with ltmain.sh.in. * ltconfig.in, ltmain.sh.in (dld_preloaded_symbol_count): Count up the number of symbols in the dld_preloaded_symbols. Set to `-1' if the list wasn't both sorted and counted. This allows applications to do a quick binary search, if they are so inclined. 1997-07-25 Gordon Matzigkeit * ltmain.sh.in (link): Remove code for `-version-file', since it has been long-deprecated. Disable static linking if hardcode_direct is unsupported and there is no working link_static_flag. This provides correct behaviour for all cases on AIX 3, regardless of whether collect2 is broken or not. Reported by Mark Kettenis. * ltconfig.in: Fix typo in test polarity. From Mark Kettenis. 1997-07-24 Gordon Matzigkeit * ltconfig.in (hardcode_direct): Set to `unsupported' if aix3 uses a broken collect2. Adapted out of test results from Mark Kettenis. (link_static_flag): Make sure the link_static_flag actually works with a trivial binary. * ltmain.sh.in, ltconfig.in (export_dynamic_flag_spec): Renamed from export_dynamic_flag because we eval it in ltmain.sh. * ltmain.sh.in (link_static): Don't eval link_static_flag. * demo/dlmain.c (main): Change function prototype to be KNR compatible. From Kaveh R. Ghazi. * ltmain.sh.in (link): Use no_builtin_flag. This works around conflicting definitions of builtin functions with at least GCC. Reported by Kazuhiro Sasayama. * ltconfig.in (no_builtin_flag): New flag to turn off builtin functions when compiling an object file. (pipe_works): Use it. 1997-07-23 Gordon Matzigkeit * ltconfig.in (pic_flag): According to the libg++ 2.7.2 configure script, DEC alpha CPUs are PIC-only, as well. Reported by Kevin Jacobs. 1997-07-21 Gordon Matzigkeit * ltconfig.in, ltmain.sh.in: Replace all occurances of "sed 'X; Y'" with "sed -e 'X' -e 'Y'". * ltmain.sh.in (link): Finish full integration for `-dlopen' and `-dlpreopen'. Fix two silly typos where I used a compile_command in place of a finalize_command, and vice versa. Change the wrapper script to check a hardcoded path only if the argv[0] method fails. This is a compromise for the previous two patches, and should solve the majority of problems with wrapper scripts. From Kenneth Albanowski. (link): Change a reference to hardcode_libdir_colon_separated to use the new hardcode_libdir_separator variable. * demo/Makefile.am (helldl_LDFLAGS): Add `-export-dynamic' and `-dlpreopen' for building helldl. * demo/dlmain.c (main): Succeed, even if none of the libhello symbols have been preloaded. 1997-07-20 Gordon Matzigkeit * ltconfig.in (global_symbol_pipe): Add `U' to the accepted global symbol types. This means that we will get duplicate symbols, but we'll also be sure to get all global symbols used by the program. * ltconfig.in (pipe_works), ltmain.sh.in (link): Sort and make symbol output unique. 1997-07-19 Gordon Matzigkeit * ltconfig.in (pipe_works): Check to make sure our guessed global_symbol_pipe actually works. * ltmain.sh.in (link): Revert change from Kenneth Albanowski. The wrapper scripts are more reliable when they just use the argv[0] value. Generally, when the argv[0] method doesn't work, the user is trying to do something weird with an uninstalled binary, and should try a different approach. * ltconfig.in, ltmain.sh.in (CC): Always use `$CC' instead of `$cc'. This fixes a FreeBSD bug. Reported by Chuck Robey, and others. 1997-07-14 Gordon Matzigkeit * ltmain.sh.in (link): In wrapper scripts, hardcode the current directory to prevent phony argv[0] values from screwing up our program. From Kenneth Albanowski. 1997-07-13 Gordon Matzigkeit * Makefile.am (demo_distfiles): Add demo/dlmain.c to the distribution. 1997-07-12 Gordon Matzigkeit * demo/Makefile.am: Add helldl, made from dlmain.c, to demostrate `-dlopen' usage. * demo/dlmain.c: New file to demonstrate preloaded modules. * ltmain.sh.in (link): Add `-dlopen' flag to preload dynamic modules, even on static platforms. Use `$NM' and `$global_symbol_cmd' to extract symbols from required files. (dlname): Delete dlname mode entirely. It is rendered obsolete because the `.la' file format is now a public interface. * ltconfig.in (NM): New variable for BSD-compatible nm program. (global_symbol_cmd): Pipeline to extract global symbols from the nm output. * ltmain.sh.in: The .la file header should depend on `ltmain.sh', not `$PROGRAM'. (link): Make sure $export_dynamic_flag is eval'ed before it is used. 1997-07-11 Gordon Matzigkeit * libtool.spec: New Red Hat Package Manager specification file in order to help people prepare distributions of libtool for Linux. * ltmain.sh.in: Eliminate two accidental uses of the NONE magic value. These were breaking libtool's behaviour when no mode is specified. 1997-07-08 Gordon Matzigkeit * Release 1.0. * ltconfig.in: On SunOS, append /usr/etc to the PATH before running ldconfig; on *BSD, append /sbin. This was done in line with the Linux change suggested by Kenneth Albanowski. * demo/Makefile.am (hardcode_tests): Aesthetic change to alphabetize order of compiling the hardcode tests. * Makefile.am (EXTRA_DIST): Delete README-automake. * README-automake: Remove from distribution. 1997-07-02 Gordon Matzigkeit * ltmain.sh.in (link): In the executable wrapper, strip trailing colons from the shlibpath_var because some ld.so's, notably OpenBSD 2.0's (!), don't parse colon-terminated values correctly. From Tim Pierce. 1997-07-01 Gordon Matzigkeit * ltmain.sh.in, ltconfig.in: Eliminate uses of the NONE magic variable value. Use an empty variable instead. * ltconfig.in (with_gcc, with_gnu_ld): Do the tests for the C compiler and linker if the variables are unset, or if they are not GNU C and ld. (RANLIB): Eliminate redundant `if' statement. * configure.in: Use AM_PROG_LD. * libtool.m4 (AM_PROG_LD_GNU): New macro to determine if LD is GNU ld. (AM_PROG_LD): Rename AM_PATH_PROG_LD to AM_PROG_LD. Parameterize so that the user can specify `--with-gnu-ld' or `--without-gnu-ld' to indicate his preference. (AM_PROG_LIBTOOL): Use it. 1997-06-30 Gordon Matzigkeit * ltconfig.in: Append /sbin to the path before running ldconfig on Linux. This helps superusers who haven't set their PATH correctly. Suggested by Kenneth Albanowski. 1997-06-29 Gordon Matzigkeit * ltmain.sh.in: Change all the `eval "$run ..."' sequences to `$run "eval ..."'. Change all `$ln_s ...' sequences to use `(cd /dir && $LN_S ...)'. This is the sequence recommended by the Autoconf manual, and should avoid any problems on older machines. Eliminate all uses of `cp -p'. Reported by Akim Demaille. (install): Use `test $# -gt 0' instead of `test -n "$1"'. * ltconfig.in (LN_S): Add test to see if `ln -s' works. * libtool.m4: Increment serial number, and require AC_PROG_LN_S. 1997-06-26 Gordon Matzigkeit * ltmain.sh.in (link): Add missing `test' statement. Reported by Akim Demaille. 1997-06-24 Gordon Matzigkeit * libtool.m4 (LD): Consistently use ac_cv_path_ld instead of am_cv_path_ld. From Tim Pierce. 1997-06-20 Gordon Matzigkeit * ltmain.sh.in: Redo two robustness fixes. Alexandre had the correct approach, but I botched them. * ltconfig.in (dynamic_linker): Disable shared libraries on MkLinux unless GNU libc is in use. Reported by Akim Demaille. 1997-06-19 Gordon Matzigkeit * ltmain.sh.in (install): Add a missing `test' command. Reported by Joel Weber. Miscellaneous fixes to improve robustness. From Alexandre Oliva. 1997-06-14 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. 1997-06-13 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. 1997-06-11 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. 1997-06-10 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 Stephan Kulow. 1997-06-08 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. 1997-06-06 Gordon Matzigkeit * Tell people to report bugs to the new libtool mailing list, . 1997-06-05 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. 1997-05-26 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. 1997-05-10 Gordon Matzigkeit * ltconfig.in: Trivial port to FreeBSD 3. From David Nugent. 1997-04-25 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). 1997-04-22 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. 1997-04-21 Gordon Matzigkeit * ltconfig.in: Trivial port to OpenBSD by making it an alias for NetBSD. From Tim Pierce. 1997-04-16 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. 1997-04-13 Gordon Matzigkeit * ltmain.sh.in (mode): Use `egrep -e' when inferring the operation mode. 1997-04-12 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. 1997-04-07 Gordon Matzigkeit * ltconfig.in (hardcode_action): Fix silly logic error. From Bruno Haible. 1997-04-05 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. 1997-04-02 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. 1997-04-01 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. 1997-03-31 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. 1997-03-28 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. 1997-03-27 Gordon Matzigkeit * ltmain.sh.in (link): Allow the creation of static convenience libraries made of libtool objects. Suggested by David Mosberger-Tang. 1997-03-25 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. 1997-03-24 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. 1997-03-15 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. 1997-03-12 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. 1997-02-22 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. 1997-02-18 Gordon Matzigkeit * ltconfig.in: Transform *-*-linux* to *-*-linux-gnu* to support old-style config.guess scripts. 1997-02-17 Gordon Matzigkeit * ltmain.sh.in: Create objdir *before* linking a program into it. 1997-02-12 Gordon Matzigkeit * ltconfig.in: Any ld --version that returns GNU is probably a GNU ld. From Marcus Daniels. * libtool.m4: Added AM_REPLACE_FUNCS. 1997-02-11 Gordon Matzigkeit * ltconfig.in: Trivial port to *-*-osf4. From Bruno Haible. 1997-02-10 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. 1997-02-07 Gordon Matzigkeit * doc/platforms.texi: Yaay! We found a workaround for HP-UX /bin/sh buffer overflows. From Eric Backus. 1997-02-03 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. 1997-01-29 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. 1997-01-28 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]. 1997-01-26 Gordon Matzigkeit * Release 0.8. 1997-01-24 Gordon Matzigkeit * Makefile.am (demo_distfiles): Add demo/acinclude.m4 to the distribution. 1997-01-22 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. 1997-01-18 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. 1997-01-17 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. 1997-01-16 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. 1997-01-15 Gordon Matzigkeit * ltmain.sh.in (link): Eval $link_static_flag. Reported by Bruno Haible. * PLATFORMS: Add to distribution. Suggested by Bruno Haible. 1997-01-13 Gordon Matzigkeit * ltconfig.in: Add support for SCO OpenServer 5.x. From Christopher Olsen. (can_build_shared): Initialize at the top of the file, so that shared libraries aren't built on platforms that don't support them. 1997-01-11 Gordon Matzigkeit * ltmain.sh.in, ltconfig.in, libtoolize.in, doc/libtool.texi: Update the copyright completion years. 1997-01-08 Gordon Matzigkeit * ltconfig.in: Port to IRIX 5.3, 6.2. 1997-01-06 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. 1997-01-03 Gordon Matzigkeit * ltmain.sh.in (link): On at least SunOS, /bin/sh doesn't understand "export something=val". From Bruno Haible. 1997-01-02 Gordon Matzigkeit * ltmain.sh.in (compile): Recognize valid source file suffixes for Fortran and C++. 1996-12-17 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. 1996-12-16 Gordon Matzigkeit * ltmain.sh.in (link): Delete the `libtool' version type. 1996-12-12 Gordon Matzigkeit * ltconfig.in: Use the full autoconf syntax when checking for GNU C. Delete library stripping program, until we have a correct test. 1996-12-11 Gordon Matzigkeit * ltconfig.in: On AIX 3, use /usr/ucb/nm, not /ucb/nm. From Mark Kettenis. 1996-12-09 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. 1996-12-08 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). 1996-12-07 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. 1996-12-05 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. 1996-12-04 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. 1996-12-03 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. 1996-12-02 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. 1996-11-19 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. 1996-11-18 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. 1996-11-16 Gordon Matzigkeit * ltmain.sh.in (install): Just plunge ahead with the installation... don't try to enforce dependencies. 1996-11-15 Gordon Matzigkeit * ltmain.sh.in: Fix up $libdir to be $dest in install mode. 1996-11-10 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. 1996-03-15 Gordon Matzigkeit * For historical reasons: this is when I started writing libtool.