1998-12-31 Joseph Beckenbach III * ltconfig.in: added support for BeOS * ltmain.in (shlibpath_var): added a workaround for an odd bug in the BeOS R4 sed 1998-12-31 Thomas Tanner * verified all copyright notices and updated them to 1999 * TODO: added some things that need to documented * doc/libtool.texi: -export-symbols is not supported on all platforms * doc/PLATFORMS: added a few new platforms 1998-12-30 Thomas Tanner * NEWS: updated * THANKS: added Todd Vierling 1998-12-30 Todd Vierling * ltconfig.in: improved shared object handling on both a.out and ELF platforms for NetBSD 1998-12-29 Thomas Tanner * ltconfig.in: do not rely on a leading space when concatenating variables as suggested by Erez Zadok * ltmain.in: likewise * doc/PLATFORMS: updated and reformatted (thanks to Erez Zadok for the testing) 1998-12-27 Thomas Tanner * THANKS: added Erez Zadok 1998-12-26 Erez Zadok * ltconfig.in: support i486-ncr-sysv4.3.03 shared libraries. * ltmain.in: before every ln -s, remove the link name 1998-12-25 Thomas Tanner * depdemo/configure.in: removed last relics of demo * depdemo/sysdep.h: ditto * mdemo/Makefile.am: ditto * libltdl/Makefile.am: fixed the version number, build libltdls if -enable-install and -enable-dlpreopen are enabled * libltdl/configure.in: libltdl is version 0.1, not 1.0, renamed -enable-ltdl-install to -enable-install, conditionals for libltdls, check for strchr and index, replaced NULL with 0 * libltdl/ltdl.c: replaced NULL with 0, dlpreopen only if USE_DLPREOPEN was defined, integrated shl_load code from GModule (still untested) 1998-12-24 Gary V. Vaughan * libltdl/configure.in: fixup spacing in --enable-ltdl-install help string so that it lines up nicely for configure --help. * ltmain.in (dllsearchpath): keep track of what the dll search path will need to be in the wrapper scripts as deplibs are calculated. Make sure the wrapper script doesn't end in `.exr', which makes win32 try to execute it as a binary! Add the contents of dllsearchpath to $PATH in the wrapper script. Use the relative path to the wrapped program so that the dll search path is calculated properly by win32 OSes. * TODO: removed the item for making wrapper scripts work on win32. * TODO: removed the reference to making libltdl and demo work on win32. They *do* work now that wrapper scripts are functioning. * ltmain.in (file_magic_command): It turns out that if the file_magic_command generates huge output (e.g. running `objdump -f' over a large import lib [say libX11.a]) the expr to check it against the file_magic_regex blows up. There is now an optimistic heuristic, to save only the first 10 lines of running file_magic_command which (at risk of sounding like Bill) should be enough for anyone =)O|. * ltmain.in: Set the compile_dependencylibs and dllsearchpath for non-libtool libs, or else libdeps only works between ltlibs for cygwin32. 1998-12-23 Alexandre Oliva * ltmain.in (SP2NL, NL2SP): use `tr' magic to avoid passing very long lines to sed * doc/libtool.texi (sed): very long lines are no longer a problem * libltdl/Makefile.am: install libltdl conditionally... * libltdl/configure.in: ... if --enable-ltdl-install is issued * libltdl/ltdl.c: removed #ifdef DEBUG * mdemo/Makefile.am (mdemo_debug_LDADD, mdemo_debug_DEPENDENCIES): use libltdl.la 1998-12-23 Gary V. Vaughan * doc/PLATFORMS: added my cygwin32 box (i686-pc-cygwin32). * TODO: remind myself of the win32 tasks remaining. * ltconfig.in (archive_cmds, archive_sym_cmds, old_archive_from_new_cmds): Fixed a bug which left an a.exe in the build directory. Fixed a bug where $soname-def was never deleted. * ltconfig.in (file_magic_command): new variable holds the command (including any args) to run to generate the string to match against the regex in $file_magic. Use the variable where necessary. Added to libtool header output. (deplibs_check_method): use file_magic for win32, but compare the output of `objdump -f' with the regex (see below). (archive_cmds, archive_sym_cmds): use compile_dependencylibs for each $CC invokation (see below). * ltmain.in: Set allow_undefined to `no' for win32 variants by default, otherwise it is impossible to link a dll without forcing the makefile maintainer to figure out whether to pass --no-undefined at every libtool invokation. (compile_dependencylibs): save the list of dependency library flags needed for a deplib build on win32. (link_against_libtool_libs): commented out the check for this; if it is left in, then ltlibs (i.e. *.la files) cannot be deplibs for subsequent links. Don't add -lc to the deplibs line for win32 platforms (which don't have a libc as such). (file_magic_command): use this to get some output to compare with the file_magic regex (instead of hardcoding `file' which doesn't exist on win32. * doc/libtool.texi (Porting inter-library dependencies): Updated to document the changes above. * ltconfig.in (deplibs_check_method): Changed the file_magic regex to match more linux variants. This is less lenient than Thomas Tanner's commit to fix the same problem below. Reported by Joel Klecker * THANKS: added Joel Klecker 1998-12-23 Thomas Tanner * ltconfig.in: fixed file-magic for Linux shared libraries * ltmain.in: removed the unused -force-static flag * libltdl/ltdl.c: added strchr, search modules in LTDL_LIBRARY_PATH, check whether actual module was already dlopened, read in preload_libs rather than dependency_libs 1998-12-23 Thomas Tanner * libltdl/Makefile.am: build two versions of libltdl: libltdl (support native dlopen if available, otherwise dlpreopen), libltdls (like libltdl, but always support for dlpreopen) * libltdl/ltdl.c: ditto * libltdl/configure.in: warn if dlopen is not supported * mdemo/Makefile.am (mdemo.debug): use libltdls 1998-12-22 Gary V. Vaughan * ltconfig.in: revert Thomas Tanners change to create all libraries without the `lib' prefix on win32, otherwise `gcc foo.c -lbar' can't find libbar.a. 1998-12-22 Alexandre Oliva * Makefile.am (SUBDIRS): prepend `.' to avoid am-recursive dependency hack 1998-12-21 Thomas Tanner * ltconfig.in: indentation is now 8 character wide tabs * ltmain.in: ditto * ChangeLog: ditto * ltmain.in: renamed check_shared_deplibs_method to deplibs_check_method (we_dont_want_too_long_variable_names :) * doc/libtool.texi (Porting inter-library dependencies): ditto * depdemo/.cvsignore: renamed hell* to depdemo*, added *.lo,*.la * mdemo/.cvsignore: ditto 1998-12-21 Gary V. Vaughan * libtool.m4 (AM_SYS_NM_PARSE): apparently __ptr_t is predefined on some systems - use lt_ptr_t instead. * ltconfig.in: ditto. * ltmain.in: ditto. * libtool.m4 (AM_SYS_SYMBOL_UNDERSCORE): use an AC_SUBST to pass the result of this into the compile rather than AC_DEFINE which breaks when building with older versions of autoconf. * ltconfig.in (symxfrm): Don't put the leading underscore back with the global_symbol_pipe. * demo/dlmain.c (main): No need to specialcase underscores in dld_preloaded_symbols - it is fixed by symxfrm above! * libltdl/configure.in: use AM_SYS_SYMBOL_UNDERSCORE from libtool.m4 rather than reinvent the wheel here =)O| * ltmain.in: Fix deplibs methods to not rely on a.out (cygwin uses a.exe!). * libltdl/configure.in: Cleanups - fix header comment and emacs local-vars. * demo/dlmain.c (win32_force_data_import_address): a nasty hack to force the address of imported data symbols into dld_preloaded_symbols on win32, which does data imports differently to function imports (sheesh!). This functionality needs to be moved into the dld_preloaded_symbols generation code. demo/helldl with static linking is broken on win32 by this change, probably until after libtool-1.3 =(O| * demo/foo.h: make sure __CYGWIN32__ is always defined on cygwin32 systems. Use the correct __declspec macro for lib exports/imports on cygwin32. * demo/foo.c, demo/hello.c: Make sure we tell foo.h that these sources are inside libfoo, and want to export symbols. 1998-12-20 Thomas Tanner * autogen: configure demo, depdemo, libltdl and mdemo * tests/mdemo-exec.test: renamed hell* to mdemo* * tests/mdemo-inst.test: ditto 1998-12-19 Thomas Tanner * libltdl/Makefile.am: build a normal libtool library * libltdl/ltdl.c: get LTDL_LIBRARY_PATH but don't make use of it yet, some reformatting * ltmain.in: fixed a bug which listed symbols in dld_preloaded_symbols twice * TODO: removed symbol export lists and deplibs 1998-12-18 Thomas Tanner * ltconfig.in: added need_lib_prefix and need_version, which determine whether we must prefix modules with 'lib' and whether versioning is required for libraries. * ltmain.in: allow modules names without 'lib' prefix, new -avoid-versioning option * doc/libtool.texi (link flags): updated documentation for -module, added -avoid-versioning * doc/libtool.texi (libtool script contents): documented the two new flags and archive_sym_cmds * doc/libtool.texi (tests): added (partially very short) documentation for assign.test, nomode.test, quote.test, sh.test * libltdl/ltdl.c: canonicalize module names, some cleanups and bugfixes, __ptr_t is predefined on some systems - use lt_ptr_t instead * mdemo/: renamed hell* to mdemo* (hell is already used in demo), updated the documentation, import sin and cos in main program rather than linking libfoo1 statically 1998-12-17 Gary V. Vaughan * libtool.m4 (AM_PROG_LIBTOOL): Added AC_PREREQ(2.12) to prevent people using libtool with old autoconfs that don't provide the features we need. 1998-12-16 Alexandre Oliva * NEWS, configure.in, libtool.spec: Bumped to 1.2e for CVS * NEWS, configure.in, libtool.spec: Bumped to 1.2d for release * Makefile.am (cvs-dist): our release tags are in lower case (cvs-diff): ditto (EXTRA_DIST): added README-alpha * README-alpha: minor adaptations * demo/Makefile.am, mdemo/Makefile.am, depdemo/Makefile.am: removed comment about special needs for distribution * depdemo/Makefile.am: don't generate dependencies * depdemo/configure.in: modified version number * ltmain.in (-force-static, force_static): removed * libltdl/Makefile.am (CFLAGS): ditto * libltdl/configure.in: check for memory.h, rindex() and dlpreopening. Fixed NEED_USCORE caching policy. * libltdl/ltdl.h (lt_dlsym): make the name argument const * libltdl/ltdl.c (types): new variable: head of list of available dlopening mechanisms (lt_dltype_t): interface of a dlopening mechanism, with pointers to functions for init, exit, open, close and sym (lt_dlhandle_t): added pointer to interface type (strdup): don't name it strdup; it can be troublesome (strrchr): ditto; use rindex if available (LIBTOOL_STATIC): check HAVE_DLPREOPEN instead, and move to the end of the file, so that it becomes the header of the list (all): renamed all interface-implementation functions, to avoid name clashes, and created lt_dltype_t nodes for all of them (lt_dlinit): initialize all available interfaces; remove those that fail from the list. Return failure only if no interfaces could be initialized. (lt_dlexit): return number of failures (tryall_dlopen): try to open the library with all available interfaces (lt_dlopen): use tryall_dlopen; increased size of fixed buffers. We should probably make these bound-checked or dynamically allocated for the final release! Fix bug when filename did not contain slashes; should we check for `\\' too? Try old_library if everything else fails. (lt_dlclose): use the interface type for closing (lt_dlsym): make `symbol' const, use interface type for looking up * mdemo/Makefile.am: moved mdemo/modules/* back into mdemo (SUBDIRS): removed (libfoo2_la_LDFLAGS): added -static; nice test. However, since it causes -lm to linked into hell*, it causes tests that should fail to pass (noinst_HEADERS): no need to install foo.h * mdemo/configure.in: remove modules/Makefile tests/mdemo-exec.test: updated accordingly * NEWS: Added Thomas Tanner and Gary V. Vaughan to the list of new maintainers. Detailed expected failures of libltdl+mdemo. Listed recent ports. Added full URL for the home page. Note that libtool C program is unusable. 1998-12-16 Bruno Haible * doc/libtool.texi (Tested platforms): broken `sed' programs 1998-12-16 Alexandre Oliva * THANKS: added Stephan Kulow; removed Gary V. Vaughan and Thomas Tanner, now that they're AUTHORS 1998-12-16 Stephan Kulow * ltmain.in (freebsd-aout, freebsd-elf): added missing dot to versuffix 1998-12-16 Alexandre Oliva * libltdl/Makefile.am (EXTRA_DIST): removed, nothing needed (libtool): automatically update * libltdl/configure.in (stdlib.h, unistd.h, stdio.h): check * libltdl/ltdl.c: include them * demo/configure.in (BINARY_HELLDL): test whether dlopen is supported at configure time * demo/Makefile.am (helldl): use automake conditionals to build helldl as a script or as a binary program * tests/Makefile.am (EXTRA_DIST): remove ltdl-*.test (clean-local): don't clean libltdl any more * tests/ltdl-conf.test: removed * tests/ltdl-inst.test: ditto * tests/ltdl-make.test: ditto * tests/ltdl-unst.test: ditto * tests/mdemo-make.test: updated accordingly * tests/mdemo-inst.test: ditto * tests/mdemo-unst.test: ditto * doc/libtool.texi: ditto * ltmain.in (-DSTATIC): changed to -DLIBTOOL_STATIC, and defined only for -force-static; it should be removed soon, before people start to use it * configure.in (AC_CONFIG_SUBDIRS): added libltdl * Makefile.am (SUBDIRS): build libltdl by default (DIST_SUBDIRS): simplify distribution of demo and mdemo (libtool, clibtool, libtoolize, ltconfig, ltmain.sh): add srcdir where appropriate (ACINCLUDE_M4_LIST): new rule for maintaining links from acinclude.m4 to libtool.m4 (*demo/Makefile.in): don't update autoconf/automake files any more; make check is needed 1998-12-14 Gary V. Vaughan * ltconfig.in (archive_cmds): tweaked for cygwin b18->b20.1 compatibility and fixed a bug with generating the export definitions file. This is only tested on b20.1, but should work back to b18 at least. 1998-12-11 Thomas Tanner * ltmain.in: -module implies now -export-dynamic, dlpreopen files if we're linking statically * doc/libtool.texi (link flags): added documentation for -module and the tests for mdemo and libltdl * mdemo/Makefile.am: replaced -dlpreopen with -dlopen 1998-12-09 Alexandre Oliva * PORTING: removed the text Akim Demaille converted to .texi 1998-12-09 Akim Demaille * doc/libtool.texi: converted inter-library dependencies instructions from PORTING 1998-12-09 Alexandre Oliva * ltmain.in (convenience, deplibs): propagate dependencies * libltdl/Makefile.am (noinst_HEADERS): don't install ltdl.h yet (noinst_LTLIBRARIES): ditto for libltdl.la 1998-12-08 Gary V. Vaughan * README-alpha: adapted the release procedure from automake/HACKING. * Makefile.am: adapted the cvs-dist and cvs-diff rules from automake/Makefile.am. I guess this is probably safe to use already, but I didn't test it as it tags the CVS tree. If it needs tweaking, we'll find out come 1.2d. 1998-12-08 Thomas Tanner * ltconfig.in: fixed some typos in archive_sym_cmds * ltmain.in: replaced basename with a sed expression 1998-12-07 Alexandre Oliva * configure.in: we no longer use PRCS * doc/libtool.texi (author): listed all the AUTHORS (Dlopen issues): added reference to libltdl, still undocumented (C++ libraries): it's not *that* simple, after all :-( (Inter-library dependencies): they're back! 1998-12-04 Alexandre Oliva * libtool.m4 (ac_cv_sys_symbol_underscore): `test a == b' doesn't work, use `test a = b' instead * Makefile.am (mdemo_distfiles): libfoo[12].sym no longer exist * ltconfig.in (solaris): do not use $CC for linking if GNU ld is not available 1998-12-04 Manfred Weichel * ltconfig.in: Port to SCO UnixWare 7.x. 1998-12-03 Thomas Tanner * ChangeLog: converted CR/LF back to CR format * ltconfig.in: new variable sys_lib_search_path for searching of installed libraries, export archive_sym_cmds and sys_lib_search_path * ltmain.in: use sys_lib_search_path, removed extradeplibs (they're not portable) 1998-12-02 Gary V. Vaughan * libltdl/configure.in: look for string.h or else strings.h, and also check for ANSI strrchr() function. Fix `undescore before symbols' macro to not rely on a.out (cygwin uses a.exe!). Fix `underscore for dlsym' to set cache variable properly, not just in environment of AC_DEFINE(NEED_USCORE). * libltdl/ltdl.h (__ptr_t): for K&R compatibility using char*. * libltdl/ltdl.c (strrchr): fallback function incase none is defined in libc. (trim, ltdlopen): replace rindex with ANSI strrchr. Add static function declarations so that we get type checking with ANSI compilers. Use __ptr_t instead of void*. 1998-12-01 Thomas Tanner * ltconfig.in: added -export-symbols support for GNU ld and Solaris (untested), archive_sym_cmds for -export-symbols * doc/libtool.texi, ltmain.in: -export-symbols is now independent from -export-dynamic and does not work for modules anymore * ltmain.in: added some checks for -export-symbols * mdemo/modules/Makefile.am: replaced -export-symbols with -export-dynamic since it doesn't work for modules 1998-12-01 Gary V. Vaughan * README: Updated homepage pointer to gnu libtool page. * ltconfig.in (ltdll.c): update the ltdll.c file for cygwinb20. Based on code from Mumit Khan . (archive_cmds): correct typo libtool.c->ltdll.c. Update shell commands for cygwin32. * libtool.m4 (AM_SYS_SYMBOL_UNDERSCORE): New macro; find out whether compiled symbols have an extra leading underscore. (AM_SYS_NM_PARSE): New macro (converted to m4 from ltconfig.in); find a sed expression to parse global symbols from the output of $NM. (AM_PROG_LIBTOOL): require AM_SYS_NM_PARSE and AM_SYS_SYMBOL_UNDERSCORE. * demo/dlmain.c (main): Remove a single leading underscore from compiled symbol names if necessary. 1998-12-01 Alexandre Oliva * config.guess, config.sub: imported from autoconf pre-2.13 1998-11-27 Gary V. Vaughan * libtool (AM_PROG_LD): Oops... we need to know the host_os for the changes below. I'm not sure whether mingw32 and os2 support UNC paths, if they did we wouldn't need the check, we could use UNC paths on all three; or if the bug with $LD not being shell-meta escaped was fixed, we could use '\\' separators on all three. AC_REQUIRE'ed AC_CANONICAL_HOST. * libtool.m4 (AM_PROG_LD): Cannonicalize the absolute path for the ld program; The order is funny to provide canonicalization to paths with '\\' separators as well as '/'. * ltconfig.in: ditto. * AUTHORS: Added myself as a co-maintainer. * ltconfig.in (archive_cmds): The `;\' in a compound statement is expanded wrongly for cygwin32, mingw32, aix3 and aix4. Changed to `;'. 1998-11-25 Alexandre Oliva * libtool.spec (URL): point to www.gnu.org (Source): point to ftp.gnu.org * Makefile.am (EXTRA_DIST): removed libtool.prj Reported by Akim Demaille 1998-11-24 Alexandre Oliva * ltconfig.in (echo): avoid shell error messages when we're testing for large command line support Reported by Axel Thimm * doc/PLATFORMS: updated last-tested release for platforms I've got access to * THANKS: added Chris P. Ross 1998-11-24 Chris P. Ross * ltconfig.in: added recognition of the dynamic linker on BSD/OS 4.x * README: added BSD/OS 4.x to the list of supported platforms * doc/PLATFORMS: added BSD/OS 4.x support for various host id's 1998-11-24 David Heine * ltmain.in (pass_all): actively pass the flags 1998-11-24 Thomas Tanner * depdemo: added inter-library dependencies demo (doesn't work yet!) * AUTHORS: added myself to the list of maintainers 1998-11-22 Thomas Tanner * libltdl: added support for .la files, LGPL license, K&R compatibility, some API changes and bugfixes * ltmain.in: renamed -module flag (for compiling) to -force-static, define -DSTATIC when compiling static .o files, do not include directories in dld_preloaded_symbols * mdemo: modified mdemo to work with the new libltdl * tests/mdemo-exec.test, tests/mdemo-inst.test: use .la files 1998-11-21 Alexandre Oliva * libltdl/ltdl.c: replace NULL with 0, so that we don't depend on header files defining it. * ltconfig.in (archive_cmds, osf3, osf4, solaris, sunos4): create libraries with gcc -shared if using gcc without GNU ld. * ltconfig.in: replaced occurrences of solaris2 with solaris, to prepare for Solaris 7 1998-11-19 Alexandre Oliva * mdemo/Makefile.am (hell_debug_LDFLAGS): -dlpreopen -> -dlopen (hell_LDFLAGS): added -export-dynamic and -dlopen (SUBDIRS, INCLUDES): added modules directory (foo1.c, foo2.c, foo.h, libfoo1.sym, libfoo2.sym): moved to modules * Makefile.am: ditto * tests/mdemo-exec.test, tests/mdemo-inst.test: libraries moved * mdemo/modules/Makefile.am: new file * */Makefile.am (AUTOMAKE_OPTIONS): added no-dependencies * 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 * tests/mdemo-inst.test (libltdl): install it * tests/mdemo-unst.test (libltdl): uninstall it * tests/Makefile.am (TESTS): list ltdl-unst.test before mdemo-conf.test 1998-11-18 Alexandre Oliva * NEWS: -module and libltdl * 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 * tests/sh.test (test X): ensure that the double-quote supposed to be reported is really reported 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. * tests/quote.test (echo): Update the echo test from ../ltconfig.in. 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. * tests/sh.test (scripts): Remove the lineno script, since it is no longer distributed. * tests/assign.test, if.test, test-e.test: Even though 15 tests looks impressive, these are now redundant. Remove them from the distribution. * tests/sh.test: Do what assign.test, if.test, and test-e.test used to do. 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. * tests/defs: Correctly identify absolute directory names on MS-DOS. Suggested by Bob Friesenhahn. 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. * tests/suffix.test (extensions): Added GNAT (GNU Ada Translator) suffices, `.ada', `.ads', `.adb'. From Samuel Tardieu. 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-23 Gordon Matzigkeit * tests/Makefile.am (TESTS_ENVIRONMENT): Export some important environment variables. Reported by Ian Haggard. 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. * tests/suffix.test (extensions): Recognize `.asm'. 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. Continued in ChangeLog.1997 -- Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of GNU Libtool. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without warranty of any kind.