?????????? ????????? - ??????????????? - /home/agenciai/public_html/cd38d8/ChangeLog.tar
???????
usr/share/doc/ethtool/ChangeLog 0000644 00000026500 15125346023 0012460 0 ustar 00 The changelog after March 2005 can be obtained from the git repository at <git://git.kernel.org/pub/scm/network/ethtool/ethtool.git>. The changelog after version 2 up to March 2005 can be obtained from the BitKeeper repository at <bk://gkernel.bkbits.net/ethtool>. Tue Aug 17 2004 Jeff Garzik <jgarzik@pobox.com> * NEWS, configure.ac: Release version 2 Fri Jul 2 2004 Jeff Garzik <jgarzik@pobox.com> Merged * fec_8xx.c, ethtool-util.h, Makefile.am: Add fec_8xx register dump. Contributed by Pantelis Antoniou <panto@intracom.gr> * Update ethtool.c to iterate through a list of drivers * Fixed fec_8xx.c warnings on 64-bit Fri Jul 2 2004 Jim Lewis <jim@jklewis.com> * pcnet32.c, ethtool-util.h, Makefile.am: Add pcnet32 register dump. Fri Apr 9 2004 Jason Lunz <lunz@reflexsecurity.com> * ethtool.c: Remove incorrect restriction on ethernet interface names. Fri Apr 9 2004 OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> * ethtool.c: This fixes the bogus tail backslash that I did. Fri Apr 9 2004 Jim Lewis <jim@jklewis.com> * ethtool.c: Return results of self-test back to OS, via exit(2). Fri Apr 9 2004 Jeb Cramer <cramerj@intel.com> * e1000.c: Update device id list and add printout of phy type in register dump. Set default mac_type to 82543 since register offsets haven't changed. Fri Apr 9 2004 Jeff Garzik <jgarzik@pobox.com> * configure.ac, Makefile.am, ethtool.c, etc.: convert to more recent autoconf. Sat Aug 30 2003 OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> * ethtool.8, ethtool.c: ethtool register dump raw mode Sat Jul 19 2003 Scott Feldman <scott.feldman@intel.com> * ethtool.8, ethtool.c, ethtool-copy.h: Add support for TSO get/set. Corresponds to NETIF_F_TSO. Extended -k|K option to included tso, and changed meaning from just "checksum/sg" to more general "offload". Now covers Rx/Tx csum, SG, and TSO. Thu May 28 2003 Ganesh Venkatesan <ganesh.venkatesan@intel.com> * ethtool-copy.h: new definitions for 10GbE Thu May 28 2003 Scott Feldman <scott.feldman@intel.com> * ethtool.c: Add ethtool -E to write EEPROM byte. * e100.c: Added MDI/MDI-X status to register dump. Thu May 28 2003 Reeja John <reeja.john@amd.com> * amd8111e.c: new file, support for AMD-8111e NICs * ethtool.c: properly set ecmd.advertising Sat Mar 29 2003 OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> * realtek.c: clean up chip enumeration, support additional chips Fri Mar 28 2003 Jeb Cramer <cramerj@intel.com> * e1000.c: Update supported devices (82541 & 82547). Add bus type, speed and width to register dump printout. * ethtool.c (show_usage): Add -S to printout of supported commands. Tue Jan 22 2003 Jeff Garzik <jgarzik@pobox.com> * natsemi.c (PRINT_INTR, __print_intr): Decompose PRINT_INTR macro into macro abuse and function call portions. Move the actual function body to new static functoin __print_intr. This eliminates the annoying build warning :) Thu Jan 16 2003 Jeb Cramer <jeb.j.cramer@intel.com> * ethtool.c (do_regs, dump_eeprom): Fix memory leaks on failed operations. Add error handling of dump_regs(). Modify printout of eeprom dump to accomodate larger eeproms. * e1000.c: Update supported devices. Add error conditions for unsupported devices. Mon Oct 21 2002 Ben Collins <bcollins@debian.org> * ethtool.c: Add new parameters to -e, for raw EEPROM output, and offset and length options. * natsemi.c (natsemi_dump_eeprom): Show correct offset using new offset feature above. * tg3.c: New file, implements tg3_dump_eeprom. * Makefile.am: Add it to the build sources. * ethtool-util.h: Prototype tg3_dump_eeprom. * ethtool.8: Document new -e options. Thu Oct 17 2002 Tim Hockin <thockin@sun.com> * ethtool.c: make calls to strtol() use base 0 Wed Sep 18 2002 Scott Feldman <scott.feldman@intel.com> * ethtool.c (dump_regs): call e100_dump_regs if e100 * e100.c: new file * ethtool-util.h: prototype e100_dump_regs Thu Jun 20 2002 Jeff Garzik <jgarzik@mandrakesoft.com> * ethtool.8: document new -S stats dump argument * configure.in, NEWS: release version 1.6 Fri Jun 14 2002 Jeff Garzik <jgarzik@mandrakesoft.com> * realtek.c (realtek_dump_regs): dump legacy 8139 registers * ethtool.c (do_gstats, doit, parse_cmdline): support dumping of NIC-specific statistics Fri Jun 14 2002 Jeff Garzik <jgarzik@mandrakesoft.com> * realtek.c (realtek_dump_regs): dump RTL8139C+ registers Fri Jun 14 2002 Jeff Garzik <jgarzik@mandrakesoft.com> * realtek.c: new file, dumps RealTek RTL8169 PCI NIC's registers * Makefile.am, ethtool.c, ethtool-util.h: use it Tue Jun 11 2002 Jeff Garzik <jgarzik@mandrakesoft.com> * NEWS: list new commands added recently * ethtool.c (do_gcoalesce, do_scoalesce, dump_coalesce): new (parse_cmdline, doit): handle get/set coalesce parameters (-c,-C) (do_[gs]*): convert to use table-driven cmd line parsing * ethtool.8: document -c and -C Tue Jun 11 2002 Jeff Garzik <jgarzik@mandrakesoft.com> * ethtool.c (do_gring, do_sring, dump_ring, parse_ring_cmdline): new functions (parse_cmdline, doit): handle get/set ring parameters (-g,-G) (do_spause): fix off-by-one bugs * ethtool.8: document -g and -G Tue Jun 11 2002 Jeff Garzik <jgarzik@mandrakesoft.com> * ethtool.c (do_gpause, do_spause, dump_pause, parse_pause_cmdline): new functions (parse_cmdline, doit): handle get/set pause parameters (-a,-A) * ethtool.8: document -a, -A, -e, and -p Wed May 22 2002 Chris Leech <christopher.leech@intel.com> Scott Feldman <scott.feldman@intel.com> * ethtool-copy.h: add support for ETHTOOL_PHYS_ID function. * ethtool.c: add support for ETHTOOL_PHYS_ID function, add support for e1000 reg dump. * Makefile.am: add e1000.c * e1000.c: reg dump support for Intel(R) PRO/1000 adapters. * ethtool-util.h: add e1000 reg dump support. Sat May 11 2002 Eli Kupermann <eli.kupermann@intel.com> * ethtool.c (do_test): add support for online/offline test modes Elsewhere: document "-t" arg usage, and handle usage Sat May 11 2002 Jes Sorensen <jes@wildopensource.com> * ethtool.c (dump_ecmd): If unknown value is encountered in speed, duplex, or port ETHTOOL_GSET return data, print the numeric value returned. Wed May 1 2002 Eli Kupermann <eli.kupermann@intel.com> * ethtool.8: document new -t test option Wed May 1 2002 Christoph Hellwig <hch@lst.de> * Makefile.am (dist-hook): Use $(top-srcdir) for refering to sources. Mon Apr 29 2002 Christoph Hellwig <hch@lst.de> * Makefile.am (SUBDIRS): Remove. (RPMSRCS): Likewise. (TMPDIR): Likewise. (rpm): Likewise. (EXTRA_DIST): Add ethtool.spec.in. (dist-hook): New rule. Create rpm specfile. * configure.in (AC_OUTPUT): Add ethtool.spec. * ethtool.spec.in: New file. Rpm specfile template. * redhat/ethtool.spec.in: Removed. * redhat/Makefile.am: Removed. Wed Mar 20 2002 Jeff Garzik <jgarzik@mandrakesoft.com> * ethtool-copy.h: Merge coalescing param, ring param, and pause param ioctl structs from kernel 2.5.7. Merge ethtool_test changes fromkernel 2.5.7. * ethtool: Update for ethtool_test cleanups. Wed Mar 20 2002 Eli Kupermann <eli.kupermann@intel.com> * ethtool.c: (do_test): new function Elsewhere: add support for 'perform test' function, via a new "-t" arg, by calling do_test. Sun Mar 3 2002 Brad Hards <bhards@bigpond.net.au> * ethtool.c (parse_cmdline): Support "usb" as well as "eth" network interfaces. USB networking uses a different prefix. Fri Feb 8 2002 "Noam, Amir" <amir.noam@intel.com>, "Kupermann, Eli" <eli.kupermann@intel.com> * ethtool.c (dump_advertised): new function. (dump_ecmd): Call it. Elsewhere: reformat code. Wed Nov 28 2001 Jeff Garzik <jgarzik@mandrakesoft.com> * configure.in, Makefile.am, redhat/Makefile.am: make sure redhat spec is included in dist tarball. Tue Nov 27 2001 Tim Hockin <thockin@sun.com> * natsemi.c: strings changes * ethtool.c: print messagelevel as hex (netif_msg_* shows better :) Sun Nov 18 2001 Jeff Garzik <jgarzik@mandrakesoft.com> * NEWS: update with recent changes * ethtool.8: phy address can be used if implemented in the driver, so remove "Not used yet" remark. Sun Nov 18 2001 Jeff Garzik <jgarzik@mandrakesoft.com> * Makefile.am, de2104x.c, ethtool-util.h, ethtool.c: Support register dumps for de2104x driver. Tue Nov 13 2001 Tim Hockin <thockin@sun.com> * natsemi.c, ethtool.c: use u8 data for ethtool_regs * ethtool-copy.h: latest from kernel * natsemi.c, ethtool.c: support ETHTOOL_GEEPROM via -e param Mon Nov 12 2001 Tim Hockin <thockin@sun.com> * natsemi.c: check version, conditionally print RFCR-indexed data Wed Nov 07 2001 Tim Hockin <thockin@sun.com> * ethtool.c: print less errors for unsupported ioctl()s * ethtool.c: warn if all ioctl()s are unsupported or failed * ethtool.c: change autoneg-restart mechanism to -r (as per jgarzik) * ethtool.c: check for "eth" in devicename (per jg) * ethtool.c: remove 'extraneous' braces Wed Nov 07 2001 Jeff Garzik <jgarzik@mandrakesoft.com> * ethtool.c, ethtool.8: support bnc port/media Tue Nov 06 2001 Tim Hockin <thockin@sun.com> * ethtool.c: clean up output for unhandled register dumps * natsemi.c: finish pretty-printing register dumps * ethtool.8: document -d option * various: add copyright info, where applicable * ethtool.c: be nicer about unsupported ioctl()s where possible and be more verbose where nice is not an option. Mon Nov 05 2001 Tim Hockin <thockin@sun.com> * natsemi.c: first cut at 'pretty-printing' register dumps Fri Nov 02 2001 Tim Hockin <thockin@sun.com> * ethtool.c: add support for ETHTOOL_GREGS via -d (dump) flag * ethtool.c: add support for device-specific dumps for known devices * ethtool.c: make mode-specific handling allocate ifr_data * Makefile.am: import ChangeLog to rpm specfile * natsemi.c: added * ethtool-util.h: added Thu Nov 01 2001 Tim Hockin <thockin@sun.com> * ethtool.c: add support for ETHTOOL_GLINK in output * ethtool.c: add support for ETHTOOL_NWAY_RST via 'autoneg restart' * ethtool.c: add support for ETHTOOL_[GS]MSGLVL via 'msglvl' param * ethtool.8: add documentation for above * ethtool-copy.h: updated to sync with kernel Fri Oct 26 2001 Jeff Garzik <jgarzik@mandrakesoft.com> * ethtool.8: Update contributors list, home page URL. * ethtool.8: Much cleanup, no content change. Contributed by Andre Majorel. * ethtool.c: Clean up '-h' usage message. Contributed by Andre Majorel. Fri Oct 26 2001 Jeff Garzik <jgarzik@mandrakesoft.com> * Configure.in: bump version to 1.4cvs * Makefile.am: include ethtool-copy.h in list of sources * ethtool-copy.h: Import ethtool.h from kernel 2.4.13. * ethtool.c: Define SIOCETHTOOL if it is missing, trim trailing whitespace. * NEWS: update for these changes Wed Sep 19 2001 Jeff Garzik <jgarzik@mandrakesoft.com> * ethtool.c, ethtool-copy.h: Import copy of kernel 2.4.10-pre12's ethtool.h. Wed Sep 19 2001 Tim Hockin <thockin@sun.com> * Makefile.am, redhat/ethtool.spec.in: Basic "make rpm" support. Wed Sep 19 2001 Tim Hockin <thockin@sun.com> * AUTHORS, NEWS, ethtool.8, ethtool.c: Wake-on-LAN support. Thu May 17 2001 Jeff Garzik <jgarzik@mandrakesoft.com> * configure.in, NEWS, README: Version 1.2 release * ethtool.c: Support ETHTOOL_GDRVINFO. * ethtool.8: Document it. Fri Mar 20 2001 Jeff Garzik <jgarzik@mandrakesoft.com> * Makefile.am, configure.in, autogen.sh, NEWS, ChangeLog, AUTHORS, README: Add autoconf/automake support. usr/share/doc/gzip/ChangeLog 0000644 00000335645 15125501374 0011772 0 ustar 00 2022-04-07 Jim Meyering <meyering@fb.com> version 1.12 * NEWS: Record release date. 2022-04-07 Paul Eggert <eggert@cs.ucla.edu> zgrep: fix "binary file matches" mislabeling Problem reported by Jim Avera (Bug#31280). This became more of an issue when GNU grep 3.5 (2020) started sending "binary file matches" diagnostics to stderr instead of to stdout. * tests/Makefile.am (TESTS): Add zgrep-binary. * tests/zgrep-binary: New test. * zgrep.in (args): New var, to accumulate args separately from grep command, so we can prepend args if need be. Most uses of 'grep' changed to use 'args' instead, or also. (with_filename): Set to 1 if more than one file and -h not given; this simplifies later code. (gnuish_grep): New var; evaluates to true if grep supports -H and --label options, as is true for GNU and FreeBSD grep. Append -H to 'grep' if outputting file names with GNUish grep, and use --label with GNUish grep unless reading from stdin, as that’s safer and more efficient than relabeling with 'sed'. maint: use C locale more often * gzexe.in, zdiff.in, zgrep.in: Run expr and sed in the C locale when it might help to avoid undefined behavior on non-GNU platforms. * sample/zfile, znew.in: Run in the C locale, for simplicity and to avoid undefined behavior on non-GNU platforms. gzexe: optimize out a grep * gzexe.in: Avoid an unnecessary invocation of ‘grep’, by using sed instead. Also, look only for at-most-3-digit numbers, for consistency with the rest of the script. gzip: mention when fixed bugs were introduced zgrep: port to POSIX sed * zgrep.in (res): When escaping the file name do not rely on GNU sed’s extension to POSIX with respect to s/.../\n/. Instead, use features that should also work with AIX and/or Solaris sed. This is simpler anyway, and would have prevented the recently-fixed bug. 2022-04-07 Jim Meyering <meyering@fb.com> zgrep: add NEWS and tests for this exploitable bug * tests/zgrep-abuse: New file, based on PoC by cleemy desu wayo. * tests/Makefile.am (TESTS): Add it. * NEWS: Mention the exploit. The bug appears to have been present since the beginning. 2022-04-06 Lasse Collin <lasse.collin@tukaani.org> zgrep: avoid exploit via multi-newline file names * zgrep.in: The issue with the old code is that with multiple newlines, the N-command will read the second line of input, then the s-commands will be skipped because it's not the end of the file yet, then a new sed cycle starts and the pattern space is printed and emptied. So only the last line or two get escaped. This patch makes sed read all lines into the pattern space and then do the escaping. This vulnerability was discovered by: cleemy desu wayo working with Trend Micro Zero Day Initiative 2022-04-06 Paul Eggert <eggert@cs.ucla.edu> gzip: fix i386 port * deflate.c (prev_length, match_start, max_chain_length, good_match): Make these extern instead of static, reverting part of the 2021-12-01T21:46:36Z!eggert@cs.ucla.edu patch. These symbols are used by i386 asm, and so must be extern at least for i386. maint: pacify GCC with recent x86 glibc * configure.ac (WERROR_CFLAGS): Disable -Wtype-limits, due to a false alarm on platforms where 'long' is 32 bits and time_t is 64-bit, such as recent glibc on x86. 2022-04-04 Paul Eggert <eggert@cs.ucla.edu> maint: update from Gnulib * bootstrap, tests/init.sh: Copy manually from current Gnulib. * lib/.gitignore, m4/.gitignore: Update as per current Gnulib. build: update gnulib submodule to latest build: support --program-prefix etc. Problem reported by Antonio Diaz Diaz via Dagobert Michelsen in: https://bugs.gnu.org/16876 * Makefile.am (.in): Substitute for 'gzip', 'zdiff', 'zgrep'. ($(GZIP_TRANSFORMED), $(ZDIFF_TRANSFORMED), $(ZGREP_TRANSFORMED)): New rules to build forwarding shell scripts, if needed. Add these files to BUILT_SOURCES and MOSTLY_CLEANFILES if needed. * configure.ac (GZIP_TRANSFORMED, ZDIFF_TRANSFORMED, ZGREP_TRANSFORMED): New substituted vars. (GZIP_IS_TRANSFORMED, ZDIFF_IS_TRANSFORMED, ZGREP_IS_TRANSFORMED): New Automake conditions. * gunzip.in, gzexe.in, zcat.in, zcmp.in, zdiff.in, zegrep.in: * zfgrep.in, zforce.in, zgrep.in, zless.in, zmore.in, znew.in: Quote possibly-transformed subcommand names. 2022-04-01 Paul Eggert <eggert@cs.ucla.edu> doc: improve doc for saved timestamps etc. Problem reported by Carpe Sébastien (Bug#24559). 2022-03-31 Paul Eggert <eggert@cs.ucla.edu> tests: port list-big test to macOS 12.1 * tests/list-big: Use dd, not truncate, to create a big file. zmore: don't assume benign PAGER in testing * tests/help-version (zmore_setup): Unset PAGER so that we test 'more', not whatever the tester has in its PAGER environment variable. This works around a problem I found when I ran 'PAGER=less make check' on a platform that lacked 'less'. zless: install only on platforms with 'less' Problem reported by Michael Felt (Bug#30029). * Makefile.am (ZLESS_MAN, ZLESS_PROG): New macros. (man_MANS, bin_SCRIPTS): Use them. * configure.ac: Check for 'less'. * tests/Makefile.am (ZLESS_PROG): New macro. (built_programs): Use it. 2022-03-29 Paul Eggert <eggert@cs.ucla.edu> doc: spelling fixes doc: omit @refill * doc/gzip.texi: Remove @refill to suppress warning ‘gzip.texi:562: warning: @refill is obsolete.’ from makeinfo 6.8. 2022-03-08 Paul Eggert <eggert@cs.ucla.edu> zdiff: fix another arg-handling bug Also allow args after file names. Problem reported by Lv Ying <https://bugs.gnu.org/54290#12>. 2022-03-07 Paul Eggert <eggert@cs.ucla.edu> zdiff: fix arg handling bug Problem reported by Lv Ying (Bug#54291). * zdiff.in (escape): Handle args like '-C 5'. 2022-02-10 Paul Eggert <eggert@cs.ucla.edu> doc: embolden SEE ALSO refs Problem reported by Helge Kreutzmann (Bug#53918). 2022-01-03 Jim Meyering <meyering@fb.com> maint: avoid new syntax-check failures * cfg.mk (local-checks-to-skip): Add sc_indent, to skip it. Otherwise, "make syntax-check" would fail. build: disable some expensive compiler warnings by default * configure.ac (gl_GCC_VERSION_IFELSE): Copy from coreutils. (gcc-warnings): Update from coreutils. maint: make update-copyright build: update gnulib to latest; also bootstrap and init.sh 2021-12-15 Paul Eggert <eggert@cs.ucla.edu> doc: document gzip -l change * NEWS, doc/gzip.texi (Invoking gzip), gzip.1 (gunzip): Document recent change. gzip: gzip -l now outputs accurate size gzip -l now decompresses to see how long the uncompressed file was. This fixes what is by far the most common bug report for gzip. It has a significant performance cost, but it’s worth it nowadays. * gzip.c (main): -l now sets 'test' too. All uses of 'test' changed. (treat_stdin, treat_file): Call do_list after decompressing, so that the length is known. (do_list): Omit arg IFD, since it is no longer needed. All callers changed. Get the CRC and uncompressed size from input_crc and bytes_out instead of using lseek. * tests/list-big: New test. * unzip.c (unzip): Set unzip_crc before returning. * util.c (write_buf): If 'test', output nothing. Update bytes_out with output byte count, regardless of 'test'. All callers changed. 2021-12-01 Paul Eggert <eggert@cs.ucla.edu> maint: reduce module coupling If a symbol is extern but never used by another module, make it static instead, or remove it if it is not used anywhere. * Makefile.am (gzip_SOURCES): Remove lzw.c. * bits.c (bi_buf, bi_valid) [!IBM_Z_DFLTCC]: * deflate.c (prev_length, match_start, max_chain_length) (good_match, lm_init): * gzip.c (verbose) [!DEBUG]: * unlzw.c (block_mode): Now static. * gzip.c (help, main, do_lzw): * revision.h: Simplify by assuming !LZW. * util.c (setcrc): Define only if IBM_Z_DFLTCC. (make_simple_name): Define only if NO_MULTIPLE_DOTS. 2021-10-30 Paul Eggert <eggert@cs.ucla.edu> maint: modernize README-{hacking,prereq} 2021-09-07 Paul Eggert <eggert@cs.ucla.edu> build: update gnulib submodule to latest 2021-09-03 Jim Meyering <meyering@fb.com> maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 1.11 * NEWS: Record release date. 2021-08-31 Paul Eggert <eggert@cs.ucla.edu> tests: port still better to NetBSD * tests/hufts: Ignore more lines starting with ‘+’ in stderr. tests: port better to NetBSD * tests/hufts, tests/zdiff: Ignore lines starting with ‘+’ in stderr. The NetBSD shell outputs them after set -x. tests: update help-version from coreutils This merges coreutils/tests/misc/help-version.sh into gzip/tests/help-version; they're now identical except for the initial init.sh configuration line. This should port better to NetBSD. maint: update .gitignore files * .gitignore, lib/.gitignore, m4/.gitignore: Bring up to date. Remove duplicates. Sort. tests: port two-files to IRIX 6.5 Problem reported by Nelson H. F. Beebe. * tests/two-files: Skip test if /dev/urandom is not readable. 2021-08-29 Jim Meyering <meyering@fb.com> build: update gnulib to latest maint: don't send announcements to TP coordinator gzip has no translatable strings, so don't include the translation project coordinator's email address in the announcement template. * cfg.mk (translation_project_): Define to be empty. 2021-08-19 Paul Eggert <eggert@cs.ucla.edu> gzip: clarify "other links" diagnostic * gzip.c (treat_file): Instead of saying "gzip: FOO has 1 other link -- unchanged", say "gzip: FOO has 1 other link -- file ignored". This is clearer when -k is also used (Bug#50097). 2021-08-08 Jim Meyering <meyering@fb.com> build: update gnulib to latest 2021-06-30 Jim Meyering <meyering@fb.com> build: update gnulib to latest 2021-04-11 Dmitry V. Levin <ldv@altlinux.org> bug#47715: [PATCH] gzip.c: use a more portable alignment The alignment of 8192 introduced by commit be0c5581e38332b2ffa8a4cf92076cfde02872b4 is not quite portable: eu-elflint --gnu-ld complains about the result gzip executable with the following diagnostics: section [25] '.bss' not fully contained in segment of program header entry 6 * gzip.c [__alignas_is_defined] (BUFFER_ALIGNED): Decrease alignment from 8192 back to 4096. 2021-03-07 Paul Eggert <eggert@cs.ucla.edu> maint: modernize .gitignore * lib/.gitignore, m4/.gitignore: Sort and modernize to current Gnulib. zgrep: fix option typo * zgrep.in: Fix typo in option processing that prevented operands like ‘binary-1’. gzip: port to SIGPIPE-less platforms * gzip.c (main): Don’t assume SIGPIPE is defined. 2021-02-26 Paul Eggert <eggert@cs.ucla.edu> * gzip.1: Quote better (Bug#46730). 2021-01-01 Jim Meyering <meyering@fb.com> maint: update all copyright year number ranges Run "make update-copyright" and then... * gnulib: Update to latest with copyright year adjusted. * tests/init.sh: Sync with gnulib to pick up copyright year. * bootstrap: Likewise. 2020-12-09 Jim Meyering <meyering@fb.com> maint: avoid another autoreconf warning * configure.ac: modernize AC_TRY_COMPILE invocation Use AC_COMPILE_IFELSE instead of AC_TRY_COMPILE. maint: remove uses of obsolete macros * configure.ac (AC_TYPE_SIGNAL, AC_ISC_POSIX, AC_HEADER_STDC): Remove. maint: avoid autoreconf warnings * configure.ac: Go back to using AC_PROG_CC rather than AC_PROG_CC_STDC, as the latter is obsolescent and the Autoconf bug involving the former has been fixed. build: update gnulib to latest build: require autoconf-2.64 * configure.ac: Require autoconf-2.64, up from 2.63, to align with gnulib. 2020-09-24 Ilya Leoshkevich <iii@linux.ibm.com> Add a test for compressing and decompressing two files It ensures that compression and decompression state of the first file does not affect the second file. Fix DFLTCC segfault when compressing or decompressing two files The value in total_in global variable from processing the first file affected processing of the second file. Fix by making total_in local. bug#43583: Fix building DFLTCC with clang clang does not support .machinemode, so put it under an #ifdef. Update .gitignore files On my s390x Fedora 31 machine there are a bunch of extra files copied to lib and m4 directories. Add them to .gitignore. 2020-08-31 Paul Eggert <eggert@cs.ucla.edu> doc: prefer bold to italics for command names 2020-05-29 Ilya Leoshkevich <iii@linux.ibm.com> IBM Z DFLTCC: add STREQ definition Commit 81c9fe4d0986 replaced !strcmp with STREQ in order to be compliant with the gnulib linter, however, gnulib does not provide STREQ! Quite a few gnulib .c files contain private definitions of STREQ. This patch just goes with the flow and does the same in dfltcc.c. 2020-03-21 Jim Meyering <meyering@fb.com> build: update gnulib to latest 2020-03-21 Bjarni Ingi Gislason <bjarniig@rhi.hi.is> doc: gzip.1: Change .BR to .B as there is only one argument * gzip.1: Use .B rather than .BR to avoid diagnostics from an upcoming version of groff: $ groff -b -e -mandoc -T utf8 -rF0 -t -w w -z <gzip.1>:327 (macro BR): only 1 argument, but more are expected <gzip.1>:459 (macro BR): only 1 argument, but more are expected This addresses https://bugs.gnu.org/39845 2020-03-14 Jim Meyering <meyering@fb.com> doc: man page improvements * gzip.1 (REPORTING BUGS): New section. (-t, --test): Add "then quit" at end of sentence to clarify what this option does. Reported by Dan Jacobson in https://bugs.gnu.org/839768. 2020-01-10 Ilya Leoshkevich <iii@linux.ibm.com> IBM Z DFLTCC: fix three data corruption issues SUSE maintainers have found an issue related to building zlib in 31-bit mode, which also applies to gzip: STFLE instruction can be used only in z/Architecture mode: https://build.opensuse.org/request/show/708284 -- I have integrated the fix into this patch. * configure.ac (AC_CHECK_HEADERS_ONCE): Add feature detection for sys/sdt.h probes. * dfltcc.c (dfltcc_cc): Minor formatting improvements. (HB_BITS): Remove. (HB_SIZE): Likewise. (is_dfltcc_enabled): Fix buffer overrun on newer models and incomplete initialization on older models. Add machine mode hint. (dfltcc): Use sys/sdt.h feature detection. (bi_load): New function. (bi_close_block): Use bi_load. (close_stream): Fix overwriting the End-of-block Symbol. (dfltcc_deflate): Fix losing partial byte on flush. Fix setting Block-Continuation Flag when DFLTCC-CMPR outputs 0 bits and requests a retry. Minor formatting improvements. (dfltcc_inflate): Retry immediately if requested. Print the hardware error code and flush the output buffer on error. Minor formatting improvements. * tests/hufts: Ignore the hardware error code. 2020-01-05 Ilya Leoshkevich <iii@linux.ibm.com> Document IBM Z environment variables IBM Z patch (7a6f9c9) introduced 6 environment variables, which are used to tune the compression and decompression with the DEFLATE COMPRESSION CALL instruction. This patch adds texinfo documentation for all of them. * doc/gzip.texi (Environment): Add DFLTCC* environment variables. 2020-01-01 Jim Meyering <meyering@fb.com> maint: update all copyright year number ranges Run "make update-copyright" and then... * gnulib: Update to latest with copyright year adjusted. * tests/init.sh: Sync with gnulib to pick up copyright year. * bootstrap: Likewise. maint: change calloc module to calloc-gnu * bootstrap.conf (gnulib_modules): Use calloc-gnu module, not the deprecated "calloc". 2019-09-07 Jim Meyering <meyering@fb.com> maint: placate strcmp-vs-STREQ syntax check rule * dfltcc.c (is_dfltcc_enabled): Use STREQ (env, "0") in place of "!strcmp (env, "0"). 2019-04-02 Paul Eggert <eggert@cs.ucla.edu> Improve IBM Z patch Most of this is minor changes to use GNU style and C99 constructs. * NEWS: Mention IBM Z. * bootstrap.conf (gnulib_modules): Add stdalign. * dfltcc.c: Include stdalign.h, stdbool.h. (union aligned_dfltcc_qaf_param, union aligned_dfltcc_param_v0): New types, used for C11-style alignment. All uses changed. (init_param): * gzip.c (BUFFER_ALIGNED): New macro. (inbuf, outbuf, window): Use it, so buffers are aligned everywhere. * gzip.h (INBUFSIZ, OUTBUFSIZE): Use big buffers everywhere, unless SMALL_MEM. * zip.c (SLOW, FAST): Now enums since they need not be macros: 2019-04-02 Ilya Leoshkevich <iii@linux.ibm.com> bug#34918: [PATCH] Add support for IBM Z hardware-accelerated deflate Future versions of IBM Z mainframes will provide DFLTCC instruction, which implements deflate algorithm in hardware with estimated compression and decompression performance orders of magnitude faster than the current gzip and ratio comparable with that of level 1. This patch adds DFLTCC support to gzip. In order to enable it, the following build commands should be used: $ ./configure --enable-dfltcc $ make When built like this, gzip would compress in hardware on level 1, and in software on all other levels. Decompression will always happen in hardware. In order to enable DFLTCC compression for levels 1-6 (i.e. to make it used by default) one could either add -DDFLTCC_LEVEL_MASK=0x7e at compile time, or set the environment variable DFLTCC_LEVEL_MASK to 0x7e at run time. Two DFLTCC compression calls produce the same results only when they both are made on machines of the same generation, and when the respective buffers have the same offset relative to the start of the page. Therefore care should be taken when using hardware compression when reproducible results are desired. One such use case - reproducible software builds - is handled explicitly: when SOURCE_DATE_EPOCH environment variable is set, the hardware compression is disabled. This patch tries to add DFLTCC support in a least intrusive way. All SystemZ-specific code was placed into a separate file, but unfortunately there is still a noticeable amount of changes in the main gzip code. Below is the summary of those changes. DFLTCC will refuse to write an End-of-block Symbol if there is no input data, thus in some cases it is necessary to do this manually. In order to achieve this, bi_buf and bi_valid were promoted to extern variables. lm_init() function moves the input buffer into the window, which is not desirable for DFLTCC. Therefore, its invocation was moved to software-only deflate(). In addition to initializing the window, this function also used to convert compression level to flags, which is still needed for DFLTCC. This responsibility was handed off to zip() function. To achieve maximum performance with DFLTCC, inbuf and outbuf must be 256k big and page-aligned. Additionally, for DFLTCC to work at all, the window must be page-aligned. In addition to compression, DFLTCC computes CRC-32 checksum, therefore, whenever it's used, software checksumming needs to be suppressed and its results replaced by those of dfltcc. This is achieved by introducing the new getcrc() and setcrc() functions. Unlike the current software implementation, DFLTCC decompresses data into the output buffer, and not the window. Therefore, just like flushing the window, flushing the output buffer must honor the test flag. Finally, znew-k test assumes that "znew -K" would not convert the test .Z file to .gz, which is not the case with DFLTCC. Since this is not the main point of the test, this assumption was relaxed. 2019-03-26 Paul Eggert <eggert@cs.ucla.edu> gzexe: fix count of lines to skip Problem reported by Jakub Martisko (Bug#35002). * gzexe.in (skip): Bump from 44 to 49. 2019-01-20 Jim Meyering <meyering@fb.com> build: ensure no VLA is used Cause developer builds to fail for any use of a VLA. VLAs (variable length arrays) limit portability. * configure.ac (nw): Remove -Wvla from the list of disabled warnings, thus enabling the warning when configured with --enable-gcc-warnings. (GNULIB_NO_VLA) Define, disabling use of VLAs in gnulib. This commit is functionally equivalent to coreutils' v8.30-44-gd26dece5d. build: update gnulib to latest 2019-01-01 Jim Meyering <meyering@fb.com> maint: update all copyright dates via "make update-copyright" * gnulib: Also update submodule for its copyright updates. 2018-12-29 Jim Meyering <meyering@fb.com> maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 1.10 * NEWS: Record release date. 2018-12-23 Paul Eggert <eggert@cs.ucla.edu> build: enable -Wunreachable-code * configure.ac (nw): Remove -Wunreachable-code from the list of disabled warnings, now that all offending statements have been removed. maint: remove unreachable code Problem reported by Oracle Developer Studio 12.6. In the old days we needed a return statement at the end of the gzip main function to pacify traditional 'lint', but lint checkers nowadays are smarter. * gzip.c (main): * zip.c (file_read): Remove unreachable code. 2018-12-23 Jim Meyering <meyering@fb.com> maint: use a slightly cleaner expression * gzip.c (do_list): Simplify an expression: - int positive_off_t_width = INT_BUFSIZE_BOUND (off_t) - 2; + int positive_off_t_width = INT_STRLEN_BOUND (off_t) - 1; 2018-12-22 Jim Meyering <meyering@fb.com> build: avoid build failure with --enable-gcc-warnings and latest gcc * gzip.c (do_list): There was a loop to compute the maximum width of a decimal positive off_t value. Replace it with assignment to a constant. Noticed because gcc 9.0.0 20181219 warned about its use as a printf format-width value. (OFF_T_MAX): Remove now-unused definition. 2018-12-21 Jim Meyering <meyering@fb.com> maint: improve a comment * trees.c (flush_block): Fix grammar/spelling in a comment. maint: update gnulib to latest; also update bootstrap and init.sh build: make the autoconf-2.63 requirement explicit * configure.ac: AC_PREREQ: Require 2.63, not 2.59. Autoconf-2.63 has been required for some time via gnulib. This merely makes it explicit. 2018-11-30 Paul Eggert <eggert@cs.ucla.edu> gzip: fix use of uninitialized memory Problem reported by Hanno Böck (Bug#33501). * NEWS: Mention this. * inflate.c (inflate_dynamic): Return if code is invalid. Fix by Mark Adler. * tests/hufts: Add test case for the bug. 2018-08-19 Paul Eggert <eggert@cs.ucla.edu> * gzip.c (remove_output_file): Fix typo. gzip: fix bug in signal-handling fix Problem reported by Johannes Przybilla (Bug#32375#26). * gzip.c (volatile_strcpy): Source is now pointer-to-volatile too. (remove_output_file): Copy remove_ofname to a private nonvolatile copy so that it can be passed to xunlink safely. 2018-08-06 Paul Eggert <eggert@cs.ucla.edu> Fix some theoretical races in signal handling Problem reported by Johannes Przybilla (Bug#32375). * NEWS: Mention this. * bootstrap.conf (gnulib_modules): Add sigaction. * gzip.c (SA_NOCLDSTOP, sigprocmask, sigset_t) (siginterrupt) [!SA_NOCLDSTOP]: Remove; Gnulib not supplies these. (remove_ofname): New var. (volatile_strcpy): New function. (create_outfile): Use it. (install_signal_handlers, abort_gzip_signal): Assume sigaction. (remove_output_file): New arg SIGNALS_ALREADY_BLOCKED. All uses changed. Avoid unnecessary (and racy) call to sigprocmask if this new arg is set. (abort_gzip_signal): Assume C89 or better for signal handler type. * gzip.h (RETSIGTYPE): Remove. * lib/.gitignore, m4/.gitignore: Add files brought in by Gnulib sigaction module. Sort. 2018-08-04 Paul Eggert <eggert@cs.ucla.edu> gzip: port better to mingw again Problem reported by Bdale Garbee (Bug#32305#8). * gzip.c (do_chown): Use HAVE_FCHOWN || HAVE_CHOWN, which is configured, instead of DO_CHOWN, which is not. 2018-08-02 Paul Eggert <eggert@cs.ucla.edu> gzip: make the output more reproducible Problem reported by Bernhard M. Wiedemann (Bug#32342). * NEWS: Mention this. * doc/gzip.texi (Overview, Invoking gzip): Document this. * gzip.c (get_input_size_and_time): New function, which implements the change. (treat_stdin, treat_file): Use it. * tests/reproducible: New test. * tests/Makefile.am (TESTS): Add it. 2018-07-29 Paul Eggert <eggert@cs.ucla.edu> gzip: port better to mingw Problem reported by Bdale Garbee for Debian * gzip.c (do_chown): Don't assume uid_t and gid_t. 2018-07-01 Jim Meyering <meyering@fb.com> maint: update gnulib to latest; also update bootstrap and init.sh 2018-06-30 Jim Meyering <meyering@fb.com> build: remove -Wformat-truncation=2 to avoid avoid false-positive * configure.ac (GNULIB_WARN_CFLAGS): Add -Wformat-truncation=2, to disable it when building gnulib with --enable-gcc-warnings. This avoids what looks like a false positive from GCC 9: strerror_r.c: In function 'rpl_strerror_r': strerror_r.c:453:35: error: 'Unknown error ' directive output \ truncated writing 14 bytes into a region of size 2 \ [-Werror=format-truncation=] snprintf (buf, buflen, "Unknown error %d", errnum); ~~^~~~~~~~~~~~ In file included from /usr/include/stdio.h:862, from ./stdio.h:43, from strerror_r.c:29: /usr/include/bits/stdio2.h:64:10: note: '__builtin___snprintf_chk' \ output between 16 and 26 bytes into a destination of size 2 return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, 2018-01-15 Paul Eggert <eggert@cs.ucla.edu> misc: update --version copyright * gunzip.in, gzexe.in, gzip.c, zcat.in, zdiff.in, zforce.in, zgrep.in: * zless.in, zmore.in, znew.in: Update copyright year in --version output to 2018. This part of the year-number update isn’t automated yet. 2018-01-07 Jim Meyering <meyering@fb.com> maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 1.9 * NEWS: Record release date. 2018-01-06 Paul Eggert <eggert@cs.ucla.edu> gzexe: port to macOS mktemp Problem reported by Jeffrey Walton (Bug#30000). * gzexe.in, zdiff.in, zgrep.in: Don’t assume that mktemp works when given no arguments, as this is not true for macOS. Instead, use a syntax that should work with coreutils, NetBSD, and macOS. While we’re in the neighborhood, be more consistent about how program names are used in temporary file names. Also, watch out for TMPDIR values that are not absolute file names, since they can cause problems (e.g., leading "-"). 2018-01-03 Jim Meyering <meyering@fb.com> maint: update gnulib and copyright dates for 2018 * gnulib: Update to latest. * bootstrap: Update from gnulib. * all files: Run "make update-copyright". 2017-12-16 Jim Meyering <meyering@fb.com> build: update gnulib to latest 2017-11-24 Paul Eggert <eggert@cs.ucla.edu> maint: zforce and zmore exit status cleanup Problem reported by Nelson H. F. Beebe. * zforce.in, zmore.in: On failure, exit with status 1 instead of with whatever failing status that printf or mv exited with. 2017-11-23 Paul Eggert <eggert@cs.ucla.edu> gzexe: ensure file always exists * gzexe.in: When in a filesystem that does not support symlinks, use rm+cp rather than mv to make backups, so that the argument file always exists. 2017-11-23 Jim Meyering <meyering@fb.com> build: update gnulib to latest 2017-11-16 Jim Meyering <meyering@fb.com> gzexe: work even without the ability to make a hard link * gzexe.in: When ln -f fails to create a "~"-style backup, fall back to using mv -f. Reported by Bruno Haible in http://debbugs.gnu.org/29266 2017-11-15 Jim Meyering <meyering@fb.com> build: make each generated script unwritable * Makefile.am (.in): Ensure that each generated script is unwritable. This makes it less likely that someone (even me) will mistakenly modify one of those generated files. 2017-11-13 Jim Meyering <meyering@fb.com> zless, znew: exit 1 upon --help or --version write failure * zless.in: Exit 1 upon --help or --version write error. * znew.in: Likewise. 2017-11-12 Paul Eggert <eggert@cs.ucla.edu> maint: script diagnostics status cleanup Problem reported by Bruno Haible (Bug#29266#20). * NEWS: Mention this. * gunzip.in, gzexe.in, zcat.in, zcmp.in, zdiff.in, zforce.in: * zgrep.in, zless.in, zmore.in, znew.in: Use printf instead of echo if the argument might contain ‘\’, at least in theory. Don’t assume printf exits with status 1 on failure; it might be some other positive status. * gzexe.in: Use printf consistently instead of echo, and proscribe it instead of echo. tests: don’t be so strict about timestamps * tests/timestamp: We’ve had many false alarms about timestamps that are not gzip problems, but instead are problems with ‘touch’. Attempt to work around them by not trusting ‘touch’ so much. Problems and parts of solutions proposed by Bruno Haible. 2017-11-10 Paul Eggert <eggert@cs.ucla.edu> build: update gnulib submodule to latest 2017-11-09 Jim Meyering <meyering@fb.com> gnulib: update to latest maint: use noreturn, not ATTRIBUTE_NORETURN Use gnulib's stdnoreturn module so we can include <stdnoreturn.h> and the "noreturn" helper macro, thus replacing the definition and uses of ATTRIBUTE_NORETURN. * bootstrap.conf (gnulib_modules): Add stdnoreturn. * gzip.h (ATTRIBUTE_NORETURN): Remove definition. Include stdnoreturn.h and use "noreturn" for each ATTRIBUTE_NORETURN-adorned function declaration. * gzip.c (do_exit, try_help): Use "noreturn". tests: unpack-invalid: correct and clean up a test * tests/unpack-invalid: There was a logic error that would have caused this test to ignore a failure if first iteration of the loop set fail=1 and the second one reset it to 0. Also, use "returns_ 1 ...", to require an exit status of 1. 2017-11-07 Paul Eggert <eggert@cs.ucla.edu> gzip: diagnose out-of-range MTIME This seems to be the problem reported by Bruno Haible for GNU/Hurd i386 with touch 8.26 and glibc 2.24 (Bug#29033#20). * NEWS: Document this. * gzip.c (get_method): If MTIME is out of range for this platform, warn and substitute the nearest in-range value, instead of silently ignoring it. (do_list): Remove no-longer-needed test for unknown time stamp. 2017-11-06 Paul Eggert <eggert@cs.ucla.edu> misc: diagnose year-2038 configuration problems * bootstrap.conf (gnulib_modules): Add year2038. * m4/.gitignore: Add year2038.m4[ maint: remove IMPORT_FROM_GETTEXT * bootstrap.conf (IMPORT_FROM_GETTEXT): Remove. This is a relic from older Gnulib, and has no effect now. 2017-10-29 Jim Meyering <meyering@fb.com> tests/unpack-valid: port to printf that do not grok hex Many versions of printf do not handle hexadecimal in a format string, so this test would fail. * tests/init.cfg (hex_printf_): Copied from grep's tests/init.cfg. * tests/unpack-valid: Use hex_printf_. Reported by Bruno Haible in https://bugs.gnu.org/29033#26 gnulib: update to latest; also update tests/init.sh from gnulib gzip: fix bug with any upper case custom ('-S'-specified) suffix Any user-specified suffix with an upper case letter would fail to match desired file. * gzip.c (get_suffix): First, arrange to have only one return point rather than two. Put a lower-cased (just-malloc'd) copy of z_suffix in the suffix vector, and free it before returning. * tests/upper-suffix: New file. * tests/Makefile.am (TESTS): Add it. * NEWS: Mention it. Reported by meo@xenialab.it in https://bugs.gnu.org/29006 2017-10-16 Paul Eggert <eggert@cs.ucla.edu> gzip: fix bug in unpack EOB check Problem reported by Vidar Holen (Bug#28861). * NEWS: Mention fix. * tests/unpack-valid: New test. * tests/Makefile.am (TESTS): Add it. * unpack.c (build_tree): Report an error if Huffman tree has too few leaves. * unpack.c (unpack): Fix check for EOB. Remove now-unnecessary check for code out of range. 2017-09-19 Jim Meyering <meyering@fb.com> maint: fix "make syntax-check": remove useless HAVE_UTIME_H definitions * tailor.h: Don't define HAVE_UTIME_H. maint: avoid "make syntax-check" failure due to old-NEWS modification * cfg.mk (old_NEWS_hash): Update, to reflect recent NEWS correction. 2017-09-19 Paul Eggert <eggert@cs.ucla.edu> gzexe: improve usage diagnostic * gzexe.in (usage): Reword for clarity (Bug#28514). misc: update --version copyright * gunzip.in, gzexe.in, gzip.c, zcat.in, zdiff.in, zforce.in, zgrep.in: * zless.in, zmore.in, znew.in: Update copyright year in --version output to 2017. maint: prefer HTTPS to HTTP, FTP in URLs maint: copy bootstrap from Gnulib maint: port to GCC 7.2 * configure.ac (WERROR_CFLAGS): Avoid -Wduplicated-branches. * tailor.h (FALLTHROUGH): New macro, taken from Emacs. * gzip.c (main): Use it. maint: update .gitignore for recent Gnulib build: update gnulib submodule to latest 2017-05-07 Jim Meyering <meyering@fb.com> maint: also distribute a zip-compressed tarball * configure.ac (AM_INIT_AUTOMAKE): Add dist-zip, for those lacking gzip, 7zip, etc. Suggested by Karl Berry in https://bugs.gnu.org/25538. 2017-03-13 Paul Eggert <eggert@cs.ucla.edu> gzip: port zdiff, zless to Busybox Problem reported by Denys Zagorui (Bug#26088). * tests/zdiff: Check that diff uses POSIX-format output. * zless.in (less_version): Don't exit merely because 'less -V' fails; instead, assume 'less' is compatible with an old version of the original 'less'. Busybox 'less -V' fails, but apparently its 'less' works anyway somehow. 2017-02-06 Jim Meyering <meyering@fb.com> tests: avoid failure when running with no tty * tests/help-version (zcat_setup): Export TERM=dumb, to avoid zless malfunction. Reported by Assaf Gordon in https://bugs.gnu.org/25636#8 gnulib: update to latest; and tests/init.sh and bootstrap maint: change "time stamp" to "timestamp" globally This avoids a new syntax-check failure. * ChangeLog-2007: Perform that change. * NEWS: Likewise. * algorithm.doc: Likewise. * doc/gzip.texi: Likewise. * gunzip.in: Likewise. * gzip.1: Likewise. * gzip.c: Likewise. * gzip.h: Likewise. * m4/.gitignore: Likewise. * sample/ztouch: Likewise. * tests/timestamp: Likewise. * unzip.c: Likewise. * zip.c: Likewise. * znew.1: Likewise. * cfg.mk: Update the old news hash accordingly. 2017-01-01 Jim Meyering <meyering@fb.com> maint: tweak a distcheck rule * dist-check.mk (my-distcheck): Don't use --disable-nls. That option is now unrecognized. maint: update gnulib and copyright dates for 2017 * gnulib: Update to latest. * all files: Run "make update-copyright". 2016-11-08 Jim Meyering <meyering@fb.com> maint: use "returns_" rather than explicit comparison with "$?" * tests/zdiff: Use "returns_ 1" rather than testing $? = 1. * tests/hufts: Likewise. * tests/timestamp: Likewise, but s/1/2/. 2016-11-04 Paul Eggert <eggert@cs.ucla.edu> gzip: minor time stamp cleanups * NEWS: Document this. * gzip.c (get_method): Do not warn about MTIME out of range. This should avoid useless chatter on hosts with 32-bit time_t after the year 2038 (!). (do_list): Do not pass junk time stamp to localtime. (copy_stat): Do not report "time stamp restored" if restoration fails. gzip: --no-time cleanup Problem reported by Jim Meyering (Bug#24826). * gzip.c (longopts): Remove non-working no-time entry. (help) [UNDOCUMENTED]: Don't document it. gzip --no-name: avoid spurious warning Problem reported by Jim Meyering (Bug#24826). * tests/timestamp: Add a test from Jim Meyering to exercise the fix * zip.c (zip): Treat unknown time stamps as 0. 2016-10-24 Jim Meyering <meyering@fb.com> maint: update .gitignore files to ignore more generated files 2016-10-02 Jim Meyering <meyering@fb.com> maint: avoid unwarranted "make syntax-check" failure * tests/timestamp: Reorder "rm" arguments so the doubled-word syntax-check rule does not detect a false positive "in in" here. gnulib: update to latest 2016-09-07 Paul Eggert <eggert@cs.ucla.edu> * doc/gzip.texi: Fix off-by-one timestamp. 2016-09-06 Paul Eggert <eggert@cs.ucla.edu> gzip: fix some Y2038 etc. bugs * NEWS: Document this. * gzip.c (get_method): Warn about out-of-range MTIME, and ignore it instead of relying on possibly-undefined behavior. * tests/Makefile.am (TESTS): Add timestamp. * tests/timestamp: New test. * zip.c (zip): Warn about out-of-range file time stamp. 2016-08-29 Jim Meyering <meyering@fb.com> maint: fix gzip-specific syntax-check rule * cfg.mk (sc_gzip_copyright_check): This rule had two problems. It was failing erroneously (the copyright date in gzip.c is fine), yet it was complaining. The first problem is that the rule's diagnostic mentioned the wrong file: lib/version-etc.c, rather than ./gzip.c. The second problem is that it specified this file name via "in_files" rather than the "in_vc_files" variable. 2016-06-12 Paul Eggert <eggert@penguin.cs.ucla.edu> gzip: fix port to Atari by not defining ASMV Problem reported by Helmut Karlowski in: http://bugs.gnu.org/23751 * tailor.h (ASMV) [ATARI || atarist]: Do not define. 2016-06-12 Paul Eggert <eggert@cs.ucla.edu> gzip: drop mentions of Amiga, VMS These platforms were not supported anyway, and their code was suffering from bitrot. This patch may also fix some file name glitches on MS-Windowsish platforms. * bootstrap.conf (gnulib_modules): Add dosname. * gzip.c: Include dosname.h. (shorten_name, treat_dir): Use last_component rather than looking at path separators by hand. * tailor.h: Remove sections on porting to VMS and to Amiga, since dosname.h doesn't support these platforms anyway. (PATH_SEP2, PATH_SEP3, STDC_HEADERS, SUFFIX_SEP, RECORD_IO) (HAVE_CHOWN, HAVE_LSTAT, HAVE_SYS_DIR_H, direct): Remove. All uses removed. Many uses replaced by calls to ISSLASH and/or last_component. 2016-04-29 Jim Meyering <meyering@fb.com> maint: arrange for better URLs in generated announcement message * cfg.mk (url_dir_list): Define. I had been correcting the generated URLs by hand, just before the announcement. This is better. 2016-04-26 Jim Meyering <meyering@fb.com> maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 1.8 * NEWS: Record release date. gnulib: update to latest 2016-04-19 Paul Eggert <eggert@cs.ucla.edu> gzip: simplify by closing ourselves This simplifies the previous fix, by avoiding the use of the closein module. That module was problematic, as gzip normally does not use stdio for output and never uses it for input. Also, it is a heavyweight module, as it drags many files into lib (c-ctype.c, c-ctype.h, closein.c, closein.h, closeout.c, closeout.h, close-stream.c, close-stream.h, config.charset, c-strcasecmp.c, c-strcaseeq.h, c-strcase.h, c-strncasecmp.c, fpending.c, fpending.h, freadahead.c, freadahead.h, localcharset.c, localcharset.h, mbrtowc.c, mbsinit.c, quotearg.c, quotearg.h, quote.h, ref-add.sin, ref-del.sin, streq.h, wctype-h.c, wctype.in.h) and into m4 (closein.m4, closeout.m4, close-stream.m4, codeset.m4, configmake.m4, fpending.m4, freadahead.m4, glibc21.m4, localcharset.m4, locale-fr.m4, locale-ja.m4, locale-zh.m4, mbrtowc.m4, mbsinit.m4, mbstate_t.m4, quotearg.m4, wctype_h.m4), and these files are thus no longer needed. * bootstrap.conf (gnulib_modules): Remove closein. * gzip.c: Don't include closein.h. (stdin_was_read): New static var. (main): Don't use close_stdin. Invoke finish_out to exit after outputting via stdio's stdout. Close stdin after reading it. Restore previous way of closing stdout. (treat_stdin): Record that stdin was read. (finish_out): New function. gzip: fix bug with -l output to pipes Problem reported by Christian Franke via Eric Blake in: http://bugs.gnu.org/23314 * NEWS: Mention this. * gzip.c (main): Do not close stdout twice when given -l. Instead, -l now just fflushes stdout, so that fdatasync can synchronize it if --synchronize is also specified. * tests/list: New test case. * tests/Makefile.am (TESTS): Add it. 2016-03-28 Paul Eggert <eggert@cs.ucla.edu> Port to Oracle Solaris Studio 12.4 Problem reported by Kiyoshi KANAZAWA in: http://bugs.gnu.org/23133 * NEWS: Document this. * configure.ac (ASMV): Do not define if NO_ASM is anywhere in DEFS; it doesn't need to be surrounded by white space. * lib/match.c: Do not use x86 version if __x86_64__ is defined. 2016-03-27 Jim Meyering <meyering@fb.com> maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 1.7 * NEWS: Record release date. 2016-03-26 Paul Eggert <eggert@cs.ucla.edu> Port to NetBSD 7.0 Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13 * gzexe.in, zdiff.in, zgrep.in: Don't rely on mktemp -t, as it has a different meaning in NetBSD. * tests/init.sh: Sync from Gnulib. Port to Alpine Linux which uses Busybox * Makefile.am (check-local): Use plain diff rather than 2016-03-24 Jim Meyering <meyering@fb.com> gzip: also honor GZIP=--rsyncable * gzip.c (main): Also accept --rsyncable when it is specified via the GZIP environment variable. I noticed this when gzip's "make dist" failed because maint.mk detected that gzip now honors --rsyncable, yet when it set GZIP_ENV to include that, and that propagated via automake-generated code to the GZIP setting used in the "make dist" rule, there, it was not honored, and caused "make dist" to fail. 2016-03-21 Paul Eggert <eggert@cs.ucla.edu> Fix typo in previous patch Port to Solaris 11 /bin/sh * m4/shell.m4 (AC_PROG_SHELL): Reject Solaris 11 /bin/sh. A problem was reported by Nelson H. F. Beebe for OpenIndiana. I reproduced a problem with different symptoms on Solaris 11. Switching to Bash fixed it, and I hope this fixes it for OpenIndiana too, since both problems appear to be shell-related. 2016-03-18 Paul Eggert <eggert@cs.ucla.edu> zgrep: with -f SPECIAL, read SPECIAL just once Problem reported by Fulvio Scapin in: http://bugs.gnu.org/22945 * NEWS: Document this. * tests/zgrep-f: Add a test. Adjust a test to cover the case of more than one line in -f's input. * zgrep.in (with_filename): With -f FILE, if FILE is stdin or not a regular file, copy it into a temporary and use the temporary. 2016-03-15 Paul Eggert <eggert@cs.ucla.edu> gzip: port to AIX 7.1 + xlc V12.1 * inflate.c, unlzw.c, util.c: Include tailor.h after including any system include file that might in turn include signal.h for the first time, so that SIGPIPE is not #defined to 0 prematurely, which clashes with signal.h's SIGPIPE. 2016-03-15 Jim Meyering <meyering@fb.com> gnulib: update to latest maint: don't ignore gitlog-to-changelog failure * Makefile.am (gen-ChangeLog): Don't ignore failure of gitlog-to-changelog. This syncs to coreutils' copy of this rule. 2016-03-06 Paul Eggert <eggert@cs.ucla.edu> gzip: pacify clang * gzip.c (do_list): Use 2D array of char for month abbreviations, as this is clearer anyway, and it pacifies Clang. Problem reported by Assaf Gordon in: http://bugs.gnu.org/22900#40 2016-03-06 Jim Meyering <meyering@fb.com> tests: port to systems for which ":" is not the PATH separator * Makefile.am (new_path): New variable. (check-local): Use $(PATH_SEPARATOR) rather than a literal ":", to avoid "make syntax-check" failure. 2016-03-06 Paul Eggert <eggert@cs.ucla.edu> doc: minor --rsyncable doc fixes * doc/gzip.texi (Sample): Mention --rsyncable. * gzip.c (help): Sort and do not capitalize the new --rsyncable help string. gzip: minor zgrep cleanup * zgrep.in: Simplify previous change. gzip: port zgrep to Solaris 11.2 Problem reported by Assaf Gordon in: http://bugs.gnu.org/22900#11 * zgrep.in: Port to Solaris 11.2 /bin/sh (ksh 93u 2011-02-08), where $? is 256+SIG when a process was killed with signal SIG, and where 'exit 257' is equivalent to 'exit 1'. Apparently some other sh implementations use 256+128+SIG. So, instead of using plain 'exit $?', use the equivalent of 'exit ((128 * (128 <= $?)) + $? % 128)' within the script, and use the equivalent of 'kill -$($? % 128)' at the top level if the exit status is 128 or more. gzip: remove --__bindir * NEWS: Document this. * gzexe.in, gunzip.in, zcat.in, zcmp.in, zdiff.in, zegrep.in: * zfgrep.in, zforce.in, zgrep.in, zless.in, zmore.in, znew.in: Remove support for undocumented --__bindir option. Callers can set PATH instead; that's less error-prone. This fixes some 'make check' failures on my Solaris 11 box, which occurred because the test scripts were mistakenly testing the installed gzip rather than the gzip in the working directory. * Makefile.am (.in): Don't replace bindir. (check-local): Set PATH instead of using --__bindir. * tests/help-version (gunzip_setuphelp, gzexe_setuphelp) (zcat_setuphelp, zcmp_setuphelp, zdiff_setuphelp) (zegrep_setuphelp, zfgrep_setuphelp, zforce_setuphelp) (zgrep_setuphelp, zless_setuphelp, zmore_setuphelp) (znew_setuphelp): Remove. All uses removed. (lbracket_setup): Default args to empty. 2016-03-04 Jim Meyering <meyering@fb.com> tests: fix "make check" failure on AIX 7.1 * tests/Makefile.am (TESTS_ENVIRONMENT): Modernize: remove unused shell_or_perl_ function, and use an export_with_values function as grep does, to remove a lot of duplication. Reported by Assaf Gordon in http://debbugs.gnu.org/22900 2016-03-02 Rusty Russell <rusty@rustcorp.com.au> gzip: support the --rsyncable option * deflate.c: Include verify.h. (RSYNC_WIN, RSYNC_SUM_MATCH): Define. (rsync_sum, rsync_chunk_end): Declare file-scoped globals. (lm_init): Initialize globals. (fill_window): Update rsync_chunk_end. (rsync_roll): New function. (RSYNC_ROLL): New macro. (FLUSH_BLOCK): Update for new "pad" parameter. (deflate_fast): Use RSYNC_ROLL and flush/pad. (deflate): Likewise. * trees.c (flush_block): Add "pad" parameter. * gzip.c (rsync): New global. (RSYNCABLE_OPTION, longopts, help): Add the option. (main): Set the new global. * gzip.h (rsync): Declare new global. (flush_block): Update prototype. * doc/gzip.texi: Document it. * gzip.1: Likewise. * bootstrap.conf: Use verify module. * NEWS (New feature): Mention it. * Makefile.am (check-local): Add tests and use AM_V__* command- hiding opions. Reported against Debian here: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=118118 2016-02-28 Jim Meyering <meyering@fb.com> maint: dist-check.mk: remove .deps dirs before comparing "make distcheck" with automake-from-trunk would fail like this: ... Only in /gz/tests/torture/gzip/test/gzip-1.6.42-9d47.old: .deps Only in /gz/tests/torture/gzip/test/gzip-1.6.42-9d47.old/lib: .deps Only in /gz/tests/torture/gzip/test/gzip-1.6.42-9d47.old/lib/glthread: .deps * dist-check.mk (my-distcheck): Remove all .deps directories before comparing the two hierarchies. 2016-02-28 Paul Eggert <eggert@cs.ucla.edu> misc: update --version copyright * gunzip.in, gzexe.in, zcat.in, zdiff.in, zforce.in, zgrep.in: * zless.in, zmore.in, znew.in: Update copyright year in --version output to 2016. gzip: new option --synchronous This follows up on the earlier patch to avoid data loss near the system crashes. It makes the new behavior optional, with the default off. See: http://bugs.gnu.org/22768 * NEWS, doc/gzip.texi (Sample, Invoking gzip), gunzip.in (usage): * gzip.1, zcat.in (usage): Document this. * gzip.c (synchronous): New static var. (SYNCHRONOUS_OPTION): New constant. (longopts, help, main, treat_file): Add support for --synchronous. gzip: use constants, not fileno * gzip.c (main, treat_stdin, treat_file, get_method) (check_ofname): Prefer STDIN_FILENO to fileno (stdin), and similarly for STDOUT_FILENO. gzip: fdatasync output dir before unlinking This follows up on the earlier patch to avoid data loss near the system crashes. See: http://bugs.gnu.org/22768 * bootstrap.conf (gnulib_modules): Add dirname-lgpl, fdatasync, openat-safer, unistd-safer, unlinkat. * gzip.c: Include stddef.h, dirname.h. Include fcntl--.h instead of fcntl-safer.h. (RW_USER): Remove; no longer needed. (dfname, dfd): New static vars. (dot): New static const. (atdir_eq, atdir_set): New functions. (treat_file): Also fdatasync the output directory, if !keep. (treat_file, create_outfile, open_and_stat): Use dir fd for unlinkat and openat, if possible. (open_and_stat): Omit mode argument, since it was always the same. All callers changed. * lib/.gitignore, m4/.gitignore: Add new gnulib files. * tailor.h (PROTO, NO_STDIN_FSTAT, OPEN): Remove. Remove MACOS section, as this stuff would not work anyway now, and circa 2001 Apple stopped supporting Mac OS 9 and earlier. * zip.c: Do not include unistd.h and fcntl.h, as this file does not directly use any symbols defined by those headers. 2016-02-22 Paul Eggert <eggert@cs.ucla.edu> fsync output file before closing Problem reported by Yanyan Jiang 蒋炎岩 in: http://bugs.gnu.org/22768 * NEWS: Document this. * bootstrap.conf (gnulib_modules): Add fsync. * gzip.c (treat_file): Call fsync just before closing the output. * lib/.gitignore, m4/.gitignore: Add fsync-related gnulib files. 2016-01-22 Jason Leschnik <jason@leschnik.me> doc: correct a diagnostic in man page to match actual * gzip.1: s/no change/unchanged/ This addresses http://debbugs.gnu.org/22413 2016-01-01 Jim Meyering <meyering@fb.com> maint: update copyright year, bootstrap, init.sh Run "make update-copyright" and then... * gzip.c: Transform the copyright notice via s/2015/2016/. * gnulib: Update to latest. * tests/init.sh: Update from gnulib. * bootstrap: Likewise. 2015-11-01 Jim Meyering <meyering@fb.com> maint: avoid three warnings from the very latest gcc-built-from-git * unzip.c (unzip): Correct two format strings to match the types of the corresponding arguments. * unlzw.c (unlzw): Cast an "int" to unsigned to match expected type of %x. 2015-08-24 Jim Meyering <meyering@fb.com> maint: adjust copyright notices in *.in files to be consistent The copyright year ranges in *.in files were not being updated, because of a missing ", Inc." suffix. Add that, run run "make udpate-copyright", and ensure 2010..2015 year ranges are covered. * gunzip.in: Update copyright notice and year ranges. * gzexe.in: Likewise. * zcat.in: Likewise. * zdiff.in: Likewise. * zforce.in: Likewise. * zgrep.in: Likewise. * zless.in: Likewise. * zmore.in: Likewise. * znew.in: Likewise. 2015-08-24 Jim Meyering <meyering@fb.com> build: avoid -Wshift-negative-value warning Configured with --enable-gcc-warnings, a gcc-6.x build would fail with this: gzip.c:118:32: error: left shift of negative value #define OFF_T_MIN (~ (off_t) 0 << (sizeof (off_t) * CHAR_BIT - 1)) * gzip.c [OFF_T_MAX]: Define in terms of TYPE_MAXIMUM, not OFF_T_MIN. [OFF_T_MIN]: Remove now-unused definition. Include "intprops.h" for definiton of TYPE_MAXIMUM. * bootstrap.conf (gnulib_modules): Add intprops. 2015-07-30 Jim Meyering <meyering@fb.com> maint: remove dead code This package has not been compilable with -DCRYPT since commit v1.4-82-g9d1b943. Remove final vestiges. * bits.c (copy_block) [CRYPT]: Remove #ifdef'd code. * inflate.c (NEXTBYTE) [CRYPT]: Likewise. Prompted by a report from Flávio Medeiros that HEADER and T might be used uninitialized. 2015-03-17 Paul Eggert <eggert@cs.ucla.edu> gzip: make the GZIP env var obsolescent * NEWS, gzip.1: * doc/gzip.texi (Environment, Tapes): Document this. * gzip.c (args): Remove static var; no longer needed now that 'main' frees it. All uses removed. (ENV_OPTION, shortopts): New constants. (main): Warn about nontrivial uses of GZIP. Reject dangerous uses. * tests/gzip-env: New test case. * tests/Makefile.am (TESTS): Add it. * util.c (add_envopt): Create new vector instead of adding to old one. Only use changed. 2015-03-13 Paul Eggert <eggert@cs.ucla.edu> maint: adjust to recent gnulib * doc/.gitignore: Add gendocs_template_min. * lib/.gitignore: Add assure.h. 2015-02-08 Jim Meyering <meyering@fb.com> maint: ensure that --version's copyright date is current * cfg.mk (sc_gzip_copyright_check): Ensure we keep this copyright year number up to date. Reported by Paul Eggert. * gzip.c (license_msg): Include only the current year number, as is done in nearly every other program. gnulib: update to latest 2015-01-01 Jim Meyering <meyering@fb.com> maint: update copyright year ranges to include 2015; update gnulib 2014-11-10 Jim Meyering <meyering@fb.com> maint: move new NEWS entry into block for upcoming release * NEWS: Move the latest NEWS entry from the block for gzip-1.6 into the block for the upcoming release. 2014-11-10 Paul Eggert <eggert@cs.ucla.edu> gzip: adjust -v output when -k is also specified Problem reported by Eric Benoit in: http://bugs.gnu.org/16401 * gzip.c (treat_file): When keeping a file, don't say it's replaced. * NEWS: Document this. * tests/keep: Test this. 2014-11-10 Jim Meyering <meyering@fb.com> maint: enable more syntax checks * cfg.mk (local-checks-to-skip): Remove several rule names from this list, thus enabling the corresponding checks. To fix some, I made syntactic changes to source files. In other cases, I exempted certain files from the checks. Add exemptions for these: sc_prohibit_atoi_atof = ^(gzip|sample/sub)\.c$$ sc_space_tab = ^lib/match\.c$$ sc_useless_cpp_parens = ^(lib/match\.c|tailor\.h)$$ * configure.ac: Add quotes to fix under-quoting. * deflate.c: Remove unnecessary cpp parentheses. * tests/Makefile.am (TEST_ENVIRONMENT): Remove space-before-TAB. * unlzw.c: Change some TABs to spaces. maint: avoid false positive match in check for double semicolon * cfg.mk (exclude_file_name_regexp--sc_prohibit_double_semicolon): Exempt the file, lib/match.c, from gnulib's new double-semicolon check. gnulib+bootstrap: update to latest * gnulib: Update the submodule. * bootstrap: Update from gnulib. 2014-10-10 Paul Eggert <eggert@cs.ucla.edu> tests: use local dir for output Reported by Kiyoshi KANAZAWA in: http://bugs.gnu.org/18679 * tests/unpack-invalid: Use local directory, not /tmp, for output. 2014-08-10 Paul Eggert <eggert@cs.ucla.edu> gzip: fix --suffix=z bug (Bug#18239) * gzip.c (get_suffix): Put --suffix string at the end of the list of suffixes if it is a suffix of one one them. * tests/z-suffix: New file. * tests/Makefile.am (TESTS): Add it. 2014-06-12 Paul Eggert <eggert@cs.ucla.edu> zgrep: exit with status 0 if a file matches and there's no trouble Reported by Pavel Raiskup in: http://bugs.gnu.org/17760 * zgrep.in (res): Treat exit status 0 to be greater than 1. Also, exit immediately on software configuration error. 2014-06-07 Paul Eggert <eggert@cs.ucla.edu> doc: use UTF-8 in the manual * doc/gzip.texi: Switch to UTF-8 encoding. Fix ASCIIisms. Don't use @sc; plain caps are fine for GNU manuals. maint: update .gitignore files * lib/.gitignore, m4/.gitignore: Adjust to match current sources. Also, sort. 2014-06-07 Jim Meyering <meyering@fb.com> maint: udpate all copyright notices via "make update-copyright" maint: update copyright year range in gzip.texi * doc/gzip.texi: Update copyright date. maint: update gnulib to latest and adapt streamsavedir usage * gnulib: Update module to latest. * gzip.c (treat_dir): Gnulib's streamsavedir API has changed: call it with a new argument, SAVEDIR_SORT_NONE, to retain the preceding behavior. 2014-03-06 Paul Eggert <eggert@cs.ucla.edu> zless: improve gzip failure checking, and port to new -V format Problem reported by Jaroslaw Weglinski, and LESSOPEN change suggested by Mark Nudelman, in: http://bugs.gnu.org/16951 This doesn't fix bug 16951 entirely, as 'less' needs to be changed too, but it's a start. * zless.in (check_exit_status): New var. (LESSOPEN): Use it. (use_input_pipe_on_stdin): Adjust to output format on Fedora 20, where 'less -V' outputs "less 458 (POSIX regular expressions)" on the first line. 2013-10-24 Paul Eggert <eggert@cs.ucla.edu> gzip: fix permissions issue on Solaris-like systems I.e., on systems that let users give files away. * gzip.c (do_chown): New function. (copy_stat): Use it, to change the group, then the permissions, then the owner. Idea suggested by Vladimir Marek in <http://bugs.gnu.org/15672#11> 2013-10-03 Paul Eggert <eggert@cs.ucla.edu> znew: avoid denial-of-service issue Reported by Rich Burridge in <http://bugs.gnu.org/15522>. * znew.in: Rewrite to avoid the need for a temporary file in /tmp. That way, we avoid the need for set -C and worrying about denial of service. Use touch -r and chmod --reference rather than cpmod. Assume cp -p works, as it's now universal. Quote 'echo' args better, while we're at it. (warn, tmp, cpmod, cpmodarg): Remove. (GZIP): Unset, so that we needn't test for gzip extension. (ext): Now always '.gz'. * znew.1: Document the change of implementation assumptions. 2013-06-19 Paul Eggert <eggert@cs.ucla.edu> Fix spelling typo in newly-added comment. tests: zgrep-signal race condition fix * tests/zgrep-signal: Check that Perl supports dup2. (exec_with_SIGPIPE_SIGDFL): Remove. (write_to_dangling_pipe): Simplify by moving more of it into Perl. Fix race condition, where subcommand writes to a pipe before the ":" command exits. Problem reported by Thorsten Glaser in <http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00028.html>. 2013-06-12 Paul Eggert <eggert@cs.ucla.edu> zgrep: usage should say which grep options are not supported * zgrep.in (usage): Document which grep options are not supported. Problem reported by Liron Paryente in <http://lists.gnu.org/archive/html/bug-grep/2013-06/msg00005.html>. 2013-06-11 Paul Eggert <eggert@cs.ucla.edu> gzip: port util.c to Compaq C V6.5-303 * util.c (crc_32_tab): Move definition to front, since this compiler doesn't allow declarations of static arrays with incomplete types. Problem reported by Steven M. Schweda in <http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00010.html>. tests: zgrep-context assumes grep knows context * tests/Makefile.am (TESTS_ENVIRONMENT): Pass GREP too. * tests/zgrep-context: Check that the underlying grep supports context options. Problem reported by Steven M. Schweda in <http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00010.html>. doc: zgrep exit status, unsupported options * zgrep.1 (EXIT STATUS, BUGS): New sections. Problem reported by Bdale Garbee in <http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00007.html>. maint: port to platforms lacking SIGPIPE * tailor.h (SIGPIPE): Define to 0 if not defined. This fixes a porting bug introduced as part of 2012-11-16 syntax-check cleanup. Problem reported by Bdale Garbee in <http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00006.html>. 2013-06-09 Jim Meyering <meyering@fb.com> maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 1.6 * NEWS: Record release date. build: avoid automake warning that suggests use of subdir-objects * configure.ac (AM_INIT_AUTOMAKE): Use the subdir-objects option. build: avoid warning about deprecated use of automake's ACLOCAL_AMFLAGS * Makefile.am (ACLOCAL_AMFLAGS): Don't use this deprecated variable. * configure.ac: Do this instead: AC_CONFIG_MACRO_DIR([m4]). build: use more portable shell syntax in search of working shell * m4/shell.m4: Adjust sh/case syntax not to evoke a syntax error from Solaris 10's /bin/sh. build: update gnulib to latest, and bootstrap 2013-05-28 Jim Meyering <meyering@fb.com> tests: exercise the new --keep option * tests/keep: New file. * tests/Makefile.am (TESTS): Add it. 2013-05-28 Rodrigo Campos <rodrigo@sdfg.com.ar> gzip: add "--keep" option to retain (don't delete) input files gzip now accepts the --keep (-k) option, for consistency with tools like xz, lzip and bzip2. With this option, gzip no longer removes named input files when compressing and decompressing. * doc/gzip.texi: Document it. * gzip.1: Likewise. * gunzip.in: Likewise. * NEWS: Likewise. * gzip.c: Add support for "--keep". 2013-04-15 Paul Eggert <eggert@cs.ucla.edu> tests: redo patch for non-GNU gzip installed in /usr/local/bin Problem with previous patch reported by Antonio Diaz Diaz in <http://lists.gnu.org/archive/html/bug-gzip/2013-04/msg00011.html>. * tests/help-version (gunzip_setuphelp, gzexe_setuphelp) (zcat_setuphelp, zcmp_setuphelp, zdiff_setuphelp) (zegrep_setuphelp, zfgrep_setuphelp, zforce_setuphelp) (zgrep_setuphelp, zless_setuphelp, zmore_setuphelp) (znew_setuphelp): New functions, used when testing even --help. (zdiff_setup, zcat_setup, znew_setup, zgrep_setup, gzexe_setup): Use gzip_setuphelp to set --__bindir. 2013-04-10 Paul Eggert <eggert@cs.ucla.edu> tests: work even if non-GNU gzip is installed in /usr/local/bin Problem reported by Antonio Diaz Diaz in <http://lists.gnu.org/archive/html/bug-gzip/2013-04/msg00004.html>. * tests/help-version (zdiff_setup, zcat_setup, znew_setup, zgrep_setup) (gzexe_setup): Pass --__bindir so that subsidiary programs are our own's, not /usr/local/bin's. This requires using 'eval' on the result. (zcmp_setup, gunzip_setup, zmore_setup, zless_setup, zforce_setup) (zegrep_setup, zfgrep_setup): Invoke one of the other setup functions, to make the patterns more obvious and simplify future maintenance. * zcmp.in, zegrep.in, zfgrep.in: Pass __bindir to subsidiary program. maint: adjust to Gnulib, Automake changes * .gitignore: Add *.trs. * lib/.gitignore: Add unused-parameter.h. tests: port to Solaris 10 /bin/sh * tests/Makefile.am (TESTS_ENVIRONMENT): Use "FOO=val; export FOO" rather than "export FOO=val", as the latter form doesn't work with Solaris /bin/sh. 2013-02-25 Paul Eggert <eggert@cs.ucla.edu> gzip: port to DMF file systems * util.c (read_buffer): When reading a file with O_NONBLOCK, if the read fails with errno==EAGAIN, clear O_NONBLOCK and try again. Problem reported by Vitezslav Cizek in <http://lists.gnu.org/archive/html/bug-gzip/2013-02/msg00030.html>. 2013-02-05 Paul Eggert <eggert@cs.ucla.edu> gzip: fix bug where you say "n" and gzip acts as if you said "y" Problem reported for GCC 4.7 x86-64 -O2 by Allan McRae in <http://lists.gnu.org/archive/html/bug-gzip/2013-02/msg00000.html>. * NEWS: Document this. Use consistent format in earlier note. * gzip.c: Include yesno.h. * gzip.h (yesno): Remove decl; that's yesno.h's job. 2013-01-06 Paul Eggert <eggert@cs.ucla.edu> maint: adjust to Gnulib changes * lib/.gitignore: Add glthread, math.c, unistd.c, wctype-h.c. * m4/.gitignore: Remove inline.m4. 2013-01-04 Jim Meyering <jim@meyering.net> maint: update all copyright year number ranges Run "make update-copyright". build: update gnulib submodule to latest 2012-12-10 Paul Eggert <eggert@cs.ucla.edu> diagnose unexpected EOF and zero lengths in packed data Problem reported by Aki Helin. * NEWS: Mention Aki's reports. * tests/unpack-invalid: New file, with test data suggested by Aki. * tests/Makefile.am (TESTS): Add it. * unpack.c (read_byte): New function. (look_bits, read_tree): Use it. (read_tree): Check against zero bit length Huffman code. gzip: diagnose invalid code in packed data * unpack.c (unpack): When encountering a code out of range, report it and fail rather than charging ahead with randomish output. Problem reported by Aki Helin. 2012-11-16 Jim Meyering <jim@meyering.net> maint: avoid new syntax-check failures * cfg.mk (_gl_TS_unmarked_extern_vars): Append nice_match, to avoid false-positive syntax-check failure on i686. * gzip.c (SIGPIPE): Remove definition. Now always provided via gnulib. * lib/.gitignore: xsize.c, added by gnulib-tool. 2012-11-16 Paul Eggert <eggert@cs.ucla.edu> gzip: fix debugging/porting typo * unlzw.c (unlzw) [DEBUG]: Don't assume 'long' can be printed with %d. maint: merge build improvements from coreutils * configure.ac: Invoke gl_ASSERT_NO_GNULIB_POSIXCHECK. (--enable-gcc-warnings): Change help message. (gl_GCC_VERSION_IFELSE): New macro. Do not omit -Wunused-macros for main code. Adjust other -W options as per coreutils. * lib/Makefile.am (AM_CFLAGS): Use GNULIB_WARN_CFLAGS, not WARN_CFLAGS. * unlzw.c (REGISTERS, REG1, REG2, ..., REG16): Remove. All uses removed. These provoked -Wunused-macros warnings. This sort of fiddling with registers hasn't been needed for years. build: update gnulib submodule to latest maint: port to platforms lacking SIGPIPE * gzip.c (SIGPIPE): Define to 0 if not already defined. doc: bring up to date and fix troff typos * doc/gzip.texi (Overview): Update RFC URLs. * gzip.1: Likewise. Don't say "SEE ALSO" to programs that almost nobody has installed anymore. * gzip.1, zmore.1: Fix some troff typos. * zdiff.1: Clarify what happens with input files. Don't talk about temporary file names, as they're rarely used these days. 2012-10-24 Paul Eggert <eggert@cs.ucla.edu> tests: exercise the grep -e portability fix Remove workaround for Solaris, since the bug should be fixed now. Suggested by Petr Sumbera in <http://lists.gnu.org/archive/html/bug-gzip/2012-10/msg00005.html>. * tests/zgrep-context, tests/zgrep-f: All uses removed. * tests/init.cfg (require_POSIX_grep_): Remove. 2012-10-23 Eric Blake <eblake@redhat.com> build: default to --enable-gcc-warnings in a git tree Anyone building from cloned sources can be assumed to have a new enough environment, such that enabling gcc warnings by default will be useful. Tarballs still default to no warnings, and the default can still be overridden with --disable-gcc-warnings. * configure.ac (gl_gcc_warnings): Set default based on environment. 2012-10-20 Paul Eggert <eggert@cs.ucla.edu> zgrep: do not assume standard 'grep' has -e On Solaris 11, /usr/bin/grep -e does not work. Problem reported by Petr Sumbera in <http://lists.gnu.org/archive/html/bug-gzip/2012-10/msg00003.html>. * Makefile.am (.in): Substitute @GREP@. * configure.ac (AC_PROG_GREP): Invoke. * zgrep.in (grep): Use @GREP@. 2012-08-14 Paul Eggert <eggert@cs.ucla.edu> zgrep: do not assume GNU expr * zgrep.in: Do not assume '\+' has the GNU behavior in the BRE given to 'expr', as POSIX does not guarantee that. Come to think of it, use a shell pattern rather than 'expr', as this is more efficient. 2012-08-08 Jim Meyering <meyering@redhat.com> tests: exercise the just-fixed part of zgrep * tests/zgrep-context: New file. * tests/Makefile.am (TESTS): Add it. 2012-08-08 Jim Meyering <meyering@redhat.com> zgrep: handle a multi-digit context option like -15 * zgrep.in: Do not malfunction when given an option like -15. Before, it could end up treating the pattern as a file name: $ echo x | gzip | zgrep -15 x gzip: x.gz: No such file or directory * NEWS (Bug fixes): Mention it. Reported by Dan Bloch via Thomas Bushnell in https://bugs.launchpad.net/bugs/1032831 2012-08-07 Jim Meyering <meyering@redhat.com> build: update gnulib, bootstrap and init.sh maint: fix misspellings in old ChangeLog and NEWS * ChangeLog-2007: s/Supress/Suppress/ * NEWS: Likewise. * cfg.mk (old_NEWS_hash): Update to match typo fix. 2012-06-19 Paul Eggert <eggert@cs.ucla.edu> zmore: rewrite to fix bugs and assume POSIX Problem reported for Solaris 9 by Daniel in <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00007.html>. Rather than figure out what exactly went wrong in Solaris 9 it was easier to rip out all the buggy compatibility and stty cruft. * zmore.in: Don't use stty or trap; simply pipe the output to 'more' and let it deal with signals and terminal control. Use printf, not 'echo', to avoid problems with backslashes. Don't assume ANS is not 's' in the environment. Use a 'more'-style header instead of rolling our own style. Paginate the header, too; the old behavior lost the header. * NEWS, zmore.1: Document this. 2012-06-17 Jim Meyering <meyering@redhat.com> maint: add .mailmap * .mailmap: New file. Unify two spellings of Paul's name, to make git log output slightly cleaner. maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 1.5 * NEWS: Record release date. build: update gnulib for fixed maint.mk build: update gnulib submodule; bootstrap and init.sh, too * cfg.mk: Exempt crufty tailor.h from its use of "#define off_t...". * .gitignore, m4/.gitignore: Update semi-automatically (via bootstrap). 2012-04-24 Paul Eggert <eggert@cs.ucla.edu> doc: document -rf change * NEWS: Document the ZFS fix. gzip: remove CLOSEDIR * gzip.c (CLOSEDIR): Remove; no longer used. gzip: port gzip -rf to ZFS Problem reported privately by Rich Burridge. * bootstrap.conf: Add savedir. * gzip.c: Include <savedir.h>. (_D_EXACT_NAMELEN): Remove. (treat_dir): Use savedir rather than reading directory entries one at a time, to avoid revisiting an already-compressed file when using ZFS and the -rf flags are specified. * lib/.gitignore, m4/.gitignore: Ignore savedir-related files. 2012-03-18 Paul Eggert <eggert@cs.ucla.edu> gzip: fix nondeterministic compression results Reported by Jakub Wilk in <http://bugs.debian.org/647522>. * deflate.c (fill_window): Don't let garbage pollute the dictionary. 2012-01-11 Jim Meyering <meyering@redhat.com> tests: make all test scripts executable; work with automake-1.12 * tests/Makefile.am (TESTS_ENVIRONMENT): Adapt to work with upcoming automake-1.12. * tests/mixed: Make executable. * tests/zgrep-f: Likewise. * tests/zgrep-signal: Likewise. * tests/znew-k: Likewise. build: accommodate newer bootstrap from gnulib * bootstrap.conf (gnulib_tool_option_extras): Add both --symlink and --makefile-name=gnulib.mk. * bootstrap: Update from gnulib. * tests/init.sh: Update from gnulib. * lib/Makefile.am: Initialize all of the following so that generated code in gnulib.mk may use += to append to those variables: AM_CFLAGS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST, MOSTLYCLEANDIRS, MOSTLYCLEANFILES, SUFFIXES, noinst_LTLIBRARIES. 2012-01-01 Jim Meyering <meyering@redhat.com> maint: update all copyright year number ranges Run "make update-copyright". 2011-12-21 Paul Eggert <eggert@cs.ucla.edu> zless: decompress stdin too, if less 429 or later * zless.in: Use LESSOPEN |- feature of less 429 or later. Problem reported by Jeroen Roovers via Mike Frysinger in <http://lists.gnu.org/archive/html/bug-gzip/2011-12/msg00006.html>. 2011-11-29 Jim Meyering <meyering@redhat.com> build: update gnulib submodule to latest build: accommodate gnulib's new warnings with --enable-gcc-warnings * configure.ac (WERROR_CFLAGS): Disable two new warnings: -Wno-format-nonliteral, -Wno-unsuffixed-float-constants. * gzip.h (bi_reverse): Declare with _GL_ATTRIBUTE_CONST. (gzip_base_name): Declare with _GL_ATTRIBUTE_PURE. 2011-11-29 Jim Meyering <meyering@redhat.com> tests: use "compare exp out", not "compare out exp" Likewise, when an empty file is expected, use "compare /dev/null out", not "compare out /dev/null". I.e., specify the expected/desired contents via the first file name. Prompted by a suggestion from Bruno Haible in http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020/focus=29154 Run these commands: git grep -l -E 'compare [^ ]+ exp' \ |xargs perl -pi -e 's/\b(compare) (\S+) (exp\S*)/$1 $3 $2/' git grep -l -E 'compare [^ ]+ /dev/null' \ |xargs perl -pi -e 's,\b(compare) (\S+) (/dev/null),$1 $3 $2,' 2011-11-05 Jim Meyering <meyering@redhat.com> build: update gnulib submodule to latest 2011-11-02 Paul Eggert <eggert@cs.ucla.edu> * tests/zgrep-signal: Don't assume exit status 141 on PIPE signal. Problem reported by Eric Blake in <http://lists.gnu.org/archive/html/bug-gzip/2011-11/msg00007.html>. * tests/zgrep-signal: Use perl instead of a nonportable shell trap. Problem reported by Eric Blake in <http://lists.gnu.org/archive/html/bug-gzip/2011-11/msg00005.html>. * tests/zgrep-signal: Test for Fedora 15 signal bug. Also, don't assume that SIGPIPE is SIG_DFL on entry. 2011-11-02 Jim Meyering <meyering@redhat.com> build: update gnulib submodule to latest tests: mixed: correct size-enumeration logic * tests/mixed (sizes): Fix misplaced "&& break" that made us test only with a size of 0, rather than all sizes in 0..64. maint: avoid "make syntax-check" failure * gzip.c (treat_stdin): Indent with spaces, not TABs. 2011-11-02 Paul Eggert <eggert@cs.ucla.edu> * gzip.c (treat_stdin): If quiet, be quiet with plain gzip -q. Problem reported by Michaël Guitton in <http://lists.gnu.org/archive/html/bug-gzip/2011-11/msg00000.html>. 2011-08-10 Jim Meyering <meyering@redhat.com> maint: remove amiga, atari, msdos, nt, os2, vms sub-directories, and all files therein. This was proposed months prior, and no one objected. * amiga/Makefile.gcc: Remove file. * amiga/Makefile.sasc: Likewise. * amiga/match.a: Likewise. * amiga/tailor.c: Likewise. * amiga/utime.h: Likewise. * atari/Makefile.st: Likewise. * msdos/Makefile.bor: Likewise. * msdos/Makefile.djg: Likewise. * msdos/Makefile.msc: Likewise. * msdos/doturboc.bat: Likewise. * msdos/gzip.prj: Likewise. * msdos/match.asm: Likewise. * msdos/tailor.c: Likewise. * nt/Makefile.nt: Likewise. * os2/Makefile.os2: Likewise. * os2/gzip.def: Likewise. * os2/gzip16.def: Likewise. * vms/Makefile.gcc: Likewise. * vms/Makefile.mms: Likewise. * vms/Makefile.vms: Likewise. * vms/Readme.vms: Likewise. * vms/gzip.hlp: Likewise. * vms/makegzip.com: Likewise. * vms/vms.c: Likewise. * Makefile.am (EXTRA_DIST): Remove those file names. build: use largefile module and update to latest gnulib * configure.ac: Remove AC_SYS_LARGEFILE, subsumed by ... * bootstrap.conf (gnulib_modules): ...this. Use largefile module. * gnulib: Update to latest. 2011-07-12 Jim Meyering <meyering@redhat.com> maint: update init.sh and bootstrap from gnulib * bootstrap: Update from gnulib. * tests/init.sh: Update from gnulib. maint: use gnulib's realloc-gnu and malloc-gnu modules * bootstrap.conf (gnulib_modules): Use realloc-gnu and malloc-gnu, rather than the now-deprecated realloc and malloc modules. build: update gnulib submodule to latest 2011-06-21 Paul Eggert <eggert@cs.ucla.edu> * deflate.c: Export nice_match to assembler. (static_unless_ASMV): New macro. (nice_match): Use it. 2011-06-08 Jim Meyering <meyering@redhat.com> build: fix "make syntax-check" * cfg.mk (_gl_TS_unmarked_extern_vars): Add good_match. build: avoid link failure: this time on i686 linux * deflate.c (good_match): Must not be static, since it may be used from lib/match.c. 2011-05-14 Jim Meyering <meyering@redhat.com> build: avoid link failure on at least i386-FreeBSD7.2 * deflate.c (match_start, prev_length, max_chain_length): Do not declare these as static. On some types of system/arch, they are used via match_.s. * cfg.mk (_gl_TS_unmarked_extern_vars): Mark those three variables as known-extern: match_start, prev_length, max_chain_length. 2011-05-13 Jim Meyering <meyering@redhat.com> avoid new build failure on a system without <crypt.h> * bits.c: Don't include "crypt.h", now that it's deleted. maint: use gnulib's new readme-release module * bootstrap.conf (gnulib_modules): Add readme-release. (bootstrap_epilogue): Add the recommended perl one-liner. * README-release: Remove file; it is now generated from gnulib. * .gitignore: Add it. 2011-05-09 Jim Meyering <meyering@redhat.com> build: update gnulib submodule to latest maint: prepare for gnulib's new tight-scope syntax-check rule * cfg.mk (_gl_TS_dir): Define. (_gl_TS_unmarked_extern_vars): Define. maint: declare many variables to be static * deflate.c: Likewise. * gzip.c: Likewise. * gzip.h: Likewise. * inflate.c: Likewise. * trees.c: Likewise. * unzip.c: Likewise. * util.c: Likewise. maint: remove crypt.[ch] stubs * Makefile.am (gzip_SOURCES): Remove crypt.c (EXTRA_DIST): Remove crypt.h * crypt.c, crypt.h: Remove files. * unpack.c: Don't #include "crypt.h" * zip.c: Likewise * util.c: Likewise. * unzip.c: Likewise. maint: limit scope of several functions * deflate.c (longest_match): Move extern declaration into #if-ASMV block. [!ASMV]: Define as static. * inflate.c: Remove unnecessary prototypes. ANSI-declify functions and declare them to be static. maint: remove all uses of OF((...)) prototype-hiding macro * bits.c: Remove all uses of OF. * deflate.c: Likewise. * gzip.c: Likewise. * inflate.c: Likewise. * lzw.h: Likewise. * trees.c: Likewise. * unlzh.c: Likewise. * unpack.c: Likewise. * util.c: Likewise. * gzip.h: Likewise. (OF): Remove its definition, too. maint: prepare for tight-scope rule: use noinst_HEADERS * Makefile.am (EXTRA_DIST): Move lzw.h and gzip.h from here to ... (noinst_HEADERS): ...here. For convenience, since the tight-scope rule uses $(noinst_HEADERS). 2011-04-14 Jim Meyering <meyering@redhat.com> maint: update bootstrap and init.sh from gnulib * bootstrap: Likewise. * tests/init.sh: Update from gnulib. maint: note that we'll remove amiga, atari, msdos, nt, os2, vms soon If someone can show that any of these are being used, let us know. * TODO: Note the plan to remove those directories this year. build: update gnulib submodule to latest maint: fix typos in vms manual: s/it\nit/\nit/ * vms/gzip.hlp: Remove doubled "it". 2011-04-10 Jim Meyering <meyering@redhat.com> maint: fix typos in comment: s/to to/to/ * deflate.c: Remove doubled 'to's. 2011-03-20 Jim Meyering <meyering@redhat.com> maint: stop using .x-sc_* files to list syntax-check exemptions Instead, use the new mechanism with which you merely use a variable (derived from the rule name) defined in cfg.mk to an ERE matching the exempted file names. * gnulib: Update to latest, to get maint.mk that implements this. * .x-sc_file_system: Remove file. * .x-sc_prohibit_tab_based_indentation: Likewise. * .x-sc_require_config_h: Likewise. * .x-sc_require_config_h_first: Likewise. * cfg.mk: Define variables to exempt the same files. 2011-03-18 Jim Meyering <meyering@redhat.com> doc: correct README-release * README-release: Remove mention of -announce mailing list. Unlike coreutils, gzip does not have its own. doc: update release procedure * README-release: Resync from coreutils' file by the same name. 2011-01-03 Jim Meyering <meyering@redhat.com> maint: update copyright year ranges to include 2011 Run "make update-copyright", so "make syntax-check" works in 2011. build: update gnulib submodule to latest maint: avoid failure of new test for bindtextdomain * cfg.mk (local-checks-to-skip): Add sc_bindtextdomain. 2010-12-02 Jim Meyering <meyering@redhat.com> maint: avoid "make syntax-check" failure due to old-NEWS modification * cfg.mk (old_NEWS_hash): Update, to reflect recent NEWS correction. 2010-12-01 Paul Eggert <eggert@cs.ucla.edu> * NEWS: The "gzip -f foo.gz" change occurred in 1.3.13, not 1.3.12 2010-11-10 Paul Eggert <eggert@cs.ucla.edu> zgrep: don't assume traditional behavior with signal numbers * zgrep.in: Don't assume the exit status is the signal number plus 128, as POSIX doesn't require this. No need to kill self; exiting with large status is enough. Propagate all exit statuses greater than 1, not merely those in the range 129..143, as there's no need to treat that range specially (and it's not portable anyway). 2010-11-09 Paul Eggert <eggert@cs.ucla.edu> zgrep: fix shell portability bug with -f; fix mishandling of "-e -" * tests/zgrep-f: Check for "zgrep -e -" bug, too. * zgrep.in: Don't assume that if the shell redirects fd 6, then this redirection is visible to the subsidiary grep. POSIX doesn't guarantee this visibility except for file descriptors 0, 1, and 2, and ksh does not support it. Problem reported by Thomas Schulz in <http://lists.gnu.org/archive/html/bug-gzip/2010-11/msg00000.html>. Also, fix a related bug: "-e -" was mishandled. These two bugs were introduced by commit 5b54db4546b84ec97ff57a62f8ddb98faacf77f2 dated 2009-10-09. (escape): Change the convention: do not assume that a stray X is present at the end of the last line. All uses changed. There was no longer any need for this convention, and fixing this made it a bit easier to use 'sed' in a later part of the fix. 2010-11-08 Paul Eggert <eggert@cs.ucla.edu> maint: fix copyright dates that were munged by a maintenance script * gunzip.in, gzexe.in, zcat.in, zcmp.in, zdiff.in, zforce.in: * zgrep.in, zless.in, zmore.in, znew.in: A script went awry when updating copyright dates in gzip's shell scripts. It should update comments to look like "# Copyright (C) 2007, 2010 Free Software Foundation, Inc." (with a set of years) and version messages to look like "Copyright (C) 2010 Free Software Foundation, Inc." (with just the most-recent year). Instead, it sometimes ignored one, sometimes the other, and typically put ranges into version messages. Fix all this stuff by hand, using dates that I divined from the change logs (so they're a bit more accurate than script-generated dates). We need to fix the script before it runs in 2011. 2010-10-23 Jim Meyering <meyering@redhat.com> maint: anchor patterns in .gitignore files * doc/.gitignore: Anchor patterns. * lib/.gitignore: Likewise. * m4/.gitignore: Likewise. maint: update bootstrap and init.sh from gnulib * bootstrap: Update. * tests/init.sh: Update. 2010-10-23 Rob Vermaas <rob.vermaas@gmail.com> maint: update to latest gnulib; use fdutimens, not gl_futimens * gzip.c (copy_stat): Use fdutimens, not gl_futimens. * gnulib: Update to latest. 2010-10-23 Jim Meyering <meyering@redhat.com> maint: accommodate stricter syntax-check Avoid #if, #define and #undef of always-defined symbols. * gzip.c (ELOOP, SIGPIPE): Remove unneeded cpp directives. * tailor.h (HAVE_DIRENT_H, HAVE_FCNTL_H, HAVE_UNISTD_H, MSDOS): (O_BINARY): Likewise. maint: make our use of gnulib's init.sh conform * tests/help-version: Make use of init.sh conform. * tests/helin-segv: Likewise. * tests/help-version: Likewise. * tests/hufts: Likewise. * tests/memcpy-abuse: Likewise. * tests/mixed: Likewise. * tests/null-suffix-clobber: Likewise. * tests/stdin: Likewise. * tests/trailing-nul: Likewise. * tests/zdiff: Likewise. * tests/zgrep-f: Likewise. * tests/zgrep-signal: Likewise. * tests/znew-k: Likewise. 2010-10-10 Jim Meyering <meyering@redhat.com> maint: describe policy on copyright year number ranges * README: Mention coreutils' long-standing policy on use of M-N ranges in copyright year lists. Requested by Richard Stallman. 2010-09-15 Paul Eggert <eggert@cs.ucla.edu> zgrep: fix parsing of -Eh options * zgrep.in: Update list of single-letter options to match what's in GNU grep. Add -h as an alias for --no-filename. Bug reported by Vladimir Sidorenko in <http://lists.gnu.org/archive/html/bug-gzip/2010-09/msg00007.html>. 2010-08-17 Paul Eggert <eggert@cs.ucla.edu> gzip: fix NO_SIZE_CHECK for VMS * gzip.c (do_list): Use if, not #if. * tailor.h (NO_SIZE_CHECK) [defined(VAXC) || defined(VMS)]: Define. * zip.c (zip): Simplify conditional, which was incorrect at any rate for VMS. 2010-08-15 Paul Eggert <eggert@cs.ucla.edu> algorithm.doc: mention Internet RFC 1952 and modernize a bit * algorithm.doc: Update to mention header-CRC and Internet RFC 1952. Also, remove the crypto stuff, which never worked. Inspired by that same suggestion of Greg Roelofs. gzip: Use 0x%04x instead of %x when printing 16-bit checksums * gzip.c (get_method): Use 0x%04x, not %x, to print 16-bit checksums. Inspired by a suggestion of Greg Roelofs in http://lists.gnu.org/archive/html/bug-gzip/2010-08/msg00004.html 2010-08-03 Paul Eggert <eggert@cs.ucla.edu> maint: update bootstrap * bootstrap, bootstrap.conf, tests/init.sh: Merge from gnulib. 2010-07-19 Paul R. Eggert <eggert@cs.ucla.edu> gzip: don't assume C99, and don't assume overlapping memcpy should work * tailor.h (NOMEMCPY): Remove. memcpy is entitled to not work on overlapping blocks. * inflate.c (inflate_codes): Don't put decl after statement. Omit NOMEMCPY. * gzip.c (get_method): don't assume size_t can be printed with %u 2010-07-02 Paul Eggert <eggert@cs.ucla.edu> Mention that gzip -d now handles FHCRC. 2010-07-02 Paul Eggert <eggert@cs.ucla.edu> Decode FHCRC flag properly, as per Internet RFC 1952. Problem reported by Greg Roelofs in: http://lists.gnu.org/archive/html/bug-gzip/2010-06/msg00003.html * gzip.c (discard_input_bytes): New function. (get_method): Check header checksum, if given. We never generate it, but other programs may. * gzip.h (HEADER_CRC): Renamed from CONTINUATION. All uses changed. * tailor.h [defined __50SERIES]: Remove PRIMOS stuff that was obsolete anyway and would have made this patch harder to maintain. (get_char, put_char): Remove. * zip.c (zip): Use put_byte instead of the now-removed put_char. 2010-07-01 Paul Eggert <eggert@cs.ucla.edu> Don't assume that sizeof (long) == 4 when computing statistics. * gzip.c (get_method): Don't assume sizeof (long) == 4. * zip.c (zip): Likewise. Update Info-ZIP name and coordinates (thanks to Greg Roelofs). 2010-05-11 Paul Eggert <eggert@cs.ucla.edu> * doc/gzip.texi (Sample): Fix backslash quoting problem. Problem reported by Ole Tange in <http://lists.gnu.org/archive/html/bug-gzip/2010-05/msg00000.html>. 2010-04-26 Jim Meyering <meyering@redhat.com> build: update gnulib submodule to latest maint: remove primos support * Makefile.am (EXTRA_DIST): Remove all primos/ files. * primos/build.cpl: Remove file. * primos/ci.opts: Likewise. * primos/include/errno.h: Likewise. * primos/include/fcntl.h: Likewise. * primos/include/stdlib.h: Likewise. * primos/include/sysStat.h: Likewise. * primos/include/sysTypes.h: Likewise. * primos/primos.c: Likewise. * primos/readme: Likewise. 2010-04-08 Jim Meyering <meyering@redhat.com> build: include cfg.mk in the distribution tarball * Makefile.am (EXTRA_DIST): Add cfg.mk. 2010-04-07 Eric Blake <eblake@redhat.com> maint: ignore more built files * .gitignore: Add version files. 2010-04-07 Jim Meyering <meyering@redhat.com> tests: help-version: cross-check PATH in tests * tests/help-version: Cross-check $VERSION and --version output. * tests/Makefile.am (TESTS_ENVIRONMENT): Export VERSION=$(VERSION). tests: improve help-version * tests/help-version: Use fail_, rather than echo+Exit. tests: pull help-version from grep build: keep --version strictly up to date Before this change, in development, gzip's --version output could lag behind reality by a couple deltas or by a "-dirty" suffix. That would lead to spurious failure of the new --version-$VERSION PATH cross-check. * Makefile.am (version.c, version.h): New rules. (BUILT_SOURCES): Set/append. (noinst_LIBRARIES, noinst_libver_a_SOURCES): Define. (gzip_LDADD): Add libver.a. (DISTCLEANFILES): Define. * gzip.c (license): Use Version, not VERSION. 2010-04-06 Jim Meyering <meyering@redhat.com> tests: (portability) use st, not "status" as variable name * tests/zgrep-signal: Do not use status as a variable name, per autoconf's documentation that it is not portable to some shells. tests: s/framework_failure/framework_failure_/ tests: update init.sh from gnulib * tests/init.sh: Update from gnulib. tests: run most tests via tests/Makefile.am * Makefile.am (SUBDIRS): List tests after ".". Move most test-related things from here to ... * tests/Makefile.am: ... here. * configure.ac (AC_CONFIG_FILES): Add tests/Makefile. * tests/helin-segv: Adjust. * tests/help-version: Likewise. * tests/hufts: Likewise. * tests/memcpy-abuse: Likewise. * tests/mixed: Likewise. * tests/null-suffix-clobber: Likewise. * tests/stdin: Likewise. * tests/trailing-nul: Likewise. * tests/zdiff: Likewise. * tests/zgrep-f: Likewise. * tests/zgrep-signal: Likewise. * tests/znew-k: Likewise. tests: skip tests that use grep's -f and -E options, if they don't work * tests/init.cfg (require_grep_minus_f): New function. * tests/zgrep-f: Use require_grep_minus_f. Use path_prepend_. tests: arrange for skip and failure notices to go to stderr, not .log * tests/init.cfg: New file. Make init.sh's stderr_fileno_ match what the "exec 9>&2" we use in TESTS_ENVIRONMENT. * Makefile.am (EXTRA_DIST): Add it. 2010-04-06 Eric Blake <eblake@redhat.com> maint: ignore generated files * .gitignore: Ignore recent gnulib additions. maint: update bootstrap * bootstrap: Use latest copy from gnulib/build-aux. 2010-04-05 Jim Meyering <meyering@redhat.com> build: use gnulib's lib-ignore module * bootstrap.conf (gnulib_modules): Add lib-ignore, in case it helps. * Makefile.am (AM_LDFLAGS): Define it. maint: let configure-invoked cpp emit diagnostics to config.log * configure.ac: Do not discard CPP's stderr. build: update gnulib submodule to latest, and adapt * cfg.mk: Update to use new _sc_search_regexp interface. Run this: perl -pi -e 's/\b_prohibit_regexp\b/_sc_search_regexp/;' -e 's/\bmsg=/halt=/; s/\bre=/prohibit=/;' cfg.mk and then adjust backslashes so they still line up. * cfg.mk (local-checks-to-skip): Add new sc_texinfo_acronym, to skip it. * msdos/tailor.c (fcalloc): Mark a diagnostic for translation, to placate stricter syntax-check, even though no one uses this file. use assembly code matcher when possible * configure.ac (ASCPPPOST): Backslash-escape "#" in AC_SUBST'd variable, to keep make from seeing it as a comment-introducer. Based on a patch by Petr Pisar. * lib/Makefile.am (match.$(OBJEXT)): Use AM_V_GEN and AM_V_at. * lib/match.c: Don't include <config.h>. It would impede configure-time assembler test. * .x-sc_require_config_h: Exempt lib/match.c from syntax-check. * .x-sc_require_config_h_first: Likewise. 2010-03-20 Jim Meyering <meyering@redhat.com> do not use stat.st_mtime of a non-regular file * gzip.c: Include "timespec.h". (treat_stdin): Use st_mtime only from a regular file. This matters at least on Cygwin 1.7.1-1, for which a stdin-pipe has the mtime of /dev/null, rather than the gzip-documented-for-pipes "current time". Reported by Denis Excoffier. 2010-02-22 Jim Meyering <meyering@redhat.com> tests: exercise the fix for the decompression data-loss bug * tests/null-suffix-clobber: New file. * Makefile.am (TESTS): Add it. gzip: fix a data-loss bug when decompressing with --suffix='' * gzip.c (main): Disallow an empty --suffix=S also with -d. Otherwise, "gzip -d -S '' F.gz" would ask if it's ok to remove the existing file, "F.gz"; if you reply "yes", you'd lose all of that data. Use of an empty suffix was already rejected in compression mode. * gzip.1 (--suffix (-S)): Do not recommend to use "gunzip -S '' *". Describe how the suffix is used when decompressing, too. * NEWS (Bug fixes): mention the fix. Reported by Ripduman Sohan. tests: add ---presume-input-tty option, solely for testing * gzip.c: Include <stdbool.h>. (presume_input_tty): New global. (main): Set it. (treat_stdin, check_ofname): Use it. 2010-02-07 Jim Meyering <meyering@redhat.com> doc: minor adjustment to README-release * README-release: Tweak description, to sync from coreutils. tests: add the help-version sanity tests from coreutils * tests/help-version: New file, from coreutils. * Makefile.am (TESTS): Add it. tests: make distcheck invoke "make syntax-check" and other tests * dist-check.mk: New file, from coreutils. * cfg.mk: Include it. * Makefile.am (distcheck-hook): New rule, to make us use it. zcmp: consistently indicate failure with exit status of 2 * zcmp.in: Exit with status of 2 (not 1), when writing --help or --version output fails, to be more like cmp. 2010-02-03 Jim Meyering <meyering@redhat.com> tests: add more tests of gzip -cdf * tests/mixed: Test "gzip -cdf" for a range of small uncompressed files. tests: flip and adjust mixed test, now that the bug is fixed * NEWS (Bug fixes): Mention the fix. * Makefile.am (XFAIL_TESTS): Move tests/mixed from here... (TESTS): ...to here. * tests/mixed: Comment out the currently (always?) failing part. 2010-02-03 Mark Adler <madler@alumni.caltech.edu> gzip -cdf now handles concatenation of gzip'd and uncompressed data * util.c (copy): Change semantics so as to honor a decremented inptr. * gzip.c (get_method): When needed (-cdf), decrement inptr rather than clearing it -- and output the first magic byte. 2010-02-03 Dmitry V. Levin <ldv@altlinux.org> zgrep: terminate gracefully when a pipeline is interrupted by a signal zgrep is not terminated gracefully when its grep/sed pipeline is terminated by a signal. For example, a command like zgrep -F .TH /usr/share/man/man1/*.gz | head continues working long after the "head" process completes. Another example, a command like zgrep unmatched-pattern /usr/share/man/man1/*.gz cannot be interrupted by sending a SIGQUIT with Ctrl-\ key, it outputs zgrep: line 221: test: : integer expression expected and goes on. * zgrep.in: Terminate gracefully when the grep/sed pipeline is terminated by a signal. * tests/zgrep-signal: New test. * Makefile.am (TESTS): Add it. 2010-02-03 Jim Meyering <meyering@redhat.com> maint: teach "make syntax-check" the space-only indentation rule * cfg.mk (sc_prohibit_tab_based_indentation): New rule, from coreutils. (sc_prohibit_emacs__indent_tabs_mode__setting): Likewise. * bootstrap: Remove "indent-tabs-mode: nil" directive. * .x-sc_prohibit_tab_based_indentation: New file. 2010-02-02 Jim Meyering <meyering@redhat.com> global: convert indentation-TABs to spaces Transformed via this shell code: t=$'\t' git ls-files \ | grep -vE '(^|/)((GNU)?[Mm]akefile|ChangeLog)|\.(am|mk)$' \ | grep -vE 'tests/pr/|help2man' \ | xargs grep -lE "^ *$t" \ | xargs perl -MText::Tabs -ni -le \ '$m=/^( *\t[ \t]*)(.*)/; print $m ? expand($1) . $2 : $_' 2010-02-02 Dmitry V. Levin <ldv@altlinux.org> wrapper scripts: write diagnostics to stderr, not to stdout * zforce.in: In case of usage error, output short error diagnostics to stderr instead of printing help text to stdout. * zmore.in: Likewise. * znew.in: Likewise. 2010-02-02 Jim Meyering <meyering@redhat.com> gzip -cdf mishandles some concatenated input streams: test it * tests/mixed: Exercise "gzip -cdf" bug. * Makefile.am (XFAIL_TESTS): Add it. Mark Adler reported the bug. tests: move the hufts-segv test to its own file * tests/hufts: New test. * Makefile.am (TESTS): Add tests/ (check-local): Remove the hufts-segv test from this rule. tests: begin moving tests into their own files * Makefile.am (TESTS): Add tests/stdin. (check-local): Move the stdin check to its own file: * tests/stdin: New script. tests: remove unnecessary use of "path_prepend_ ." It is unnecessary, since Makefile.am's TESTS_ENVIRONMENT setting already adds the top build directory, and besides, is only marginally useful when running stand-alone, since it presumes that the script is being run from the top build directory. * tests/helin-segv: Remove unnecessary use of path_prepend_. * tests/memcpy-abuse: Likewise. * tests/trailing-nul: Likewise. * tests/zdiff: Likewise. * tests/zgrep-f: Likewise. tests: note that znew-k test depends on length of temp file name * tests/znew-k: Tweak diagnostic, factor and add a surprising comment. 2010-02-01 Jim Meyering <meyering@redhat.com> build: update gnulib submodule to latest 2010-02-01 Dmitry V. Levin <ldv@altlinux.org> fix "znew -K" to work without use of compress utility * znew.in: Change -K option to imply -t, do not use compress(1). * znew.1: Document it. * tests/znew-k: New test. * Makefile.am (TESTS): Add it. 2010-01-20 Jim Meyering <meyering@redhat.com> maint: update README-release procedure * README-release: sync from coreutils. post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 1.4 * NEWS: Record release date. tests: exercise the segfault fix * tests/helin-segv: New test. * Makefile.am (TESTS): Add it. gzip -d: do not clobber stack for valid input on x86_64 * unlzw.c (unlzw): Avoid integer overflow. Aki Helin reported the segfault along with an input to trigger the bug. * NEWS (Bug fixes): Mention it. maint: avoid a minor "make syntax-check" failure * .x-sc_file_system: Exempt NEWS, since it includes a literal from an old diagnostic. maint: remove unused file: README-alpha * README-alpha: Remove unused file. build: update gnulib submodule to latest 2010-01-11 Yuxi Zhang <YZhang@qnx.com> gzip -d: use memcpy more often * inflate.c (inflate_codes): Use memcpy (rather than slower memcopy-like code) in more cases. 2010-01-11 Jim Meyering <meyering@redhat.com> build: do not override gnulib-provided AM_CFLAGS options Avoid a warning from automake: lib/Makefile.am:24: AM_CFLAGS multiply defined in condition TRUE ... lib/gnulib.mk:30: ... `AM_CFLAGS' previously defined here lib/Makefile.am:20: `lib/gnulib.mk' included from here * lib/Makefile.am (AM_CFLAGS): Append $(WARN_CFLAGS) and $(WERROR_CFLAGS), i.e., use "+=", not "=". This was introduced via 2009-12-17 commit 0341fc22, "build: with --enable-gcc-warnings, use -Werror", but fortunately is not a bug, because the definition it would have overridden was always empty. 2010-01-10 Jim Meyering <meyering@redhat.com> gzip -d would fail with a CRC error... ...for some inputs, and some memcpy implementations. It is possible that an offending input has to be compressed "from FAT filesystem (MS-DOS, OS/2, NT)", since the sole reproducer no longer evokes a CRC error when uncompressed and recompressed on a GNU/Linux system. Also, using an unpatched reverse-memcpy-gzip on over 100,000 inputs on a GNU/Linux system did not turn up another reproducer. * inflate.c (inflate_codes): Don't call memcpy with overlapping regions. Properly detect when source and destination overlap. * tests/memcpy-abuse: New test, to trigger misbehavior. * Makefile.am (TESTS): Add it. * NEWS (Bug fixes): Mention it. Reported by Alain Magloire in http://thread.gmane.org/gmane.comp.gnu.gzip.bugs/307 2010-01-08 Jim Meyering <meyering@redhat.com> tests: switch to gnulib's init.sh test infrastructure * tests/test-lib.sh: Remove file. * tests/init.sh: New file, from gnulib. * tests/trailing-nul: Use the new file. * tests/zdiff: Likewise. * tests/zgrep-f: Likewise. * Makefile.am (EXTRA_DIST): List tests/init.sh, not test-lib.sh. build: update gnulib submodule to latest 2010-01-03 Jim Meyering <meyering@redhat.com> maint: record update-copyright options for this package * cfg.mk: Next time, just run "make update-copyright". 2010-01-01 Jim Meyering <meyering@redhat.com> maint: update all FSF copyright year lists to include 2010 Use this command: git ls-files |grep -vE '^(\..*|COPYING|gnulib)$' |xargs \ env UPDATE_COPYRIGHT_USE_INTERVALS=1 build-aux/update-copyright 2009-12-31 Jim Meyering <meyering@redhat.com> maint: newer gnulib; don't hard-code my GPG key ID * cfg.mk (gpg_key_ID): Remove definition, now that maint.mk automates it. * gnulib: Update to lastest. 2009-12-30 Jim Meyering <meyering@redhat.com> build: update gnulib submodule to latest maint: remove lots of obsolete #if...HAVE_* checks Remove many always-true cpp tests like #ifdef HAVE_UNISTD_H, #ifdef HAVE_FCNTL_H and #ifdef SSIZE_MAX. * gzip.c: As above. * gzip.h: Likewise. * inflate.c: Likewise. * tailor.h: Likewise. * unlzw.c: Likewise. * util.c: Likewise. * zip.c: Likewise. build: add a syntax-check * cfg.mk (sc_prohibit_obsolete_HAVE_HEADER_H): New rule. build: with --enable-gcc-warnings, use -Werror * Makefile.am (AM_CFLAGS): Enable $(WERROR_CFLAGS). * lib/Makefile.am (AM_CFLAGS): Enable both $(WARN_CFLAGS) and $(WERROR_CFLAGS). build: quiet warnings from util.c * configure.ac (warnings): Add -Wno-overflow and -Wno-type-limits. build: avoid warning about possibly-no-return functions * gzip.h (read_error, write_error): Mark these functions as "no-return". build: avoid warning about ignored chown/fchown return value * bootstrap.conf (gnulib_modules): Add ignore-value. * gzip.c: Include "ignore-value.h". (copy_stat): Explicitly ignore chown and fchown failure build: update gnulib submodule to latest 2009-11-20 Jim Meyering <meyering@redhat.com> build: unlzw.c: avoid warnings about unused macros * configure.ac: Turn off -Wunused-macros. build: avoid warnings about unused macros * unzip.c (LOCTIM): Comment out unused macro. * deflate.c (EQUAL): Remove definition. Use "0" at sole point of use. build: util.c: avoid warnings about add_envopt * util.c (add_envopt): The parameter "env" was used for two conflicting purposes. One use required a const char* parameter, while the other was used as an argument to free, which must not be "const". Rename the parameter and use a new local variable for the second role. build: avoid many const-related warnings * gzip.c: Add "const" to many variables, to avoid compiler warnings. * util.c (add_envopt): Make 3rd parameter const (gzip_error): Make sole parameter const. * gzip.h: Update prototypes. build: avoid warnings from -Wstrict-prototypes * gzip.c (main): Declare using a prototype. (progerror): Likewise. And make parameter const. build: use gnulib's fdopendir module * bootstrap.conf (gnulib_modules): Add fdopendir. * gzip.c (treat_dir): Don't depend on HAVE_FDOPENDIR. Gnulib now guarantees its availability. * configure.ac: Don't check for fdopendir here. build: enable many warnings * configure.ac: Add support for --enable-gcc-warnings. * bootstrap.conf (gnulib_modules): Add manywarnings. * Makefile.am (AM_CFLAGS): Add (WARN_CFLAGS) # $(WERROR_CFLAGS) maint: tweak formatting of bootstrap.conf * bootstrap.conf (gnulib_modules): Unindent list. maint: cfg.mk: remove factored-out ftp host/dir definitions * cfg.mk (gnu_ftp_host-alpha, gnu_ftp_host-beta gnu_ftp_host-stable): (gnu_rel_host, url_dir_list): Remove definitions. The defaults, now provided by maint.mk, are the same. * gnulib: Update for latest, including those maint.mk additions. build: "make stable" emitted an invalid gnupload command * cfg.mk (gnu_ftp_host-stable): Rename from gnu_ftp_host-major. * README-release: Change another s/major/stable/. 2009-10-30 Jim Meyering <meyering@redhat.com> post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 1.3.14 * NEWS: Record release date. build: accommodate new syntax-check test * amiga/tailor.c (_expand_args): Change each of three uses of "exit(20)" to "exit(EXIT_FAILURE)". * sample/add.c: Include <stdlib.h>. (main): Use EXIT_FAILURE and EXIT_SUCCESS, not 1 and 0. * sample/sub.c (main): Likewise. * sample/zread.c (main): Likewise. build: update gnulib submodule to latest build: link with $(LIB_CLOCK_GETTIME) * Makefile.am (gzip_LDADD): Add $(LIB_CLOCK_GETTIME), now that utimens pulls in gettime. (FILES_TO_CHECK): Remove $(gzip_LDADD), now that it may contain -lrt. 2009-10-28 Jim Meyering <meyering@redhat.com> msdos: fix syntax in Makefile.djg * msdos/Makefile.djg (gzip): Change each of two leading 8-space sequences to a TAB. Reported by Allan Mui. 2009-10-20 Jim Meyering <meyering@redhat.com> build: do not use AC_PREFIX_PROGRAM * configure.ac: Do not use "AC_PREFIX_PROGRAM(gzip)". It would induce behavior that is so surprising that it is probably universally considered to be buggy, these days. Reported by Zube in http://thread.gmane.org/gmane.comp.gnu.gzip.bugs/273 2009-10-10 Jim Meyering <meyering@redhat.com> gzip: add tests for today's bug fix * tests/trailing-nul: New file. Test for today's fix. * Makefile.am (TESTS): Add new script. * NEWS (Bug fixes): Mention it. 2009-10-10 Daniel Barkalow <barkalow@iabervon.org> gzip: don't fail when there is exactly one trailing NUL byte * gzip.c (get_method): Require the second byte of magic only if the first byte was nonzero. 2009-10-09 Jim Meyering <meyering@redhat.com> build: enable automake color- and parallel-test options * configure.ac (AM_INIT_AUTOMAKE): Enable color-tests and parallel-tests. zgrep: portability improvements; exercise "-f -" * zgrep.in: Adjust loop not to use seq; it's not portable enough. Fail if we don't find a free file descriptor. (exists): New function; Use it in place of less portable "test -e". Testing for existence of /dev/fd/$fd doesn't work on Solaris 10, since all 256 always exist (as char devices), but testing for /proc/$$/fd/$fd does work, so do that instead. * Makefile.am (TESTS): Add tests/zgrep-f. * tests/zgrep-f: New test; exercise this bug. * NEWS (Bug fixes): Mention it. 2009-10-09 Carl Worth <cworth@cworth.org> zgrep: handle "-f -" the same way that it works with grep Before this change, echo needle|zgrep -f - haystack.gz would not work. * zgrep.in: When the pattern comes from stdin, redirect it to a different file descriptor, since we're about to use stdin. 2009-10-09 Jim Meyering <meyering@redhat.com> zdiff would exit 2 (error) rather than 1 for differences * zdiff.in: Save and restore cmp's exit status around a case statement that would otherwise clobber its value. * NEWS (Bug fixes): Mention it. * tests/zdiff: New test; exercise both bugs. * tests/test-lib.sh: New file. From coreutils. * Makefile.am (EXTRA_DIST): Add tests/test-lib.sh. (TESTS): Add tests/zdiff. (TESTS_ENVIRONMENT): Define. From coreutils. (EXTRA_DIST): Append all $(TESTS). zdiff: fix malfunction when operating on two gzip'd inputs zdiff would fail to print differences in two compressed inputs * zdiff.in: Don't let cmp output mix with echo'd gzip exit status values. Report and fix from Jörg-Volker Peetz via <http://bugs.debian.org/434275> * NEWS (Bug fixes): Mention it. build: update gnulib submodule to latest 2009-10-07 Jim Meyering <meyering@redhat.com> build: update gnulib submodule to latest 2009-10-06 Jim Meyering <meyering@redhat.com> maint: clarify web-doc-update instructions * README-release: sync a tiny change from coreutils. 2009-10-03 Jim Meyering <meyering@redhat.com> build: update gnulib submodule to latest doc: use gnu-web-doc-update module * bootstrap.conf (gnulib_modules): Add it. 2009-10-02 Jim Meyering <meyering@redhat.com> doc: describe release procedure * README-release: New file. 2009-10-01 Jim Meyering <meyering@redhat.com> maint: make cfg.mk slightly more generic * cfg.mk (url_dir_list): Don't hard-code "coreutils". Use $(PACKAGE). 2009-09-30 Jim Meyering <meyering@redhat.com> post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 1.3.13 * NEWS: Record release date. build: update gnulib submodule to latest maint: update bootstrap script * bootstrap (with_gettext): Update from coreutils. maint: pull in two release-related modules from gnulib * bootstrap.conf (gnulib_modules): Add announce-gen and gnupload. build: use more gnulib modules for better POSIX compliance * bootstrap.conf (gnulib_modules): Add modules exposed via make CFLAGS=-DGNULIB_POSIXCHECK 2>&1 \ |perl -lne '/.* use gnulib module (\S+).*/ and print $1' \ |sort |uniq -c|sort -nr Add these: calloc close fclose fprintf-posix lstat malloc perror printf-posix realloc 2009-09-30 Karl Berry <karl@freefriends.org> doc: update to FDL 1.3, minor clean-up * NEWS, README, TODO: Update FDL s/1.2/1.3/. 2009-09-28 Karl Berry <karl@freefriends.org> doc: update gzip.texi * doc/gzip.texi: FDL 1.3+ Consistently (de)capitalize section names. "User's" is not correct; seems best to simplify the title. Throw in some "GNU"'s. Make direntries be what we actually want. Detabify. 2009-09-26 Jim Meyering <meyering@redhat.com> maint: temporarily exempt failing syntax-check tests * cfg.mk (local-checks-to-skip): Add the list of currently-failing tests, to exempt them from "make syntax-check". gzip: don't use an uninitialized file descriptor gzip interprets an argument of "-" as indicating stdin, but when "-" is not the first name on the command line, it doesn't work. * gzip.c (treat_stdin): Initialize "ifd". Patch and fine description by Lasse Collin in http://www.mail-archive.com/bug-gzip@gnu.org/msg00213.html * Makefile.am (check-local): Exercise the fix. Based on the above. * NEWS (Bug fixes): Mention this. maint: use a git submodule for gnulib * .gitmodules: New file, to track gnulib. * gnulib: New file, created by running this: git submodule add git://git.sv.gnu.org/gnulib.git gnulib maint: update existing copyright year lists to include 2009 * bootstrap.conf (gnulib_modules): Add update-copyright. maint: include <config.h> first in many files maint: avoid another "make syntax-check" failure * lib/Makefile.am (match.$(OBJEXT)): Use $(ASCPPPOST), not @ASCPPPOST@. maint: remove RCS $Id$ variables and comments maint: change spelling in comments: s/filesystem/file system/ maint: don't use "the the" * msdos/doturboc.bat: s/the the/the/. maint: remove trailing blanks maint: remove useless if-before-free tests * gzip.c (do_exit): Remove useless if-before-free tests. maint: remove useless casts to avoid "make syntax-check" failures * gzip.c (do_exit): Remove anachronistic cast. * inflate.c (huft_free): Likewise. * util.c (add_envopt): Likewise. * vms/vms.c (vms_expand_args): Likewise. maint: new file: .prev-version * .prev-version: New file, to record previous version number. 2009-09-06 Jim Meyering <meyering@redhat.com> build: avoid spurious warnings from clang * gzip.h (gzip_error): Declare with ATTRIBUTE_NORETURN. maint: update build-from-scratch infrastructure * bootstrap: Modernize. * bootstrap.conf: Modernize. * cfg.mk: New file. 2009-08-18 Jim Meyering <meyering@redhat.com> inflate: avoid a leak on a error path * inflate.c (inflate_dynamic): Don't leak maint: ignore a few generated files * lib/.gitignore: ignore more generated files. tests: add a test for just-fixed bug * tests/hufts-segv.gz: New file, from bug report. * Makefile.am (EXTRA_DIST): Add tests/hufts-segv.gz. (check-local): Exercise the bug. tests: don't misinterpret a failing test as successful * Makefile.am (check-local): Exit "1" upon failure, not 0. 2009-08-18 Thiemo Nagel <thiemo.nagel@ph.tum.de> avoid creating an undersized buffer for the hufts table A malformed input file can cause gzip to crash with a segmentation violation or hang in an endless loop. Reported in <http://bugs.debian.org/507263>. * NEWS (Bug fixes): Mention it. 2009-08-18 Jim Meyering <meyering@redhat.com> avoid silent data loss e.g., on NFS, due to unchecked close of stdout * gzip.c: Include "closein.h". (main): Use atexit (close_stdin); * bootstrap.conf (gnulib_modules): Add closein. Prompted by Mark Kidwell's report and patch in http://bugs.debian.org/538187 * NEWS (Bug fixes): Mention it. * */.gitignore: Update. build: require automake-1.11 and produce xz-compressed tarballs, too * configure.ac: Require automake-1.11. Use the dist-xz option. build: avoid non-srcdir build failure * Makefile.am (gzip.doc.gz): Use $(srcdir)/gzip.doc, not gzip.doc. Don't redirect directly to $@. Use $(AM_V_GEN). (gzip.doc, .in): Don't redirect directly to $@. Use $(AM_V_GEN). * NEWS: Add template header for upcoming release. build: enable git-version-gen, automake silent rules, generate ChangeLog * configure.ac (AC_INIT): Use git-version-gen. Use AM_SILENT_RULES([yes]). (AM_INIT_AUTOMAKE): Drop gnits; conflicts with git-version-gen versions. * bootstrap.conf (gnulib_modules): Use getopt-gnu Ensure ChangeLog exists, for automake. rather than obsolete "getopt" module. Add gitlog-to-changelog. Add git-version-gen. Add gnu-make, gnumakefile and maintainer-makefile. * Makefile.am (dist-hook, gen-ChangeLog): New rules, to generate ChangeLog and insert it into the distribution tarball. (EXTRA_DIST): Add ChangeLog-2007. maint: retire the last VC'd ChangeLog file * ChangeLog-2007: Rename from ChangeLog. From now on, the ChangeLog file will be generated automatically from commit logs. maint: rename .cvsignore files to .gitignore * .gitignore: Renamed from .cvsignore. * doc/.gitignore: Likewise. * lib/.gitignore: Likewise. * m4/.gitignore: Likewise. usr/share/doc/libmd/ChangeLog 0000644 00000101027 15125517027 0012073 0 ustar 00 commit 16d68ab76eee25bf8ec807aff9a6ea7e0f135019 Author: Guillem Jover <guillem@hadrons.org> Date: Thu May 25 23:54:13 2023 +0200 Release libmd 1.1.0 configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 054bca1a2e9810b3017c868e344af8d6c4270767 Author: Guillem Jover <guillem@hadrons.org> Date: Tue Apr 11 00:19:46 2023 +0200 build: Terminate lists in variables with «# EOL» This means we can add a trailing «\» to every element, so that they can be removed without requiring modification of other lines, and can be easily sorted. Replace the old usage of $(nil) which could possibly end up with junk added if such variable is ever defined, in the environment. Makefile.am | 9 +++++++-- include/Makefile.am | 4 ++-- man/Makefile.am | 20 ++++++++++---------- src/Makefile.am | 30 +++++++++++++++++------------- test/Makefile.am | 6 +++--- 5 files changed, 39 insertions(+), 30 deletions(-) commit 84d269e813276337a6a074b0ca4d276465b4fc6f Author: Guillem Jover <guillem@hadrons.org> Date: Thu Apr 6 20:37:41 2023 +0200 test: Add cases for SHA224 and SHA512-256 test/sha2.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) commit a677e68673f18bf84b2314b8716e052fb5e471e4 Author: Guillem Jover <guillem@hadrons.org> Date: Thu Apr 6 20:37:41 2023 +0200 test: Add a new test_eq() helper function test/test.h | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) commit 4c5931f53727b1428b47b6a1c0bfdad02c46f1ca Author: Guillem Jover <guillem@hadrons.org> Date: Thu Apr 6 20:37:41 2023 +0200 Sync SHA2 changes from OpenBSD This adds support for SHA224 and SHA512-256. include/sha2.h | 32 +++++++- src/Makefile.am | 12 ++- src/libmd.map | 23 ++++++ src/sha2.c | 241 ++++++++++++++++++++++++++++++++++++++++++-------------- 4 files changed, 247 insertions(+), 61 deletions(-) commit 9934d941e068001a8116319ee500cbf76b50eb0e Author: Guillem Jover <guillem@hadrons.org> Date: Wed Apr 5 23:53:43 2023 +0200 Sync SHA1 changes from OpenBSD Remove SH specific code, and remove conditional for the digest argument. include/sha1.h | 2 +- src/sha1.c | 72 ++++------------------------------------------------------ 2 files changed, 6 insertions(+), 68 deletions(-) commit 457e30aeec5b0fe979ffb7ffc9e69db52a19fbfc Author: Guillem Jover <guillem@hadrons.org> Date: Sun Apr 9 00:14:30 2023 +0200 Sync RMD160 changes from OpenBSD include/rmd160.h | 2 +- src/rmd160.c | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) commit b2e54bcdac68d48f4a5919ece045fe4d0f741f96 Author: Guillem Jover <guillem@hadrons.org> Date: Sun Apr 9 00:10:07 2023 +0200 Sync MD5 changes from OpenBSD include/md5.h | 2 +- src/md5.c | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) commit ee56a52ac4dc72002eb601ba08196572d6e8a092 Author: Guillem Jover <guillem@hadrons.org> Date: Sun Apr 9 00:05:02 2023 +0200 Sync MD4 changes from OpenBSD Get all changes before this MD4 implementation got removed from OpenBSD. include/md4.h | 2 +- src/md4.c | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) commit b9496acd52b4f4cbde13e80cae4305e9454a469a Author: Guillem Jover <guillem@hadrons.org> Date: Wed Apr 5 23:53:24 2023 +0200 Sync MD2 changes from NetBSD include/md2.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 09d58246d1aba6ca17ca1e19bb08ef855a9b29fd Author: Guillem Jover <guillem@hadrons.org> Date: Sat Apr 8 20:53:37 2023 +0200 Remove unused <assert.h> src/md2.c | 1 - 1 file changed, 1 deletion(-) commit 08b2c5dd8a51a77b1d9ab436e4e9c261aafa0049 Author: Guillem Jover <guillem@hadrons.org> Date: Sat Apr 8 23:43:04 2023 +0200 build: Rename libmd_alias() to libmd_strong_alias() src/local-link.h | 6 +++--- src/sha2.c | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) commit ed695998501bf90158f3899d92fecf28293ea313 Author: Guillem Jover <guillem@hadrons.org> Date: Fri Mar 31 23:47:38 2023 +0200 On Darwin use assembler to support symbol aliases The alias attribute is not supported on Darwin, but we can alias using assembler directives instead. At the same time we switch the non-ELF fallback implementation for libmd_symver_default to use libmd_alias. src/local-link.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) commit b74b77720494d3103ba0e2e6eb0fd077d33221cf Author: Guillem Jover <guillem@hadrons.org> Date: Tue Mar 28 03:25:35 2023 +0200 build: Do not use strong aliases on macOS These are not supported, and when trying to link the library we get the following error message: error: aliases are not supported on darwin src/local-link.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 94838ec6983ab067769901e87f50e9b377252d7e Author: Guillem Jover <guillem@hadrons.org> Date: Tue Mar 14 01:49:53 2023 +0100 build: Require automake 1.11 This is a rather old release (from 2009), that provides AM_SILENT_RULES. configure.ac | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) commit 39cbc7bb0c8f30c05d0190899aa023e8f04ae317 Author: Guillem Jover <guillem@hadrons.org> Date: Tue Mar 14 01:48:45 2023 +0100 build: Fix configure.ac indentation Use the same style as the newly added code, which should make the code more readable. configure.ac | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) commit 4620a04ab627ff266ee90853fa2e13326f169552 Author: Guillem Jover <guillem@hadrons.org> Date: Fri Feb 17 22:29:50 2023 +0100 build: Switch to debian:latest Docker image This should always point to the latest Debian stable images. .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e408786075b9540f76783f5c3ce87f6d1ece13cf Author: Guillem Jover <guillem@hadrons.org> Date: Sun Feb 12 23:55:09 2023 +0100 build: Fix version script linker support detection When the linker uses --no-undefined-version either specified by the user or as the default behavior (such as with newer clang >= 16 releases), a missing symbol definition will cause a linker error if that symbol is listed in the version script. Closes: #1 m4/libmd-linker.m4 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit 0ef1e4da68332073457e8b3be512b6d902be4685 Author: Guillem Jover <guillem@hadrons.org> Date: Wed Oct 5 01:38:35 2022 +0200 doc: Move mailing list reference to the end README | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) commit a3f16719026f26d0a7e6ca9aa0f67881505fa017 Author: Guillem Jover <guillem@hadrons.org> Date: Tue Oct 5 06:03:29 2021 +0200 man: Add new libmd(7) man page man/Makefile.am | 1 + man/libmd.7 | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+) commit 9d3c9a739f86b65b238163b9f8af3623226a6419 Author: Guillem Jover <guillem@hadrons.org> Date: Tue Oct 5 04:44:25 2021 +0200 Release libmd 1.0.4 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 04781b0a5c767454e569694f5b96c8ae6e9127ea Author: David Seifert <soap@gentoo.org> Date: Tue Oct 5 04:34:48 2021 +0200 build: Avoid non-portable '$<' in non-inference rules OpenBSD's 'pmake' chokes on these. Signed-off-by: Guillem Jover <guillem@hadrons.org> man/Makefile.am | 6 +++--- src/Makefile.am | 18 +++++++++--------- 2 files changed, 12 insertions(+), 12 deletions(-) commit 8a62de57a12899d300872916d8f08ec04a071eeb Author: Guillem Jover <guillem@hadrons.org> Date: Tue Aug 17 02:24:09 2021 +0200 build: Fix out of tree builds The '$<' variable is not guarantee to work in ordinary make rules by non GNU make implementations. In addition if it is supported it will be replaced by the actual source pathname (in VPATH mode), which is not the relative name we need on installation. Ref: https://www.gnu.org/software/autoconf/manual/autoconf.html#g_t_0024_003c-in-Ordinary-Make-Rules Reported-by: David Seifert <soap@gentoo.org> man/Makefile.am | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit 85f7006c64fcf2f2dd72f7bdca11b88231a8ff0d Author: David Seifert <soap@gentoo.org> Date: Tue Oct 5 04:20:30 2021 +0200 build: Explicitly depend on sed Signed-off-by: Guillem Jover <guillem@hadrons.org> configure.ac | 1 + man/Makefile.am | 6 +++--- src/Makefile.am | 20 ++++++++++---------- 3 files changed, 14 insertions(+), 13 deletions(-) commit dc32a5957bee09df3645cddb66c65f7803ea5a20 Author: Guillem Jover <guillem@hadrons.org> Date: Mon Aug 16 14:43:49 2021 +0200 build: Switch Docker image to Debian bullseye .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d9c4c7fe282bbf79fdf3af6aa4b870125e822a50 Author: Guillem Jover <guillem@hadrons.org> Date: Sat Feb 20 22:19:49 2021 +0100 build: Add support for sanitizer compiler flags .gitlab-ci.yml | 2 +- configure.ac | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) commit e35f6b877ab381ffcea9f391944be2097524c20c Author: Guillem Jover <guillem@hadrons.org> Date: Fri Feb 19 23:59:47 2021 +0100 build: Add compiler warnings support Detect as many warnings as possible during configure and enable them if the user did not supply any, so that any such problem can be spotted and fixed. configure.ac | 43 +++++++++++++++++++++++++++++++++++++++++++ m4/libmd-compiler.m4 | 24 ++++++++++++++++++++++++ 2 files changed, 67 insertions(+) commit 9cc6db0cf8ad97b33f1499df001f0609a3003a77 Author: Guillem Jover <guillem@hadrons.org> Date: Sun Feb 28 18:57:00 2021 +0100 build: Improve coverage report Exclude test suite files from the coverage which incorrectly increase the coverage percent. Build with no-optimizations and debugging symbols. .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit ef667150e80dcb4ca2dd87c30655f23442687969 Author: Guillem Jover <guillem@hadrons.org> Date: Sun Feb 28 18:56:27 2021 +0100 build: Indent packages in GitLab CI apt-get invocation .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8308181a0018a15944df18303316c30b6d1dbf4a Author: Guillem Jover <guillem@hadrons.org> Date: Sat Feb 20 23:41:51 2021 +0100 build: Add GitLab CI support .gitlab-ci.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) commit ac5cd2d7fce430ab04376cc514da8f88156b9cef Author: Guillem Jover <guillem@hadrons.org> Date: Sun Feb 28 01:13:14 2021 +0100 build: Ignore code coverage files .gitignore | 2 ++ 1 file changed, 2 insertions(+) commit 1a8d0b68a1f6a42c57261e76a8fccb9404fc305f Author: Guillem Jover <guillem@hadrons.org> Date: Sat Feb 20 23:40:29 2021 +0100 man: Document RIPEMD160 and SHA-1 security status man/rmd160.3 | 7 +++---- man/sha1.3 | 6 ++++-- 2 files changed, 7 insertions(+), 6 deletions(-) commit e50a6db8ec1425e8354ece5ce45ac6cb2d2dcb3b Author: Guillem Jover <guillem@hadrons.org> Date: Fri Feb 19 23:58:37 2021 +0100 test: Fix pointer type sign mismatch in DEF_TEST_DIGEST() macro Warned-by: gcc test/test.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit b7d06e0dc98a0b774db6e54272a38ed0583b3d4d Author: Guillem Jover <guillem@hadrons.org> Date: Fri Feb 19 23:56:07 2021 +0100 Fix signedness type mismatch comparisons Change the variable type or use a cast. Warned-by: gcc src/helper.c | 2 +- test/test.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 6cedc1594f34529a803a25cbcb773cbf5a6fc891 Author: Guillem Jover <guillem@hadrons.org> Date: Fri Feb 19 07:14:15 2021 +0100 Fix main() function prototype Warned-by: gcc test/md2.c | 2 +- test/md4.c | 2 +- test/md5.c | 2 +- test/rmd160.c | 2 +- test/sha1.c | 2 +- test/sha2.c | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) commit 52ee547648923398015add10e0e9490ce3226ec7 Author: Guillem Jover <guillem@hadrons.org> Date: Fri Feb 19 07:13:51 2021 +0100 Declare local functions as static Warned-by: gcc test/md5.c | 6 +++--- test/test.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) commit 281dab62f25eee47da5eb996db7ef440a22d2295 Author: Guillem Jover <guillem@hadrons.org> Date: Fri Feb 19 07:13:28 2021 +0100 Place static keyword before const in function definitions Warned-by: gcc src/sha2.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 981a0a1dc91aae55930451564e506f927010622a Author: Guillem Jover <guillem@hadrons.org> Date: Sat Jan 2 16:30:03 2021 +0100 Release libmd 1.0.3 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6b3f9f75d8f79a93792dedb5e3541a228d38fa62 Author: Guillem Jover <guillem@hadrons.org> Date: Sat Jan 2 16:26:38 2021 +0100 build: Provide wrapper functions instead of aliases in DLL built with MSVC On Windows we cannot use proper aliases, and using the /EXPORT linker flag is too cumbersome, as it does not work when static linking, and when dynamic linking it does not make the aliases visible within the DLL itself. Just use normal function wrapper in those cases, which are way more maintainable. src/local-link.h | 10 ++++++++++ src/sha2.c | 20 ++++++++++++++++++++ 2 files changed, 30 insertions(+) commit 0f57340069a4eabfef3cfec53184837927b70ac9 Author: Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> Date: Tue Dec 22 18:47:47 2020 +0100 build: Fix out of tree builds Adding local-link.h as private header file requires $(srcdir) on AM_CPPFLAGS to be found by generated sources when builddir != srcdir. Do not use libmd.sym from $(srcdir), as it is a generated file. [guillem@hadrons.org: - Remove unrelated line moves. ] Signed-off-by: Guillem Jover <guillem@hadrons.org> src/Makefile.am | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 547953eff097fe3744271b27238d20f99ba43feb Author: Guillem Jover <guillem@hadrons.org> Date: Tue Dec 22 18:40:55 2020 +0100 build: Ignore release tarballs .gitignore | 1 + 1 file changed, 1 insertion(+) commit dd01b873a759a384b914353fe58e346e2c841d8c Author: Guillem Jover <guillem@hadrons.org> Date: Tue Dec 22 17:49:23 2020 +0100 Release libmd 1.0.2 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit eb25da50b3a7540e82c4bf6d92d30b2d4a48d95e Author: Guillem Jover <guillem@hadrons.org> Date: Sat Nov 28 20:00:01 2020 +0100 Remove duplicate Files entries from COPYING COPYING | 2 -- 1 file changed, 2 deletions(-) commit 52cb9cbef62cfa625a69f347f60bc7947fc13709 Author: Guillem Jover <guillem@hadrons.org> Date: Thu Sep 17 03:19:51 2020 +0200 build: Only depend on libmd.sym when using it src/Makefile.am | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) commit 42d691a5de1bc16417a908ff9f61bbc07e7d37bc Author: Guillem Jover <guillem@hadrons.org> Date: Mon Dec 21 20:19:54 2020 +0100 build: Move local-link.h from libmd_la_helper_sources to libmd_la_SOURCES This is not a generated file, so it needs to be listed in the library SOURCES variable. Fixes: commit 9cc938450392d64440de5c7db27903dff9922728 src/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit bd364c6d81dac38ec42f6fe5ae2e5296a56e12de Author: Guillem Jover <guillem@hadrons.org> Date: Wed Aug 28 11:30:29 2019 +0200 Switch SHA2 symbols from weak to strong aliases There is no good reason to have these as weak symbols at all. And it makes building on Windows (Cygwin, MinGW) harder as it does not support weak symbols. Based-on-patch-by: Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> Signed-off-by: Guillem Jover <guillem@hadrons.org> src/local-link.h | 3 +++ src/sha2.c | 13 ++++--------- 2 files changed, 7 insertions(+), 9 deletions(-) commit 9cc938450392d64440de5c7db27903dff9922728 Author: Guillem Jover <guillem@hadrons.org> Date: Wed Aug 28 11:19:37 2019 +0200 Import local-link header from libbsd This provides several macros for versioned symbols and linking magic. src/Makefile.am | 1 + src/local-link.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) commit 09b3ad8c9950aadccad1c8a9e2bc27baf93a4513 Author: Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> Date: Wed Aug 28 11:16:54 2019 +0200 Remove unused weak symbol declarations for MD2 functions These are not currently used, as they are not part of the versioned symbols export map. Signed-off-by: Guillem Jover <guillem@hadrons.org> src/md2.c | 7 ------- 1 file changed, 7 deletions(-) commit 9a77023ffe31da98eb1dafbefe005171d1ef7499 Author: Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> Date: Thu Aug 22 16:55:44 2019 +0200 build: Use <unistd.h> only if available Some target platforms do not have <unistd.h>, notably Windows when using vanilla MSVC toolchain. Note: The AC_CHECK_HEADERS([unistd.h]) is redundant with LT_INIT, but there is no guarantee for that. [guillem@hadrons.org: - Use AC_CHECK_HEADERS instead of AC_CHECK_HEADER. - Quote argument to AC_CHECK_HEADERS. ] Signed-off-by: Guillem Jover <guillem@hadrons.org> configure.ac | 1 + src/helper.c | 2 ++ 2 files changed, 3 insertions(+) commit 9c330aa8e5085c57249550c0596154ac0e3ab0f4 Author: Guillem Jover <guillem@hadrons.org> Date: Mon Oct 22 12:43:15 2018 +0200 Release libmd 1.0.1 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f23a2145a019776f827c11c03474761ba0b44e48 Author: Guillem Jover <guillem@hadrons.org> Date: Sat Oct 6 03:46:51 2018 +0200 Add compatibility with Aladdin Enterprises MD5 implementation This will be guarded by a LIBMD_MD5_ALADDIN macro check, to avoid polluting the namespace by unsuspecting code. The macro can always be defined unconditionally, and the guard could even potentially be removed in the future if required. Prompted-by: Yangfl <mmyangfl@gmail.com> Ref: https://bugs.debian.org/909116 include/md5.h | 20 ++++++++++++++++++++ test/md5.c | 30 +++++++++++++++++++++++++++--- 2 files changed, 47 insertions(+), 3 deletions(-) commit cf9ac1507f62899d92718fdc216689c2fc98e1fe Author: Guillem Jover <guillem@hadrons.org> Date: Sat Oct 6 04:33:02 2018 +0200 test: Refactor and extend message digest testing Generate the base test function with a maro, because all of them follow the same pattern. And extend it by covering more of the API. test/Makefile.am | 4 ++++ test/md2.c | 16 +++++--------- test/md4.c | 16 +++++--------- test/md5.c | 14 +++++------- test/rmd160.c | 16 +++++--------- test/sha1.c | 16 +++++--------- test/sha2.c | 46 ++++++++++++---------------------------- test/{rmd160.c => test.h} | 54 +++++++++++++++++++++++++++++++++++------------ 8 files changed, 83 insertions(+), 99 deletions(-) commit b6b3402e4a4b53cedff228a75339f08d23e6411d Author: Guillem Jover <guillem@hadrons.org> Date: Sat Oct 6 04:30:59 2018 +0200 Fix compatibility macros for SHA512 These have swapped names in their macro values. include/sha512.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit ff52516cedbdd94dcba2ab2c3e5bddbd6a6d65e2 Author: Guillem Jover <guillem@hadrons.org> Date: Sat Oct 6 04:30:11 2018 +0200 Add missing compatibility macros for SHA384 include/sha512.h | 4 ++++ 1 file changed, 4 insertions(+) commit bf04c4110f8028bbb4d6682b5eb93a3dc1a2f895 Author: Rainer Müller <raimue@codingfarm.de> Date: Fri Sep 29 17:02:33 2017 +0200 build: Invoke sed with portable regex The previous sed expression only worked with GNU sed, as the '\+' literal is an extension to basic regex. Use portable syntax instead that also works with other implementations of sed(1), for example on macOS. Signed-off-by: Guillem Jover <guillem@hadrons.org> src/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c657abc165177183f453437e578832d146103d61 Author: Guillem Jover <guillem@hadrons.org> Date: Sat Jan 13 16:29:02 2018 +0100 Release libmd 1.0.0 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 397964a117b7e17fc1abf336f2719ba932fb3a67 Author: Guillem Jover <guillem@hadrons.org> Date: Sat Jan 13 16:32:33 2018 +0100 Remove unused NEWS file NEWS | 3 --- 1 file changed, 3 deletions(-) commit cc6881c6d7be37279090d5fccb60bcb27bef918e Author: Guillem Jover <guillem@hadrons.org> Date: Mon Jun 5 05:10:51 2017 +0200 Remove unused __RCSID macro usage This is an obsolescent practice, just stop conditionally using this macro. src/md2.c | 4 ---- 1 file changed, 4 deletions(-) commit 0def18290376573cf4e8faae071f33e73d163b1a Author: Guillem Jover <guillem@hadrons.org> Date: Thu Jun 1 03:00:05 2017 +0200 Stop using non-portable <sys/param.h> There are platforms without <sys/param.h>, so we better avoid the header altogether, and add the required MIN macro outselves. Based-on-patch-by: Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> configure.ac | 1 - src/helper.c | 5 ++++- src/sha1.c | 1 - 3 files changed, 4 insertions(+), 3 deletions(-) commit 04d92f90e9f522c002907089a4a6a336d86caaff Author: Guillem Jover <guillem@hadrons.org> Date: Wed May 31 06:58:23 2017 +0200 build: Do not override the default DEPENDENCIES for libmd Extend it instead via EXTRA_*_DEPENDENCIES, to make sure that we preserve the builtin library dependencies generated from LIBADD. src/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 4c94d7fd8ccc96036ef847ddac96d24ffee12235 Author: Guillem Jover <guillem@hadrons.org> Date: Wed May 31 06:55:35 2017 +0200 build: Use an export symbols file if there is no version script support We generate the symbol list from the version script to avoid repeating ourselves and potentially getting the lists out-of-sync. Proposed-by: Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> .gitignore | 1 + src/Makefile.am | 13 +++++++++++++ 2 files changed, 14 insertions(+) commit b6be272ec1baa16adb3502895f361f443054ccd9 Author: Guillem Jover <guillem@hadrons.org> Date: Wed May 31 06:45:25 2017 +0200 build: Detect version script linker support at configure time This is not a widely supported feature, so only use if in case the linker does support it. Proposed-by: Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> .gitignore | 1 - Makefile.am | 1 + autogen | 1 - configure.ac | 1 + m4/.gitignore | 2 ++ m4/libmd-linker.m4 | 22 ++++++++++++++++++++++ src/Makefile.am | 5 ++++- 7 files changed, 30 insertions(+), 3 deletions(-) commit 555d5074acfdc938932ac155b71eedcea20b198c Author: Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> Date: Mon Apr 10 13:10:45 2017 +0200 build: Switch to AC_C_BIGENDIAN defining WORD_BIGENDIAN We should use the autoconf macro instead of expecting the system to provide the endianness information, which many do not. [guillem@hadrons.org: - Use autoconf macro instead of gnulib one. - Slightly reword commit message. ] Signed-off-by: Guillem Jover <guillem@hadrons.org> configure.ac | 3 ++- src/md4.c | 2 +- src/md5.c | 2 +- src/rmd160.c | 7 +------ src/sha1.c | 2 +- src/sha2.c | 39 +++------------------------------------ 6 files changed, 9 insertions(+), 46 deletions(-) commit c3c8d859c309ed245b255d03937ac8e0cb98a425 Author: Guillem Jover <guillem@hadrons.org> Date: Thu Jun 1 02:43:22 2017 +0200 build: Drop GCC specific compiler flag -include Instead, explicitly include <config.h> in library and test source files for increased portability. Based-on-patch-by: Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> src/Makefile.am | 3 ++- src/helper.c | 2 ++ src/md2.c | 2 ++ src/md4.c | 2 ++ src/md5.c | 2 ++ src/rmd160.c | 3 +++ src/sha1.c | 2 ++ src/sha2.c | 2 ++ test/Makefile.am | 1 - test/md2.c | 2 ++ test/md4.c | 2 ++ test/md5.c | 2 ++ test/rmd160.c | 2 ++ test/sha1.c | 2 ++ test/sha2.c | 2 ++ 15 files changed, 29 insertions(+), 2 deletions(-) commit 23637d726c7be93630b6e6418695276d13d71fb6 Author: Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> Date: Mon Apr 10 13:10:40 2017 +0200 build: Stop checking for malloc() and memset() We do not provide alternatives for when memset() is missing, or when malloc() is not GNU-style malloc(), causing redirection to (undefined) rpl_malloc(). We do not rely on GNU-style malloc() at all, so there is no point in checking for it. [guillem@hadrons.org: - Slightly reword commit message. ] Signed-off-by: Guillem Jover <guillem@hadrons.org> configure.ac | 2 -- 1 file changed, 2 deletions(-) commit 765a605ec4c5b2d48fba44846cbe8950f428104d Author: Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> Date: Mon Apr 10 13:10:39 2017 +0200 build: Add -no-undefined libtool flag We have no need for undefined symbols, so we can let the shared library build even on systems without support for undefined symbols. [guillem@hadrons.org: - Place the option on its own line. - Slightly reword commit message. ] Signed-off-by: Guillem Jover <guillem@hadrons.org> src/Makefile.am | 1 + 1 file changed, 1 insertion(+) commit bb131b2e87b43023655995f5c5d8d4191686f6e3 Author: Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> Date: Mon Apr 10 13:10:38 2017 +0200 Stop using non-portable <sys/cdefs.h> For portability, we should not rely on the __BEGIN_DECLS, __END_DECLS and __P to be predefined somewhere. For __P, we just remove its usage as we do not support pre-ANSI-C compilers. [guillem@hadrons.org: - Separate extern declarations with newlines. - Slightly reword commit message. ] Signed-off-by: Guillem Jover <guillem@hadrons.org> include/md2.h | 11 ++++++++--- include/md4.h | 11 ++++++++--- include/md5.h | 11 ++++++++--- include/rmd160.h | 11 ++++++++--- include/sha1.h | 11 ++++++++--- include/sha2.h | 11 ++++++++--- src/md2.c | 3 +-- 7 files changed, 49 insertions(+), 20 deletions(-) commit ed7d023ee8d20957752e86e60a8d50620cc7cc7e Author: Guillem Jover <guillem@hadrons.org> Date: Wed Feb 10 00:16:06 2016 +0100 Release libmd 0.0.0 NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 4eaf4a125cb79116cc2d22fb31b83c2fd8680db5 Author: Guillem Jover <guillem@hadrons.org> Date: Sun Oct 23 19:20:26 2011 +0200 Add compatibility with other BSDs COPYING | 2 +- include/Makefile.am | 8 ++++++++ include/ripemd.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++ include/sha.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++ include/sha256.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ include/sha512.h | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 194 insertions(+), 1 deletion(-) commit 7a85a55739fb094d865dcd38838a429cffafab8c Author: Guillem Jover <guillem@hadrons.org> Date: Tue Feb 9 10:17:55 2016 +0100 Remove hidden dependencies from public headers Include <sys/types.h> in all public headers as they need them, so that programs do not need to add such header to be able to build. include/md4.h | 5 +++-- include/md5.h | 5 +++-- include/rmd160.h | 5 +++-- include/sha1.h | 5 +++-- include/sha2.h | 5 +++-- 5 files changed, 15 insertions(+), 10 deletions(-) commit 18ebbe24a789c26e93e7b81050a48261f73152cc Author: Guillem Jover <guillem@hadrons.org> Date: Tue May 29 05:44:54 2012 +0200 Use stdint types instead of BSD u_int ones include/md4.h | 16 +++++++++------- include/md5.h | 16 +++++++++------- include/rmd160.h | 16 +++++++++------- include/sha1.h | 16 +++++++++------- include/sha2.h | 33 ++++++++++++++++---------------- man/mdX.3 | 8 ++++---- man/rmd160.3 | 14 +++++++------- man/sha1.3 | 14 +++++++------- man/sha2.3 | 30 ++++++++++++++--------------- src/helper.c | 6 +++--- src/md4.c | 20 +++++++++---------- src/md5.c | 20 +++++++++---------- src/rmd160.c | 22 ++++++++++----------- src/sha1.c | 46 ++++++++++++++++++++++---------------------- src/sha2.c | 58 ++++++++++++++++++++++++++++---------------------------- 15 files changed, 172 insertions(+), 163 deletions(-) commit 581c239f6eb4810f51c8cca45bd3daffde89ae37 Author: Guillem Jover <guillem@hadrons.org> Date: Sun May 29 04:46:28 2011 +0200 Remove __bounded__ GCC attribute This is a BSD specific extension to GCC, and as such not widely available elsewhere. include/md4.h | 23 +++++++---------------- include/md5.h | 23 +++++++---------------- include/rmd160.h | 23 +++++++---------------- include/sha1.h | 23 +++++++---------------- include/sha2.h | 57 ++++++++++++++++++-------------------------------------- 5 files changed, 46 insertions(+), 103 deletions(-) commit f1291e88d7a3a9f90e4f54df29620c53e92caded Author: Guillem Jover <guillem@hadrons.org> Date: Sun May 29 04:46:46 2011 +0200 build: Use <endian.h> when <sys/endian.h> is not available configure.ac | 2 +- src/rmd160.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) commit 79b3a0b7f48918a36f56444d828b11e5f7bbd0cc Author: Guillem Jover <guillem@hadrons.org> Date: Sun May 29 04:48:16 2011 +0200 build: Add build infrastructure .gitignore | 24 +++++++ COPYING | 179 ++++++++++++++++++++++++++++++++++++++++++++++++++++ Makefile.am | 16 +++++ NEWS | 3 + README | 38 +++++++++++ autogen | 5 ++ configure.ac | 54 ++++++++++++++++ get-version | 50 +++++++++++++++ include/Makefile.am | 10 +++ man/.gitignore | 3 + man/Makefile.am | 148 +++++++++++++++++++++++++++++++++++++++++++ src/Makefile.am | 97 ++++++++++++++++++++++++++++ src/libmd.map | 84 ++++++++++++++++++++++++ src/libmd.pc.in | 11 ++++ test/.gitignore | 6 ++ test/Makefile.am | 20 ++++++ test/md2.c | 47 ++++++++++++++ test/md4.c | 47 ++++++++++++++ test/md5.c | 47 ++++++++++++++ test/rmd160.c | 47 ++++++++++++++ test/sha1.c | 47 ++++++++++++++ test/sha2.c | 80 +++++++++++++++++++++++ 22 files changed, 1063 insertions(+) commit c5179609f32de7999f9da1506346ac4b27a7a385 Author: Guillem Jover <guillem@hadrons.org> Date: Mon Jun 29 17:32:14 2015 +0200 build: Define a dummy _DIAGASSERT src/md2.c | 2 ++ 1 file changed, 2 insertions(+) commit 7a25747571987687cdd7ab0a7fd5ce91a9cf122e Author: Guillem Jover <guillem@hadrons.org> Date: Sat Jul 19 16:49:55 2014 +0200 build: Add weak_alias definition src/sha2.c | 6 ++++++ 1 file changed, 6 insertions(+) commit 649209d4707f92c2728f381a25d5b208696a77ed Author: Guillem Jover <guillem@hadrons.org> Date: Sat Jul 19 16:11:42 2014 +0200 build: Use stdint include/md2.h | 2 ++ 1 file changed, 2 insertions(+) commit 1878b975d1c797d57c86f76be638447353c5ea4c Author: Guillem Jover <guillem@hadrons.org> Date: Sat Jul 19 16:11:25 2014 +0200 man: Add LIBRARY section man/mdX.3 | 2 ++ man/rmd160.3 | 2 ++ man/sha1.3 | 2 ++ man/sha2.3 | 2 ++ 4 files changed, 8 insertions(+) commit ee0b22997a6df7715933fb608a35d67838e0f8e4 Author: Guillem Jover <guillem@hadrons.org> Date: Sun May 29 03:22:21 2011 +0200 Initial import from OpenBSD and NetBSD include/md2.h | 29 ++ include/md4.h | 52 ++++ include/md5.h | 51 ++++ include/rmd160.h | 62 ++++ include/sha1.h | 59 ++++ include/sha2.h | 118 ++++++++ man/mdX.3 | 225 ++++++++++++++ man/rmd160.3 | 239 +++++++++++++++ man/sha1.3 | 233 +++++++++++++++ man/sha2.3 | 281 ++++++++++++++++++ src/helper.c | 96 ++++++ src/md2.c | 178 ++++++++++++ src/md4.c | 231 +++++++++++++++ src/md5.c | 248 ++++++++++++++++ src/rmd160.c | 371 +++++++++++++++++++++++ src/sha1.c | 235 +++++++++++++++ src/sha2.c | 873 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 17 files changed, 3581 insertions(+) usr/share/doc/libedit/ChangeLog 0000644 00000024763 15125517214 0012431 0 ustar 00 * See also NetBSD changelog: http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libedit 2021-02-16 Jess Thrysoee * version-info: 0:64:0 * all: sync with upstream source 2019-12-31 Jess Thrysoee * version-info: 0:63:0 * configure.ac: Support -ltinfo as split in newer ncurses The newer versions of ncurses support building terminfo routines as a split -ltinfo library. Patch by Michał Górny 2019-12-11 Jess Thrysoee * version-info: 0:62:0 * all: sync with upstream source 2019-10-25 Jess Thrysoee * version-info: 0:61:0 * all: sync with upstream source 2019-03-24 Jess Thrysoee * version-info: 0:60:0 * all: sync with upstream source 2018-12-09 Jess Thrysoee * version-info: 0:59:0 * all: sync with upstream source 2018-05-25 Jess Thrysoee * version-info: 0:58:0 * all: sync with upstream source 2017-05-22 Jess Thrysoee * version-info: 0:57:0 * all: sync with upstream source * libedit.pc.in: Ncurses should not be a part of public link interface. Patch by Yegor Timoshenko 2017-03-29 Jess Thrysoee * version-info: 0:56:0 * all: sync with upstream source 2016-09-03 Jess Thrysoee * version-info: 0:55:0 * all: sync with upstream source 2016-06-18 Jess Thrysoee * version-info: 0:54:0 * all: sync with upstream source * deprecate option --enable-widec. Upstream now always build with unicode (wide-char/UTF-8) support. 2015-03-25 Jess Thrysoee * version-info: 0:53:0 * all: sync with upstream source 2014-10-30 Jess Thrysoee * version-info: 0:52:0 * all: sync with upstream source * configura.ac: Fix posix shell portability issue. Patch by Ryo Onodera. 2014-06-20 Jess Thrysoee * version-info: 0:51:0 * all: sync with upstream source 2014-06-18 Jess Thrysoee * version-info: 0:50:0 * all: sync with upstream source - add weak alias patches 2014-06-18 Jess Thrysoee * version-info: 0:49:0 * all: sync with upstream source. 2014-02-13 Jess Thrysoee * version-info: 0:48:0 * all: sync with upstream source. * examples/fileman.c: Fix typo. Patch by Kamil Dudka. * Makefile.am, configure.ac: Add --enable-examples configure parameter. Make it possible to enable/disable building of the examples programs. Patch by James Le Cuirot. 2013-07-12 Jess Thrysoee * version-info: 0:47:0 * all: sync with upstream source. * examples/fileman.c, examples/tc1.c: fix pedantic compiler warnings 2013-07-10 Jess Thrysoee * version-info: 0:46:0 * configure.ac, src/el.c: ~/.editrc was never sourced on Linux. On Linux issetugid is not available. When unable to determine if the current process is tainted, we did not trust the HOME environment variable and therefore could not load ~/.editrc. Now instead use secure_getenv or a issetugid based implementation of secure_getenv. Patch by Paolo Tosco. 2013-06-11 Jess Thrysoee * version-info: 0:45:0 * configure.ac: fix AM_CONDITIONAL regression for strlcpy, strlcat, vis, unvis checks. 2013-06-08 Jess Thrysoee * version-info: 0:44:0 * configure.ac, src/Makefile.am: Prevent 'ranlib: has no symbols' build warnings for systems that has strlcpy, strlcat, vis, unvis. 2013-06-01 Jess Thrysoee * version-info: 0:43:0 * all: sync with upstream source. 2012-12-13 Jess Thrysoee * version-info: 0:42:0 * all: sync with upstream source. 2012-06-01 Jess Thrysoee * version-info: 0:41:0 * all: sync with upstream source. 2012-05-22 Jess Thrysoee * version-info: 0:40:0 * all: sync with upstream source. 2012-03-11 Jess Thrysoee * version-info: 0:39:0 * all: sync with upstream source. 2011-08-02 Jess Thrysoee * version-info: 0:38:0 * all: sync with upstream source. 2011-07-09 Jess Thrysoee * version-info: 0:37:0 * all: sync with upstream source. 2011-02-27 Jess Thrysoee * version-info: 0:36:0 * all: sync with upstream source. 2010-04-24 Jess Thrysoee * version-info: 0:35:0 * all: sync with upstream source. Now with UTF-8 support. To enable this run 'configure --enable-widec'. For now an UTF-32 encoded wchar_t is required. This requirement is met on NetBSD, Solaris and OS X for any UTF-8 locale, and any system that define __STDC_ISO_10646__ (e.g. GNU libc on Linux). 2009-09-23 Jess Thrysoee * version-info: 0:34:0 * all: apply Apple patches from: http://opensource.apple.com/source/libedit/libedit-11/patches 2009-09-05 Jess Thrysoee * version-info: 0:33:0 * all: Use predefined macro __sun to identify Solaris * src/el.c: Ignore comment lines in .editrc 2009-07-23 Jess Thrysoee * version-info: 0:32:0 * all: sync with upstream source. 2009-06-10 Jess Thrysoee * version-info: 0:31:0 * all: sync with upstream source. 2009-05-03 Jess Thrysoee * version-info: 0:30:0 * all: sync with upstream source. 2009-04-05 Jess Thrysoee * version-info: 0:29:0 * all: sync with upstream source. 2009-01-11 Jess Thrysoee * version-info: 0:28:0 * all: sync with upstream source. MAJOR.MINOR version is now 3.0. This is due to NetBSD changing time_t and dev_t to 64 bits. It does not really effect this package. * configure.ac: Remove '--enable-debug' configure flag. The autoconf way to control flags is by specifying them when running configure, e.g. 'CFLAGS="-O0 -g" ./configure' 2008-07-12 Jess Thrysoee * version-info: 0:27:0 * configure.ac: Added '--enable-debug' configure flag, to produce debugging information. * examples/fileman.c: cast stat struct members, st_nlink and st_size, appropriately (see also 'man 2 stat'). Patch by Alex Elder. * all: sync with upstream source. MINOR version is now 11. 2007-08-31 Jess Thrysoee * version-info: 0:26:0 * libedit.pc.in,Makefile.am,configure.ac,patches/extra_dist_list.sh: Added pkg-config support for libedit. Patch by Masatake YAMATO. 2007-08-13 Jess Thrysoee * version-info: 0:25:0 * all: sync with upstream source. 2007-03-02 Jess Thrysoee * version-info: 0:24:0 * all: sync with upstream source. 2006-10-22 Jess Thrysoee * version-info: 0:23:0 * src/shlib_version: Upstream bumped minor version from 9 to 10. * all: sync with upstream source. More readline functions. 2006-10-22 Jess Thrysoee * version-info: 0:22:0 * all: sync with upstream source. 2006-08-29 Jess Thrysoee * version-info: 0:21:0 * all: License cleanup. All 4-clause advertising BSD licenses has been changed to the 3-clause version by upstream. * src/fgetln.c: use src/tools/compat/fgetln.c instead of othersrc/libexec/tnftpd/libnetbsd/fgetln.c 2006-08-16 Jess Thrysoee * version-info: 0:20:0 * all: sync with upstream source. 2006-06-03 Jess Thrysoee * version-info: 0:19:0 * COPYING: added global license file * all: sync with upstream source. 2006-02-13 Jess Thrysoee * version-info: 0:18:0 * src/readline.c: Partial rl_getc_function support, patch by Kjeld Borch Egevang. * src/readline.c: Make write_history and read_history returncode readline compatible. Upstream patch. 2006-01-03 Jess Thrysoee * version-info: 0:17:0 * patches/cvs_export.sh: strlcat.c and strlcpy.c was moved to src/common/lib/libc/string in the upstream cvs repository. * all: sync with upstream source. 2005-10-22 Jess Thrysoee * version-info: 0:16:0 * patches/*.patch, configure.ac: define SCCSID, undef LIBC_SCCS. Remove fourteen cosmetic patches. * all: sync with upstream source. 2005-09-11 Jess Thrysoee * version-info: 0:15:0 * src/Makefile.am: fix typo that meant generated files were distributes, and make generated file targets dependent on the the 'makelist' input files. * all: sync with upstream source. This is just a manpage update 2005-08-28 Jess Thrysoee * version-info: 0:14:0 * src/sys.h: include config.h to avoid "redefinition of `u_int32_t'". Patch by Norihiko Murase. * src/search.c: explicitly include sys/types.h, because regex.h on FreeBSD needs it and does not include it itself. Patch by Norihiko Murase. * acinclude.m4: added EL_GETPW_R_DRAFT test and use AC_TRY_LINK instead of AC_TRY_COMPILE. Suggested by Norihiko Murase. * all: sync with upstream source. 2005-08-16 Jess Thrysoee * version-info: 0:13:0 * all: sync with upstream source. 2005-08-05 Jess Thrysoee * version-info: 0:12:0 * all: sync with upstream source. 2005-07-24 Jess Thrysoee * version-info: 0:11:0 * histedit.h, histedit.c, readline.c, editline/readline.h: From upstream; added remove_history(). 2005-07-07 Jess Thrysoee * version-info: 0:10:0 * history.c, key.c: From upstream source; Fix memory leaks found by valgrind. 2005-06-28 Jess Thrysoee * version-info: 0:9:0 * src/readline.c: getpwent_r is not POSIX, always use getpwent. Reported by Gerrit P. Haase. * src/Makefile.am: Added libtool -no-undefined. This is needed on Cygwin to get a shared editline library. Should not affect other platforms. Suggested by Gerrit P. Haase. 2005-06-15 Jess Thrysoee * version-info: 0:8:0 * all: sync with upstream source. 2005-06-01 Jess Thrysoee * version-info: 0:7:0 * all: sync with upstream source. * src/readline.c, src/filecomplete.c: Solaris use POSIX draft versions of getpwent_r, getpwnam_r and getpwuid_r which return 'struct passwd *'. Define HAVE_GETPW_R_POSIX if these functions are (non draft) POSIX compatible. Patch by Julien Torrès. 2005-05-28 Jess Thrysoee * version-info: 0:6:0 * all: sync with upstream source. 2005-03-11 Jess Thrysoee * version-info: 0:5:0 * all: sync with upstream source. 2004-12-07 Jess Thrysoee * version-info: 0:4:0 * src/readline.c: d_namlen (in struct dirent) is not portable, always use strlen. Patch by Scott Rankin. 2004-11-27 Jess Thrysoee * version-info: 0:3:0 * src/history.c: bug #26785 fixed upstream, removed local patch. 2004-11-06 Jess Thrysoee * version-info: 0:2:0 * all: sync with upstream source. * doc/Makefile.am: If mdoc2man fails, remove empty file. Patch by Darren Tucker. 2004-10-14 Jess Thrysoee * version-info: 0:1:0 * doc/Makefile.am: 'make install' twice fails. Remove old links before trying to link the man pages. Patch by Rick Richardson. 2004-09-28 Jess Thrysoee * version-info: 0:0:0 * acinclude.m4 configure.ac src/Makefile.am: Adhere to LibTools library interface versions recommendation. http://www.gnu.org/software/libtool/manual.html#SEC32 * doc/Makefile.am: name all manpage links as el_* (e.g. el_history.3) to avoid conflicts. 2004-09-08 Jess Thrysoee * all: Initial package. usr/share/doc/libtool/ChangeLog 0000644 00004330552 15125521605 0012460 0 ustar 00 2015-02-15 Gary V. Vaughan <gary@gnu.org> version 2.4.6 * NEWS: Record release date. 2015-02-06 Gary V. Vaughan <gary@gnu.org> libtool: don't execute automake and autoconf on every invocation. Regression from 2.4.2 was causing noticable slow-down in builds that call libtool many times. * build-aux/ltmain.in (func_help): Override func_help() from gl/build-aux/options-parser to only run automake --version and autoconf --version when libtool --help is executed on the command line. * NO-THANKS: Add Robert Yang. Reported by Robert Yang 2015-01-20 Gary V. Vaughan <gary@gnu.org> maint: undo copyright years regression. * gl/build-aux/options-parser: Undo copyright years regression. * bootstrap: Regenerate. bootstrap: sync with upstream. * gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, gl/build-aux/funclib.sh, gl/build-aux/options-parser: Sync with upstream. * bootstrap: Regenerate. 2015-01-20 Pavel Raiskup <praiskup@redhat.com> libtool: respect config.site LT_SYS_LIBRARY_PATH Libtool generator code needs to remember the configure time LT_SYS_LIBRARY_PATH content to allow config.status properly instantiate default LT_SYS_LIBRARY_PATH libtool run-time value; Thats because config.status has no idea what the contents of config.site file is (by default). * m4/libtool.m4 (_LT_CONFIG): Use the _LT_DECLared $configure_time_lt_sys_library_path variable as the default for LT_SYS_DLSEARCH_PATH at run-time. (_LT_SYS_DYNAMIC_LINKER): Don't change ac_cv_* variable if it is not necessary. New $configure_time_lt_sys_library_path variable. * NEWS: Update. libtool.m4: typofix, subst last '$' with quadrigraph * m4/libtool.m4 (_LT_LIBTOOL_TAG_VARS): Encase the configure/libtool shared function into parseable borders; for testing purposes. (func_munge_path_list): Typo s/$/@S|@/. * tests/configure-funcs.at: New testcase. * Makefile.am (TESTSUITE_AT): Mention new testcase. * NEWS: Update. tests: fix an ltdl dryrun race condition. * tests/testsuite.at (LT_AT_ACLOCAL): Inject a 1 second sleep after aclocal to ensure subsequently generated autotools files will be newer. * NEWS: Update. 2015-01-19 Gary V. Vaughan <gary@gnu.org> maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 2.4.5 * NEWS: Record release date. 2015-01-18 Gary V. Vaughan <gary@gnu.org> maint: update copyright statements to include 2015. * AUTHORS, HACKING, Makefile.am, NEWS, README.md, TODO, bootstrap, bootstrap.conf, build-aux/edit-readme-alpha, build-aux/git-hooks/commit-msg, build-aux/ltmain.in, cfg.mk, configure.ac, doc/libtool.texi, gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, gl/build-aux/funclib.sh, gl/build-aux/inline-source, gl/build-aux/options-parser, libltdl/README, libltdl/configure.ac, libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__argz_.h, libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h, libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h, libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c, libltdl/lt__alloc.c, libltdl/lt__argz.c, libltdl/lt__dirent.c, libltdl/lt__strl.c, libltdl/lt_dlloader.c, libltdl/lt_error.c, libltdl/ltdl.c, libltdl/ltdl.h, libltdl/ltdl.mk, libltdl/slist.c, libtoolize.in, m4/autobuild.m4, m4/libtool.m4, m4/ltargz.m4, m4/ltdl.m4, m4/ltoptions.m4, m4/ltsugar.m4, m4/ltversion.in, m4/lt~obsolete.m4, m4/m4.m4, tests/am-subdir.at, tests/archive-in-archive.at, tests/bindir.at, tests/cdemo.at, tests/cmdline_wrap.at, tests/configure-iface.at, tests/convenience.at, tests/ctor.at, tests/cwrapper.at, tests/darwin.at, tests/demo.at, tests/depdemo.at, tests/deplib-in-subdir.at, tests/deplibs-ident.at, tests/deplibs-mingw.at, tests/destdir.at, tests/dlloader-api.at, tests/dumpbin-symbols.at, tests/duplicate_conv.at, tests/duplicate_deps.at, tests/duplicate_members.at, tests/early-libtool.at, tests/exceptions.at, tests/execute-mode.at, tests/exeext.at, tests/export-def.at, tests/export.at, tests/f77demo.at, tests/fail.at, tests/fcdemo.at, tests/flags.at, tests/help.at, tests/indirect_deps.at, tests/infer-tag.at, tests/inherited_flags.at, tests/install.at, tests/lalib-syntax.at, tests/libtool.at, tests/libtoolize.at, tests/link-order.at, tests/link-order2.at, tests/loadlibrary.at, tests/localization.at, tests/lt_dladvise.at, tests/lt_dlexit.at, tests/lt_dlopen.at, tests/lt_dlopen_a.at, tests/lt_dlopenext.at, tests/ltdl-api.at, tests/ltdl-libdir.at, tests/mdemo.at, tests/need_lib_prefix.at, tests/no-executables.at, tests/nocase.at, tests/nonrecursive.at, tests/old-ltdl-iface.at, tests/old-m4-iface.at, tests/pic_flag.at, tests/recursive.at, tests/resident.at, tests/runpath-in-lalib.at, tests/search-path.at, tests/shlibpath.at, tests/slist.at, tests/standalone.at, tests/static.at, tests/stresstest.at, tests/subproject.at, tests/sysroot.at, tests/tagdemo.at, tests/template.at, tests/testsuite.at, tests/versioning.at, tests/with-pic.at: Update copyright statement to include 2015. * cfg.mk: Adjust old_NEWS_hash accordingly. 2015-01-16 Gary V. Vaughan <gary@gnu.org> gnulib: sync with upstream. * gnulib: Sync with upstream. * doc/.gitignore: Regenerate. 2015-01-16 Pavel Raiskup <praiskup@redhat.com> libtoolize: fix ltdl installation order. Fixes regression caused by commit 99a808be. Makefile.in has aclocal.m4 as prerequisite, so Makefile.in should be installed later to avoid unnecessary rebuild by (versioned) aclocal. * Makefile.am (pkgltdl_files): Move the Makefile.in file down in the list after aclocal.m4. * tests/libtoolize.at: Adjust to match reordered output. 2014-12-12 Gary V. Vaughan <gary@gnu.org> libtool: check Sun Pro CXX ABI postdeps at libtool time. * m4/libtool.m4 (_LT_PREPARE_CC_BASENAME): Factor cc_basename calculation into a shell function... (_LT_CONFIG_SAVE_COMMAND): ...and expand it into generated libtool script. (_LT_CC_BASENAME): Adjust accordingly. (_LT_FUNC_SUNCC_CSTD_ABI): Remove from here... * build-aux/ltmain.in (func_suncc_cstd_abi): ...and reimplement here. * m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Remove postdeps augmentation from here... * build-aux/ltmain.in (func_mode_link): ...and reimplement here just before postdeps are added. * NEWS: Update. libtool: more carefully avoid automatic -Cstd -Crun on Sun Pro CXX. * m4/libtool.m4 (_LT_FUNC_SUNCC_CSTD_ABI): New function factored out of repeated code. Take note of other known -Cstd incompatible compiler flags. (_LT_SYS_HIDDEN_LIBDEPS): Use it to determine whether -Cstd -Crun can be safely added to postdeps with Sun Pro CXX. * NEWS: Update. * NO-THANKS: Add Marc Glisse. Reported by Marc Glisse libtool: take care not to double-apply LT_SYS_LIBRARY_PATH. * m4/libtool.m4 (_LT_CONFIG_SAVE_COMMANDS): Copy configure-time LT_SYS_LIBRARY_PATH settings as default, but allow run-time override. (_LT_SYS_DYNAMIC_LINKER): Save the unmunged sys_lib_dlsearch_path_spec value, and use it for _LT_DECL, but then munge it with LT_SYS_LIBRARY_PATH for use in ltdl.m4 macros, such as LT_SYS_DLSEARCH_PATH. 2014-12-11 Pavel Raiskup <praiskup@redhat.com> libtool: support LT_SYS_LIBRARY_PATH for adjusting bad guesses. Revert 8728e07 and 440fee6. Some GNU/Linux distributions install libraries into /lib64 (or /usr/lib64) on 64-bit machines, while /lib (/usr/lib respectively) stays for multilib variant. Other distributions keep /usr/lib for 64-bit variant and reserve other directory for multilib. Detection of what approach a given system uses is difficult, however, especially because Glibc's ldconfig does not report the full and correct list of search paths. Allow the user to adjust Libtools heuristically determined search paths with the new LT_SYS_LIBRARY_PATH environment variable at both compile-time, when libtool is called, and at configure time. * m4/libtool.m4 (_LT_PREPARE_MUNGE_PATH_LIST): Define a new function to munge a libtool path list according to a user supplied colon-delimited path. (_LT_SYS_DYNAMIC_LINKER): Require _LT_PREPARE_MUNGE_PATH_LIST. Mark LT_SYS_LIBRARY_PATH as precious to autoconf (to survive automatic "autoreconf"). Call the new func_munge_path_list function on sys_lib_dlsearch_path_spec - this propagates results to generated libtool script. (_LT_CONFIG): Expand _LT_PREPARE_MUNGE_PATH_LIST into generated libtool script. * build-aux/ltmain.in (func_mode_link): Call it to adjust sys_lib_dlsearch_path according to LT_SYS_LIBRARY_PATH. * doc/libtool.texi: Document new LT_SYS_LIBRARY_PATH. * doc/notes.texi: Likewise. * NEWS: Update. References: http://thread.gmane.org/gmane.comp.gnu.libtool.general/8339/focus=8345 2014-12-11 Gary V. Vaughan <gary@gnu.org> maint: fix syntax-check failures. * m4/m4.m4 (AC_PROG_GNU_M4): Reverse some test arguments for sc_prohibit_test_const_follows_var. Remove some spurious braces for sc_useless_braces_in_variable_drefs. bootstrap: sync with upstream. * gl/build-aux/extract-trace (func_find_tool): Quote a bare variable expansion in a test argument. * bootstrap: Regenerate. 2014-12-05 Gary V. Vaughan <gary@gnu.org> libtool: s390x is also a 64bit glibc/ELF platform. * m4/libtool.m4 (_LT_SYS_DYNAMIC_LIB): Add s390x to glibc/ELF compatible CPUs that have /lib64 and /usr/lib64 in sys_lib_dlsearch_path_spec. Reported by Pavel Raiskup 2014-12-04 Gary V. Vaughan <gary@gnu.org> libtool: for 64bit GNU arches, add /lib64 and /usr/lib64 to sys_lib_dlsearch_path. * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) <linux*, k*bsd*-gnu> <kopensolaris*-gnu, gnu*>: If $host_cpu contains "64", add /lib64 and /usr/lib64 to sys_lib_dlsearch_path_spec. Reported by Orion Poplawski, Christian Rössel, Olly Betts et. al. libltdl: fix gcc compiler warning for unused attributes. * libltdl/ltdl.c, libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c: For at least gcc 4.8.3 and 4.9.1, __attribute__((__unused)) should follow the unused parameter declaration. * NO-THANKS: Add Дилян Палаузов. Reported by Дилян Палаузов 2014-12-04 Eric Bavier <bavier@cray.com> tests: do not assume compiler prefers shared libraries. Testing whether -static-libtool-libs causes a non-libtool library to be linked dynamically is effectively a test of the compiler's preference in this case. The Cray compiler prefers static libraries if not told otherwise. * tests/static.at [static linking flags for programs]: Do not expect -static-libtool-libs to fail. 2014-12-04 Norihiro Tanaka <noritnk@kcn.ne.jp> libtool: fix sys_lib_dlsearch_path_spec for ia64 HP-UX. The run-time loader does not search /usr/local or subdirectories by default on ia64 HP-UX. * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Fix sys_lib_dlsearch_path_spec for ia64 HP-UX. * NEWS: Update. 2014-12-04 Gary V. Vaughan <gary@gnu.org> libltdl: edit AM_CPPFLAGS correctly for libltdl/Makefile.am. * libltdl/ltdl.mk (AM_CPPFLAGS): Make sure the sed expression to remove the first libltdl/ on each line is not confused by misuse of linebreaks. * Makefile.am (lt_Makefile_am): Also edit out the duplicated include paths after libltdl/ elimination. * NEWS: Update. Reported by Michael Wobst 2014-12-04 Tijl Coosemans <tijl@FreeBSD.org> libtool: commit forgotten soname_spec for freebsd-elf in bb7cef9. * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) <freebsd-elf>: Set soname_spec correctly, per original patch. * NEWS: Update. 2014-12-03 Gary V. Vaughan <gary@gnu.org> bootstrap: sync with upstream for runtime M4 checking functions. * gl/build-aux/extract-trace: Sync with upstream for runtime M4 checking functions. * bootstrap: Regenerate. * NEWS: Update. configury: bail out early if GNU M4 is not on the path. Now that libtoolize requires an installed GNU M4 to parse configure.ac and aclocal.m4 sources for libltdl macros, let the user know at configure time when it is missing. * m4/m4.m4: New file for rejecting non-GNU and buggy GNU versions of M4. Copied from GNU Autoconf m4.m4. * Makefile.am (lt_aclocal_m4_deps): Add m4/m4.m4. * configure.ac (AC_PROG_GNU_M4): Call it. * NEWS: Update. Reported by Michael Felt 2014-11-29 Gary V. Vaughan <gary@gnu.org> maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 2.4.4 * NEWS: Record release date. gnulib: sync with upstream. * gnulib: sync with upstream. 2014-11-29 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> libtool: optional filename-based shlib versioning on aix. Support filename-based shared library versioning on AIX with the lib.so library filename extension, which is used with runtime linking only. Runtime linking is enabled by the -brtl linker flag for executables and the -G linker flag for Shared Objects. The behaviour is similar to Linux/SVR4 DT_SONAME, hence the name "aix-soname=svr4". * Makefile.am (TESTS_ENVIRONMENT): Pass with_aix_soname value via lt_cv_with_aix_soname into testsuite. * configure.ac: AC_SUBST with_aix_soname for testsuite. * libltdl/loaders/dlopen.c (vm_open): Use RTLD_MEMBER flag for dlopen when the filename does specify an archive member between "()". Otherways, retry with appending LT_SHARED_LIB_MEMBER when loading fails without but archive file seems to exist. * m4/libtool.m4 (dynamic_linker): Describe configured shared library versioning variant according to with_aix_soname and runtime linking. (soname_spec, library_names_spec, shlibpath_overrides_runpath) (postinstall_cmds, postuninstall_cmds, hardcode_direct) (hardcode_direct_absolute, no_undefined_flag) (allow_undefined_flag): Set according to with_aix_soname and runtime linking configuration. (export_symbols_cmds): Decorate symbols with the weak keyword. (archive_expsym_cmds): Create both shared libraries according to with_aix_soname and runtime linking configuration. Filter -brtl linker flag from compiler_flags for shared libraries due to its side effects. (enable_static): Respect with_aix_soname for disabling as well. * m4/ltdl.m4 (LT_SHARED_LIB_MEMBER): Define, set based on the value of the shared_archive_member_spec libtool variable. * m4/ltoptions.m4 (_LT_WITH_AIX_SONAME): New. Provides commandline option --with-aix-soname=aix|svr4|both. Declares $shared_archive_member_spec as libtool variable. (_LT_SET_OPTIONS): Define LT_INIT options "aix-soname=aix", "aix-soname=svr4", "aix-soname=both". Default is "aix-soname=aix". * doc/libtool.texi (LT_INIT): Document new options. * tests/deplibs-ident.at: To define whether this test should XFAIL, use hardcode_action, hardcode_direct, hardcode_direct_absolute configuration settings instead of platforms aix, bitrig, hppa-hpux, interix or openbsd. * tests/versioning.at: When shared_archive_member_spec is defined and LDFLAGS contain -brtl, we can run the versioning check. * NEWS: Update. 2014-11-28 Tijl Coosemans <tijl@FreeBSD.org> libtoolize: no need for umask 0 now that copying does not use tar. The umask calls seem to be left over as a workaround for several releases ago when libtoolize copied libltdl sources with the help of tar. Now that we use cp or ln -s exclusively, this just needlessly makes the files world writable; we should just respect the users' own umask setting. * libtoolize.in (func_copy): Remove umask 0 calls and simplify. 2014-11-28 Gary V. Vaughan <gary@gnu.org> maint: syntax-checks don't like ${ even in comments! * m4/ltdl.m4: Fix a comment to appease syntax-check rules. 2014-11-28 Tijl Coosemans <tijl@FreeBSD.org> libtool: use a modern library version scheme for freebsd-elf. * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Adopt downstream patch used by FreeBSD for versioned library filenames. * build-aux/ltmain.in (func_mode_link): Replace conflicting freebsd-elf version_type case branches with a single calculation setting major and versuffix to match downstream FreeBSD. libtool: split sco version into its own type. * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Set version type to "sco" for sco based hosts. * build-aux/ltmain.in (func_mode_link): Accept new "sco" version_type as equivalent to freebsd-elf. 2014-11-28 Gary V. Vaughan <gary@gnu.org> configury: detect dlsym underscore prefix without dlopen self. * m4/ltdl.m4 (LT_FUNC_DLSYM_USCORE): Compile, load and get the address of a symbol from a separate loadable module, rather than assuming dlopen self works. * NEWS: Update. Reported by KO Myung-Hun 2014-11-26 Gary V. Vaughan <gary@gnu.org> ltdl: fix a long standing duplicate `-ldl' bug in the link line. * m4/ltdl.m4 (LT_LIB_DLLOAD): Save contents of LIBS before calling AC_SEARCH_LIBS, which prepends to LIBS by default, and restore afterwards. We set LIBADD_DLOPEN and LIBADD_SHL_LOAD so that dynamic loader libraries can be added selectively only where they are needed. * NEWS: Update. 2014-11-21 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> tests: do not test undef symbols across shlibs on AIX. On AIX, undefined symbols across shared libraries can work only when the main program explicitly exports those symbols. As this is bad practice anyway and -no-undefined should be preferred, we skip this. * tests/template.at: Skip test with undef syms across libraries on AIX. tests: question mark is extended regex for non-GNU grep. Accepting \? for at-most-once in basic regex is a GNU grep extension, not accepted by AIX grep for example. * tests/libtool.at: Use \{0,1\} instead of ? with GREP. 2014-11-18 Gary V. Vaughan <gary@gnu.org> maint: Fox a resent smelling mystique. * build-aux/git-log-fix: ChangeLog edit. Reported by Eric Blake bootstrap: make sure gnulib file droppings are removed. * bootstrap.conf (libtool_cleanup_empty_dirs): Recent bootstrap updates set source_base to null, so we need to use ${x:-y} to override the null. Autoconf Shellology says that ancient BSD /bin/sh chokes on :- defaults, but bootstrap is a developer tool, and so we can reasonably expect a developer to have a working /bin/sh to run the bootstrap script. bootstrap: add missing debug preambles. * bootstrap.conf (libtool_prep, func_require_ltdl_dir) (libtool_require_package_url): Add missing $debug_cmd calls. 2014-11-18 Vincent Lefevre <vincent@vinc17.net> NEWS: Fix an ancient spelling mistake. * NEWS: s/propogate/propagate/. * cfg.mk (old_NEWS_hash): Update. 2014-11-17 Vincent Lefevre <vincent@vinc17.net> libtool: fix comment typo. * m4/libtool.m4: Fix -fvisbility=hidden typo in a comment. 2014-11-04 Gary V. Vaughan <gary@gnu.org> maint: fix a syntax-check failure. * tests/cmdline_wrap.at (fail_list): quote test arguments to satisfy failing syntax-checks. libtool: fix universal library building on darwin. * build-aux/ltmain.in (func_extract_archives): $basename is now spelled $sed_basename. * NO-THANKS: Update. Reported by Misty De Meo tests: update fat binary test case for modern darwin. * tests/darwin.at: Use "-arch x86_64", which works on modern Apple hardware, rather than "-arch ppc", which generally does not. tests: fix false positive in failed test check for cmdline_wrap.at. * tests/cmdline_wrap.at (fail_list): non-matching globs return as a plain unexpanded string, so we also need to test for file existence before expanding into fail_list. bootstrap: sync with upsteram. * gl/build-aux/bootstrap.in: Sync with upstream. * bootstrap: Regenerate. 2014-11-04 KO Myung-Hun <komh@chollian.net> libtool: support versioning on OS/2. * build-aux/ltmain.in (func_mode_link) <*-os2*>: Set major and versuffix. * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) <*-os2*>: Set version_type to windows. Add a version information to soname_spec. * NEWS: Update. libtool: support -export-symbols and -export-symbols-regex on OS/2. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) <*-os2*>: Set archive_expsym_cmds. * NEWS: Update. libtool: add -os2dllname option. On OS/2, if there are many DLLs whose prefix is the same and very long, the resulting DLLs are overwritten. Provide a new option to force a DLL name. * build-aux/ltmain.in (func_mode_help): Add a description for -os2dllname. (func_mode_link): Add -os2dllname. * doc/libtool.texi: Document it. * NEWS: Update. libtool: fix DLL creation/installation/uninstallation on OS/2. OS/2 can only load a DLL with a base name of 8 characters or less. Also, on OS/2 don't install or uninstall using a link. * build-aux/ltmain.in: Do not strip an import lib. * m4/libtool.m4: Set variables to fix DLL creation, installation and uninstallation. libtool: support -Zxxx options used on OS/2. * build-aux/ltmain.in (func_mode_link): Add -Z* case, treating them specially on os2 only. libtool: set lt_cv_deplibs_check_method to pass_all on OS/2. * m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): Same as the title. libtool: there is no need to relink DLLs on OS/2. * build-aux/ltmain.in (func_mode_link) <*-os2*>: need_relink=no. ltdl: OS/2 uses other APIs to load a DLL than LoadLibrary() on Windows. * m4/ltdl.m4: Remove os2* from a list for loadlibrary.la. libtool: support to link against static libraries on OS/2. * m4/libtool.m4 (_LT_COMPILER_PIC): Set lt_prog_compiler_static to $wl-static. libtool: don't eliminate duplications in $postdeps and $predeps on OS/2 * build-aux/ltmain.h (libtool_validate_options): Add *os2* to the list. 2014-11-03 Gary V. Vaughan <gary@gnu.org> configury: create installation dir before writing to it. * Makefile.am (install-scripts-local): Don't forget to make the installation target directory before writing to it. * NO-THANKS: Update. Reported by Allan McRae maint: .PHONY rules to protect gmake from pathological file names. * Makefile.am (.PHONY): Add install-scripts-local, check-interactive, check-noninteractive-old, check-noninteractive-new and check-noninteractive. 2014-11-02 Arkadiusz Miśkiewicz <arekm@maven.pl> tests: fix typo in cmdline_wrap skip check. * tests/cmdline_wrap.at (fail_list): fix a typo in loop script text. 2014-11-02 Gary V. Vaughan <gary@gnu.org> libtoolize: don't forget to remove old non-gnulib argz files. * libtoolize.in (all_pkgltdl_files): Add back argz.c and argz_.h, as installed by previous libtool releases. libltdl: move libltdl argz module into LT namespace. To avoid clashes with gnulib argz module in ltdl client projects, move ours into its own namespace. * libltdl/argz_.h, libltdl/argz.c, m4/argz.m4: Move from here... * libltdl/libltdl/lt__argz_.h, libltdl/lt__argz.c, m4/ltargz.m4: ...to here. * Makefile.am, libltdl/libltdl/lt__glibc.h, libltdl/ltdl.mk, libtoolize.in, m4/ltdl.m4: Adjust accordingly. * tests/libtoolize.at, tests/ltdl-api.at, tests/nonrecursive.at, tests/old-ltdl-iface.at: Adjust for different libtoolize output. * libltdl/.gitignore: Adjust accordingly. * NEWS: Update. Reported by Pavel Raiskup maint: whitespace cleanup. * Makefile.am ($(thanks)): Fix several whitespace syntax-check failures. 2014-11-02 Pavel Raiskup <praiskup@redhat.com> libtoolize: do not remove gnulib files with --force. * libtoolize.in (func_require_seen_libtool): Do not remove snippet/* files which are from Gnulib. 2014-10-30 Gary V. Vaughan <gary@gnu.org> tests: set bindir and libdir at configure time. In particular, openSuSE on x86_64 uses CONFIG_SITE to set libdir to "${exec_prefix}/lib64", which confuses testcases that check the contents of "${prefix}/lib". In general, tests that expect to find installed files in specific directories should explicitly set those directories at configure time. * tests/testsuite.at (LT_AT_CONFIGURE): Make sure exec_prefix, bindir and libdir point to known subdirectories we can check the contents of later on in a test case. (prefixdir): Rename from this... (prefix): ...to this. All test cases that set or use the config prefix directory must now refer to `prefixdir` for the helper macros in this file to work in hostile build environments such as CONFIG_SITE setting openSuSE. * tests/demo.at, tests/depdemo.at, tests/mdemo.at, tests/tagdemo.at: Adjust accordingly. Reported by Peter Breitenlohner. 2014-10-29 Reuben Thomas <rrt@sc3d.org> libtool: -rdynamic support for tcc. * m4/libtool.m4 (_LT_LINKER_SHLIBS) <linux*>: Set export_dynamic_flag_spec appropriately when using tcc. libtool: preliminary support for tcc on linux*. * m4/libtool.m4 (_LT_LINKER_SHLIBS) <linux*>: Set archive_cmds and ld_shlibs appropriately when using tcc. * NEWS: Update. 2014-10-29 Gary V. Vaughan <gary@gnu.org> maint: fix README-alpha version match. With simplified release version numbering (thank you, git!), be careful to recognize four part alpha versions, or short git revision suffixed alpha versions correctly. * Makefile.am (re_odd_version): Remove. (re_alpha_version): Recognize alpha version numbers. ($(readme)): Adjust accordingly. maint: autogenerate THANKS. More automation == less time wasted on menial tasks. * build-aux/thanks-gen: script inspired by coreutils. * Makefile.am (THANKS): Based on rule from coreutils/Makefile.am. * NO-THANKS: New file. Configure thanks-gen output. * THANKS: Remove. maint: fix prefix and suffix installs for libtoolize. * Makefile.am (install-data-local): Depend on new install-scripts-local, and move libtoolize install from here... (install-scripts-local): ...to here. Pass libtoolize destination through program transform expression. (uninstall-hook): Likewise, prior to removal. * NEWS: Update. * THANKS: Update. Reported by Václav Zeman 2014-10-27 Gary V. Vaughan <gary@gnu.org> maint: move Peter O'Gorman and Ralf Wildenhues to past maintainers. * AUTHORS: Move Peter O'Gorman and Ralf Wildenhues from current to past maintainers list. maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 2.4.3 * NEWS: Record release date. bootstrap: sync with upstream. * gl/build-aux/bootstrap.in, gl/build-aux/funclib.sh: Sync with upstream. * bootstrap: Regenerate. testsuite: fixes required for `make distcheck CC=g++`. * tests/demo.at (Pdemo conf): Overide _LT_DEMO_SETUP foo.h to declare foo2. * tests/mdemo.at (_LT_SETUP): Don't wrap `sub` dectlaration in C++ guards, because sub.c is also compiled with g++ in this test. * tests/old-ltdl-iface.at (old.c): Add a return type to main declaration as required by C++. maint: fix a typo in THANKS. * THANKS: s/macports\.com/macports.org/ syntax-check: use strlcpy instead of strncpy. * libltdl/loaders/dyld.c (vm_sym): Use strlcpy to pacify syntax checks. * libltdl/ltdl.c (try_dlopen): Likewise. 2014-10-25 Gary V. Vaughan <gary@gnu.org> libtool: fix GCC linking with -fstack-protector. * build-aux/ltmain.in (func_mode_link): Pass -fstack-protector* to the linker as it is required at link time to resolve libssp symbols. From Yaakov Selkowitz libtool: support Mac OS 10.10 and newer. The current template mistakenly treats a MACOSX_DEPLOYMENT_TARGET value of "10.10" as "10.1" followed by junk. Thinking that the build is targeting 10.1 Puma instead of 10.10 Yosemite, it tells the linker to ignore undefined symbols instead of dynamically resolving them. This can cause runtime crashes* and will affect subsequent versions of OS X. * libtool.mk (_LT_REQUIRED_DARWIN_CHECKS): Improve case match so as to reject 10.10.x on the 10.1 and 10.2 branch. * THANKS: Add Lawrence Velázquez. From Lawrence Velázquez bootstrap: commit latest to avoid regeneration at build time. * bootstrap: Regenerate. gnulib: sync with upstream. * gnulib: Sync with upstream. 2014-05-13 Peter Rosin <peda@lysator.liu.se> libtool: delay expansion of $ECHO until the wrapper script runs Expanding $ECHO too early leads to unquoted \n when ECHO='printf %s\n'. Fixes bug#17478. Reported by Egmont Koblinger. * build-aux/ltmain.in (func_emit_wrapper) [fast_install]: Quote the $ECHO, and delay the expansion. 2014-05-06 Peter Rosin <peda@lysator.liu.se> libtool: fix nm test for MSYS/MinGW The check for the -B option of nm does not work as intended on MSYS/MinGW. MSYS converts /dev/null to the DOW/Windows "equivanent" special file NUL, but the MinGW nm treats this file as any empty file. This means that you might end up with some fallback nm instead of the desired nm. This is not normally a problem, but if one nm is built without lto support, it starts to matter. Fixes sr #108558, reported by LRN. * m4/libtool.m4 (LT_PATH_NM) [MSYS]: Use a non-existant file instead of /dev/null when checking if nm supports -B. 2014-05-05 Peter Rosin <peda@lysator.liu.se> libtool: speed up ltwrapper_script detection in execute mode Execute mode is slow and might even DOS the computer in extreme cases when a parameter is a big binary file without newlines. Work around this with different truncation if a suitable dd utility is found. Fixes bug#13472 and bug#16662. Reported by Pavel Raiskup and Nick Bowler. * m4/libtool.m4 (_LT_PATH_DD): New macro, for finding a dd utility that works for the below purpose. (_LT_CMD_TRUNCATE): New macro, for finding out how to truncate binary pipes (fallback to the old sed truncation if no suitable dd is found in _LT_PATH_DD). (_LT_SETUP): Require _LT_CMD_TRUNCATE. (LT_INIT): Require Autoconf 2.62, as needed by _LT_PATH_DD. * build_aux/ltmain.in (func_lalib_p): Factor out the actual "generated by libtool" test into... (func_generated_by_libtool_p): ...this new function... (func_ltwrapper_script_p): ...so that it can be reused here, when truncating the pipe according to _LT_CMD_TRUNCATE. * THANKS: Update. 2014-05-02 Peter Rosin <peda@lysator.liu.se> libtool: prevent lto from stripping the magic cookie from the cwrapper Whole program optimization may remove unused symbols unless told they are really needed. Fixes sr #108559 reported by LRN. * build-aux/ltmain.in (func_emit_cwrapperexe_src:MAGIC_EXE): Try to ensure that the magic cookie is preserved. 2014-02-12 Peter Rosin <peda@lysator.liu.se> tests: sprinkle -no-undefined when linking libraries * tests/duplicate_conv.at, tests/f77demo.at, tests/fcdemo.at: Here. 2014-02-12 Peter Rosin <peda@lysator.liu.se> libtool: actually strip -Wl when relinking with $LD Fixes the regression from commit v2.4.2.444 which is causing a testsuite failure in duplicate_conv.at (seen on Cygwin). * build-aux/ltmain.in (func_mode_link): $reload_cmds typically starts with "$LD$reload_flag ..." when $LD is used to relink. Make the case expression match that when checking if $LD is in fact used to relink. 2014-02-10 Peter Rosin <peda@lysator.liu.se> bootstrap: fix description of func_sort_ver to match recent sort change gl/build-aux/funclib.sh: Update comment to match reality. bootstrap: Regenerate. 2014-02-05 Gary V. Vaughan <gary@gnu.org> doc: remove redundant "in order to" phrase where possible. * doc/libtool.texi: Remove many occurrences of the redundant phrase "in order to", where ever "to" is as clear or clearer. * THANKS: Add attribution. Reported by Dave Yost 2014-02-03 Bruce Korb <bkorb@gnu.org> (tiny change) bootstrap: check for git tree with .git/. in case of soft links. * gl/build-aux/bootstrap.in (func_require_git): Use `test -d .git/.` to defeat soft-links versus non-GNU test. * bootstrap: Regenerate. * THANKS: Remove duplicate Bruce Korb entry. 2014-01-27 Gary V. Vaughan <gary@gnu.org> (tiny change) bootstrap: use `-d .git` to check whether we are in a git tree. * gl/build-aux/bootstrap.in (func_require_git): .git is not a regular file, use -d to check its existence. * bootstrap: Regenerate. * THANKS: Add Bruce Korb. Reported by Bruce Korb 2014-01-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> libtool: opt_duplicate_compiler_generated_deps is harmful on Solaris Fix for http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452. * build-aux/ltmain.in (libtool_validate_options): disable the opt_duplicate_compiler_generated_deps optimization for Solaris2 so that gcc-4.9+ compiled C++ code with -Wl,-Bdirect on 64-bit Solaris x86 can avoid unwinding failures caused by accidental mixing of the libc and libgcc_s unwinders in a single executable. 2014-01-15 Gary V. Vaughan <gary@gnu.org> bootstrap: check for git checkout correctly. * gl/bulid-aux/bootstrap.in (func_require_git): Use .git instead of .gitignore to recognise a git checkout. * bootstrap: Regenerate. 2014-01-11 Todd C. Miller <Todd.Miller@courtesan.com> (tiny change) libtoolize: don't remove install-sh. If you are not using automake, libtoolize would remove install-sh. It needs the same treatment as config.guess and config.sub. * libtoolize.in (func_require_seen_libtool): Remove install-sh from $all_pkgaux_files, the list of files removed by `libtoolize --force`. * THANKS: Add Todd C. Miller. * NEWS: Update. 2014-01-07 Gary V. Vaughan <gary@gnu.org> options-parser: --version works with 'DO NOT EDIT' preamble again. * gl/build-aux/options-parser (func_version): Don't quit on first leading '##' line, otherwise DO NOT edit warnings prevent version information from being extracted correctly. * bootstrap: Regenerate. bootstrap: specify particular version in buildreq with =x.y. * gl/build-aux/bootstrap.in (func_check_versions): If the version number begins with '=' then it must match the installed version of the named tool exactly. * gl/doc/bootstrap.texi (buildreq): Document the '=vernum' feature. * bootstrap: Regenerate. 2014-01-05 Gary V. Vaughan <gary@gnu.org> bootstrap: remove conftest.sed file droppings. * gl/build-aux/funclib.sh: Remove conftest.sed when no longer needed. * bootstrap: Regenerate. 2014-01-04 Gary V. Vaughan <gary@gnu.org> bootstrap: replace spurious hyphen in some section comments. * gl/build-aux/bootstrap.in: replace spurious hypen in same section header comments with a space. * gl/build-aux/extract-trace, gl/build-aux/options-parser: Likewise. * bootstrap: Regenerate. 2014-01-03 Gary V. Vaughan <gary@gnu.org> inline-source: DO NOT EDIT warning only for top-level file. * gl/build-aux/inline-source (func_include): When recursing, pass through the value of `magic` so that only the very first #! magic number has a DO NOT EDIT warning injected. * bootstrap: Regenerate. inline-source: gawk doesn't have boolean constants. I've been writing a lot of Lua lately, but still a silly mistake:( * gl/build-aux/inline-source (func_include): Use `magic` variable to count #! lines found, and only output the DO NOT EDIT warning after the first one. edit-readme-alpha: adjust for recent README edits. * build-aux/edit-readme-alpha: Adjust regexps for recent README improvements. * README.md: Fix a SPACE-TAB sanity check failure. bootstrap: fix test-dollar sanity check failure. * gl/build-aux/bootstrap.in (func_ensure_README): quote argument. * bootstrap: Regenerate. libtool: rearrange header comments for correct version/help extraction. * m4/libtool.m4 (_LT_COPYING): Rearrange the comments output to the generated libtool script so that --version and --help behave the same as pre-funclib.sh revisions. (_LT_CONFIG_SAVE_COMMANDS): Likewise. README: Tweak into markdown format and fix some bitrot. * README: Moved from here... * README.md: ...to here. Make some changes to be valid markdown format, and fix some inaccuracies in text that is out of date. * .gitignore: Add README. bootstrap: support automake README requirement. * gl/build-aux/bootstrap.in (func_ensure_README): New function. Link missing README to existing alternative naming. (require_automake_options): New functions. Fetch AM_INIT_AUTOMAKE options from configure.ac. (func_reconfigure): If we're using automake, and it's not in foreign mode, link a README file if possible. * bootstrap: Regenerate. configury: use bootstrap ChangeLog management feature. * gl/build-aux/bootstrap.in (func_autoreconf): Accept an optional directory argument to pass to $AUTORECONF. Update doc-comment. * bootstrap.conf (func_reconfigure): Remove. Don't completely overwrite bootstrap's func_reconfigure, shadowing auto-ChangeLog management. (func_autopoint, func_libtoolize): Overwrite these un-needed calls instead. (libtool_autoreconf_libltdl): New hook function to run second autoreconf in libltdl directory. (libtool_force_changelog): Remove. This is all handled by bootstrap's func_reconfigure again. * bootstrap: Regenerate. bootstrap: force remove file droppings from previous run. Now that we generate bootstrap.new with no write permission, we have to force remove it before writing now content to the file. * bootstrap.in (require_bootstrap_uptodate): Remove old bootstrap.new output. * bootstrap: Regenerate. inline-source: add a DO NOT EDIT notice to generated files. * gl/build-aux/inline-source (func_include): Add a DO NOT EDIT notice below the #! magic number of generated files. * gl/build-aux/bootstrap.in (func_require_bootstrap_uptodate): Remove write bit from regenerated bootstrap.new if it differs from incumbent bootstrap. Change the update instructions to recommend `mv -f` to cope with no write permission on old bootstrap script. bootstrap: move included files below DO NOT EDIT comment. * gl/build-aux/bootstrap.in: Reorder sections to load external libraries as late as possible, leaving DO NOT EDIT comment visible near the top of the generated bootstrap script. maint: use before-save-hook in Emacs footers. Updating to Emacs 24 now gives me warnings about write-file-hooks being obsolete. * gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, gl/build-aux/funclib.sh, gl/build-aux/inline-source, gl/build-aux/options-parser: Set before-save-hook in Emacs file footers instead of obsolete write-file-hooks. libtoolize: use printf '%s\n' unconditionally. It's been a year since the as_echo probes were removed in Autoconf, so we can follow suit and remove our equivalent bs_echo probing now. Retain $ECHO in case users need to override default printf calls in museum piece environments. * gl/build-aux/funclib.sh (ECHO): Default to 'printf %s\n'. (bs_echo): Remove. Adjust all bs_echo callers to use $ECHO instead. * bootstrap: Regenerate. * NEWS: Update. 2014-01-02 Gary V. Vaughan <gary@gnu.org> bootstrap: push Peter's version sort fix back into funclib.sh. Peter's a7462c5 fix was applied to the generated bootstrap script instead of the funclib.sh source, and had have been overwritten the next time bootstrap was regenerated. * gl/build-aux/funclib.sh (func_sort_ver): Sort numerically on the non-primary keys as well. * bootstrap: Regenerate, with the change applied. 2014-01-01 Gary V. Vaughan <gary@gnu.org> maint: change history. * NEWS: Remove alpha release header. * cfg.mk (old_NEWS_hash): Update. libtool: only strip -Wl when linking with $LD. * build-aux/ltmain.in (func_mode_link): Don't strip -Wl from the linker flags, except when linking with $LD, otherwise compiler drivers that don't recognize and pass linker flags through will choke on unrecognized options. bootstrap: fix gitlog-to-changelog detection. * gl/build-aux/bootstrap.in (func_ifcontains): Use a for loop that relies on $IFS for element splitting instead of a one-shot case glob that is not tolerant to \n in $gnulib_modules. * THANKS: Add Reuben Thomas. Reported by Reuben Thomas maint: update copyright notices to include 2014. * .x-update-copyright: New file. Exclude files not owned by this project from update-copyright rules. * doc/libtool.texi: Replace m-dash with n-dash in texinfo copyright notice so that update-copyright matches correctly. Undo bogus copyright updates to example output from gdb session. Bump copyright year. * Changelog.old: Revert bogus updates from previous years without .x-update-copyright. AUTHORS, HACKING, Makefile.am, NEWS, README, THANKS, TODO, bootstrap, bootstrap.conf, build-aux/edit-readme-alpha, build-aux/git-hooks/commit-msg, build-aux/ltmain.in, cfg.mk, configure.ac, gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, gl/build-aux/funclib.sh, gl/build-aux/inline-source, gl/build-aux/options-parser, libltdl/README, libltdl/argz.c, libltdl/argz_.h, libltdl/configure.ac, libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h, libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h, libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c, libltdl/lt__alloc.c, libltdl/lt__dirent.c, libltdl/lt__strl.c, libltdl/lt_dlloader.c, libltdl/lt_error.c, libltdl/ltdl.c, libltdl/ltdl.h, libltdl/ltdl.mk, libltdl/slist.c, libtoolize.in, m4/argz.m4, m4/autobuild.m4, m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4, m4/ltsugar.m4, m4/ltversion.in, m4/lt~obsolete.m4, tests/am-subdir.at, tests/archive-in-archive.at, tests/bindir.at, tests/cdemo.at, tests/cmdline_wrap.at, tests/configure-iface.at, tests/convenience.at, tests/ctor.at, tests/cwrapper.at, tests/darwin.at, tests/demo.at, tests/depdemo.at, tests/deplib-in-subdir.at, tests/deplibs-ident.at, tests/deplibs-mingw.at, tests/destdir.at, tests/dlloader-api.at, tests/dumpbin-symbols.at, tests/duplicate_conv.at, tests/duplicate_deps.at, tests/duplicate_members.at, tests/early-libtool.at, tests/exceptions.at, tests/execute-mode.at, tests/exeext.at, tests/export-def.at, tests/export.at, tests/f77demo.at, tests/fail.at, tests/fcdemo.at, tests/flags.at, tests/help.at, tests/indirect_deps.at, tests/infer-tag.at, tests/inherited_flags.at, tests/install.at, tests/lalib-syntax.at, tests/libtool.at, tests/libtoolize.at, tests/link-order.at, tests/link-order2.at, tests/loadlibrary.at, tests/localization.at, tests/lt_dladvise.at, tests/lt_dlexit.at, tests/lt_dlopen.at, tests/lt_dlopen_a.at, tests/lt_dlopenext.at, tests/ltdl-api.at, tests/ltdl-libdir.at, tests/mdemo.at, tests/need_lib_prefix.at, tests/no-executables.at, tests/nocase.at, tests/nonrecursive.at, tests/old-ltdl-iface.at, tests/old-m4-iface.at, tests/pic_flag.at, tests/recursive.at, tests/resident.at, tests/runpath-in-lalib.at, tests/search-path.at, tests/shlibpath.at, tests/slist.at, tests/standalone.at, tests/static.at, tests/stresstest.at, tests/subproject.at, tests/sysroot.at, tests/tagdemo.at, tests/template.at, tests/testsuite.at, tests/versioning.at, tests/with-pic.at: Bump copyright year. gnulib: update to latest upstream revision. * gnulib: Update. tests: gcj cannot reliably compile directly to .o from .java Some 4.3.x and 4.4.x releases of gcj insert a spurious 'dummy' symbol into every object file when compiling directly from .java to .o: * tests/convenience.at (GCJ): make .class files from .java sources first, and then compile those to native objects. This works around http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42143 2014-01-01 Gary V. Vaughan <gary@gnu.org> testsuite: with SunStudio12.x f77, don't fail on system symbols Modern SunStudio f77 is just a wrapper for f90, which explains why current master fails these test groups with: Undefined first referenced symbol in file __f90_slw_ch .libs/foof2.o __f90_sslw .libs/foof2.o __f90_eslw .libs/foof2.o ld: fatal: symbol referencing errors. No output written to .libs/libfoo2.so.0.0.0 So we allow some undefined symbols in the libraries, which are resolved by the $(FLIBS) added to the final binaries in the tests. This seems like the simpler, and less error inducing solution to me (compared to adding $(FLIBS) to every library LDFLAGS line). * tests/f77demo.at (libfoo_la_LDFLAGS, libfoo2_la_LDFLAGS) (libfoo3_la_LDFLAGS, libmix_la_LDFLAGS): Remove -no-undefined flag. * tests/fcdemo.at: Likewise. 2014-01-01 Gary V. Vaughan <gary@gnu.org> maint: use $SED and $GREP, not sed and grep in all scripts. Choosing between hardcoding a tool's name, or using the shell variable with a path to the user's prefered implementation or configure's idea of the best available is a premature optimisation. * build-aux/ltmain.in, gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, gl/build-aux/funclib.sh, libtoolize.in: Use $SED and $GREP consistently throughout, instead of hardcoding sed and grep. * bootstrap: Regenerate. tests: use TESTS_ENVIRONMENT for EGREP and FGREP. Be consistent about passing commands to the testsuite, and use TESTS_ENVIRONMENT consistent. * Makefile.am (TESTS_ENVIRONMENT): Add EGREP and FGREP. * tests/testsuite.at: Remove EGREP and FGREP extractions from generated libtool script. tests: use $GREP throughout. Trust the user, and use $GREP from TESTS_EVVIRONMENT uniformly. * Makefile.am (TESTS_ENVIRONMENT): Add GREP setting. * tests/am-subdir.at, tests/archive-in-archive.at, tests/bindir.at, tests/configure-iface.at, tests/cwrapper.at, tests/darwin.at, tests/demo.at, tests/destdir.at, tests/dumpbin-symbols.at, tests/early-libtool.at, tests/execute-mode.at, tests/export-def.at, tests/export.at, tests/f77demo.at, tests/fcdemo.at, tests/flags.at, tests/help.at, tests/inherited_flags.at, tests/install.at, tests/lalib-syntax.at, tests/libtool.at, tests/libtoolize.at, tests/localization.at, tests/lt_dladvise.at, tests/lt_dlopen.at, tests/lt_dlopenext.at, tests/ltdl-api.at, tests/ltdl-libdir.at, tests/mdemo.at, tests/old-m4-iface.at, tests/pic_flag.at, tests/resident.at, tests/runpath-in-lalib.at, tests/search-path.at, tests/static.at, tests/sysroot.at, tests/template.at, tests/testsuite.at, tests/versioning.at: Replace all hardcoded grep invocations with $GREP. tests: use $SED throughout. Trust the user, and use $SED from TESTS_ENVIRONMENT uniformly. Hardcoding 'sed' for "simple" edits is a premature optimisation. * tests/cdemo.at, tests/cmdline_wrap.at, tests/cwrapper.at, tests/darwin.at, tests/demo.at, tests/duplicate_conv.at, tests/duplicate_members.at, tests/execute-mode.at, tests/export.at, tests/inherited_flags.at, tests/install.at, tests/libtoolize.at, tests/mdemo.at, tests/need_lib_prefix.at, tests/old-m4-iface.at, tests/sysroot.at, tests/tagdemo.at, tests/testsuite.at: Replace all hardcoded sed invocations with $SED. tests: run cmdline_wrap last, or not at all if anything else failed. * Makefile.am (TESTSUITE_AT): Move stresstest.at and cmdline_wrap.at to the end of the list. * tests/cmdline_wrap.at: If previous tests have failed, then we already know that rerunning them will fail too, so save time by skipping in that case. configury: remove spurious g modifier in sed expression. * Makefile.am (rebuild): Remove useless g modifier from sed expression. configury: use $(SED) where input does not end in newline. On Solaris machines the system sed does not process the last line of input unless it ends with a newline, which means it cannot be used to massage the output of git-version-gen, because it deliberately omits the terminating newline. * Makefile.am (rebuild): Use the sed command found by configure, which has a better chance of working properly than the first sed on PATH. tests: skip fcdemo checks when $FC cannot compile fortran90. Avoid spurious fcdemo failures when Autoconf picks f77 or similar for a fortran90 compiler. * tests/testsuite.at (LT_AT_TAG): Using FC and FCFLAGS from make TESTS_ENVIRONMENT, check that we really can compile fortran90 or else skip. funclib.sh: improve comments. * gl/build-aux/funclib.sh: Add a comment explaining the need for extra SED and GREP searches. 2013-12-09 Peter Rosin <peda@lysator.liu.se> maint: fix out-of-tree autoreconf w/o manual rebootstrap build-aux/ltmain.in: Look for funclib.sh and options-parser in the same location ltmain.in is found. 2013-11-19 Peter Rosin <peda@lysator.liu.se> bootstrap: fix version sort Reported by Ozkan Sezer who suffered from makeinfo 4.13 being detected as lesser than the required makeinfo 4.8. * bootstrap (func_sort_ver): Sort numerically on the non-primary keys as well. 2013-11-08 Peter Rosin <peda@lysator.liu.se> tests: Use a basic grep that matches the basic regexp style. Fixes a testsuite failure on Cygwin. * tests/tagdemo.at: Use grep instead of egrep. 2013-10-29 Gary V. Vaughan <gary@gnu.org> bootstrap: fix a quoting error. * gl/build-aux/bootstrap.in (func_require_buildreq_autoconf): Quote the extracted version number correctly so that it is displayed in verbose mode. 2013-10-28 Gary V. Vaughan <gary@gnu.org> funclib.sh: simplify version comparison functions. * gl/build-aux/funclib.sh (func_sort_ver): Much simplified. (func_lt_ver): New function, return true if arguments are in ascending order. * gl/build-aux/bootstrap.in: Simplify with func_lt_ver. * gl/build-aux/do-release-commit-and-tag.diff: Likewise. * bootstrap: Regenerate. Co-Authored-by: Paul Eggert <eggert@cs.ucla.edu> 2013-10-28 Gary V. Vaughan <gary@gnu.org> bootstrap: show found GREP and SED in verbose mode. * gl/build-aux/bootstrap.in (EGREP, FGREP, GREP, SED): Remove. These are already set by funclib.sh. (func_prep): After --verbose has been processed, show the paths to GREP and SED found by funclib.sh. * bootstrap: Regenerate. refactor: simplify program path searching in funclib.sh. * gl/build-aux/funclib.sh (func_path_progs): New function. Factor out common code from GREP and SED searches. (func_check_prog_sed, func_check_prog_grep): New functions, for non-common code. (scriptversion): Update. * bootstrap: Regenerate. bootstrap: search for a non-truncating grep binary. On at least Unixware 7.1.4, the first grep binary on PATH is unable to process the extract-trace scripts. * gl/build-aux/funclib.sh (GRUP): Search PATH for a grep binary that doesn't truncate its own output if available, and set GREP accordingly. * Makefile.am (SCRIPT_ENV): Add setting for GREP. * bootstrap: Regenerate. Reported by Tim Rice. bootstrap: search for a non-truncating sed binary. On at least Unixware 7.1.4, the first sed binary on PATH is unable to process the extract-trace scripts. * gl/build-aux/funclib.sh (PATH_SEPARATOR): Set to : or ; according to a feature test. (func_executable_p): New function. (SED): Search PATH for a sed binary that doesn't truncate its own output if available, and set SED accordingly. (scriptversion): Update. * Makefile.am (SCRIPT_ENV): New macro, for propagating configured variables. (ltdl_ac_aux_dir, $(ltmain_sh), install-data-local): Use it. * bootstrap: Regenerate. Reported by Tim Rice. 2013-10-27 Gary V. Vaughan <gary@gnu.org> tests: use autotest as_unset rather than rerolling $unset locally. On at least Unixware 7.1.4, the shell variable 'unset' gets set to 'no' during the testsuite run, breaking several test cases. We should have been using Autotest $as_unset anyway. * tests/testsuite.at (unset): Remove test and variable setting. (LT_AT_MAKE): Use $as_unset as provided by autotest boilerplate instead of our own $unset. * tests/demo.at (uninstalled libraries ave priority): Likewise. Reported by Tim Rice. maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. 2013-10-26 Gary V. Vaughan <gary@gnu.org> version 2.4.2.418 * NEWS: Record release date. gnulib: update to latest upstream revision. * gnulib: Update. gnulib: use func_sort_ver instead of GNU sort -V in do-release-commit-and-tag. * gl/build-aux/do-release-commit-and-tag: Source funclib.sh and then use portable func_sort_ver rather than force installation of all GNU coreutils just for sort -V support. refactor: move func_sort_ver from bootstrap.in to funclib.sh. * gl/build-aux/bootstrap.in (func_sort_ver): Move from here... * gl/build-aux/funclib.sh (func_sort_ver): ...to here. * bootstrap: Regenerate. tests: use K&R main() syntax for old-ltdl-iface.at. At least Mac OS 10.8.5 clang chokes on the previous 'const void *argv[]' parameter, but since we don't use it anyway, keep to the theme of old api support and use K&R syntax. * tests/old-ltdl-iface.at (old.c): Use 'main ()' instead of unportable 'int main (int argc, const void *argv[])'. libltdl: bump -version-info revision by 1. The only changes to libltdl sources since v2.4.2 have been cosmetic and stylistic. * libltdl/ltdl.mk (LTDL_VERSION_INFO): For a release with no interface changes C:R:A becomes C:R+1:A. maint: Update README-release for Makefile.inc -> ltdl.mk rename. * gl/top/README-release.diff: s/Makefile.inc/ltdl.mk/g maint: bump serials on m4 sources changed since v2.4.2. * m4/argz.m4: Bump serial to 6. * m4/libtool.m4: Bump serial to 58. * m4/ltdl.m4: Bump serial to 19. * m4/ltoptions.m4: Bump serial to 8. maint: fix a syntax-check violation from commit 12641bd. * build-aux/ltmain.in (func_mode_link): Reverse test operands to forestall misinterpretation of contests of shell variable as operand 1. 2013-10-10 Vadim Zeitlin <vz-libtool@zeitlins.org> (tiny change) libtool: Don't fall back to static libraries if building them was disabled If -no-undefined was not specified but the platform didn't support shared libraries with undefined symbols (e.g. Cygwin/ MinGW), static libraries were built instead of shared ones, even if building them was explicitly disabled with --disable- static configure option. Fix this by stopping with a fatal error if a shared library can't be built in this case instead of unexpectedly building a static library instead. * libltdl/config/ltmain.m4sh (func_mode_link()): Stop with fatal error when trying to build a shared library without -no- undefined on a platform not supporting undefined symbols in shared libraries. 2013-10-10 Brooks Moses <bmoses@google.com> libtool: Remove unneeded quotes in assignment. The quotes in this assignment cause "make syntax-check" to fail. Thus, this patch removes them. 2013-10-09 Fabian Groffen <grobian@gentoo.org> (tiny change) libtool: Fix x86_64-pc-solaris2.* GNU ld breakage Since commit [1] libtool tries to set a 64-bits target for GNU ld. However, it does so wrongly for x86_64-pc-solaris2.* targets, causing libtool to believe the linker is called ld_sol2. There is no such thing, and it obviously breaks things further down. Some people wrongly assume there is supposed to be an ld_sol2 on their systems, e.g. [2]. I think the original change is fragile, because it assumes it has all CHOSTs matched, then appends _sol2. In the wild, people have used amd64-pc-solaris2* too, so perhaps it would be safer if the code only appended _sol2 if there is actually an explicit target set. Anyhow, since the 64-bits sparc target is called sparc64-* or sparcv9-*, the sparc case is already correctly handled, so in the attached patch, I just added an x86_64-* case, although I could imagine relaxing the i?86 case to *86*-pc-solaris2* too. In any case, defaulting to a linker called ld_sol2 is wrong. [1] http://lists.gnu.org/archive/html/libtool-commit/2011-02/ msg00000.html [2] http://osdyson.org/issues/8 2013-10-09 Olivier Blin <olivier.blin@softathome.com> (tiny change) libtool: Fix detection of ld version with parentheses. ld from crosstool-NG reports a version string with an extra version number in a parenthetical note: GNU ld (crosstool-NG 1.13.0) 2.21.1 This made libtool assume that the ld version was the crosstool-NG version (1.13.0) instead of the real ld version (2.21.1). To fix the ld version string, this patch filters out any string between parentheses that is followed by a space. Because of this bug, filtering of exported symbols was not taking place with crosstool-NG toolchains. This issue has bee noticed when building pango, which exported harfbuzz symbols that should have remained hidden. 2013-10-09 Brooks Moses <bmoses@google.com> libtool: Fix comment indentation This trivial patch fixes indentation on a comment to match the style used elsewhere in m4/libtool.m4. 2013-10-09 DJ Delorie <dj@redhat.com> libtool: Add TPF settings for LT_SYS_DLOPEN_SELF * m4/libtool.m4: Since we know that all TPF builds are cross- builds, do not attempt to run linker tests during config. Use known constants instead, since we know how dlopen() is implemented. 2013-10-09 Vincent Lefevre <vincent@vinc17.net> (tiny change) libtool: Fix $wl setting for tcc on GNU systems (This addresses http://bugs.debian.org/663945. See there for more-detailed discussion.) tcc gained support for "-Wl,-rpath -Wl,<directory>" in its commit 7fb0482a ("Support linker options passed in several -Wl param", 2012-03-14) but libtool doesn't know to use it. Teach it. Without this change, running "make check" on MPFR when it has been built with tcc and shared libraries doesn't work because libtool generates a -rpath option, which tcc doesn't support. 2013-10-09 Peter Johansson <trojkan@gmail.com> libtool: use AS_HELP_STRING in LT_WITH_SYSROOT help message. This patch fixes so help output is formatted similar with other macros using AS_HELP_STRING. Also it outputs '[=DIR]' as I suspect intended rather than '=DIR'. 2013-10-09 Joseph Prostko <joe.prostko@gmail.com> (tiny change) libtool: Haiku change for shlibpath_overrides_runpath Pretty much all changes to Haiku for Libtool have been upstreamed, however we currently have an incorrect value for shlibpath_overrides_runpath. It should be "no" instead of "yes". Previously Scott McCreary had submitted patches for us, but I told him I would work to get this committed, as he is quite busy lately. Here is a commit he made to our Haiku Ports site though, that shows the exact change I am proposing done against Libtool 2.4.2. http://ports.haiku-files.org/browser/haikuports/sys-devel/ libtool/patches/libtool-2.4.2.patch 2013-10-09 Brooks Moses <bmoses@google.com> (tiny change) Johannes Obermayr <johannesobermayr@gmx.de> libtool: Discard "-mllvm $arg" options when linking. Clang accepts options of the form "-mllvm $arg", and passes the argument as an option to LLVM. These options caused problems for Libtool when linking; in some cases, the -mllvm option is passed through but the corresponding argument is dropped. (See for example http://llvm.org/bugs/show_bug.cgi?id=14716.) This patch resolves the issue by explicitly matching -mllvm and taking an argument. Since Clang never uses LLVM for linking, the matched "-mllvm $arg" option is irrelevant for the link step, and we can simply discard it once we've recognized it. 2013-10-09 Ondřej Bílka <neleai@seznam.cz> maint: Fix various comment and documentation typos. Ondřej writes: "Hi, this is upstream version of patch that I sent to gcc. I generated this patch with tool that I am writing: https://github.com/neleai/stylepp" (Note: The generated patch was adjusted to retain the non-US but correct spelling of 'rigourous' before commit. --Brooks) 2013-10-08 David 'Digit' Turner <digit@google.com> libtool: Add Android/Linux support. This patch adds proper Android support to libtool. The main issues are the following: - Versioned libraries are not supported by the platform and its build/packaging tools. - The dynamic linker is not GNU ld, there is no support for DT_RUNPATH. - Similarly, there is no ldconfig. 2013-09-17 Peter Rosin <peda@lysator.liu.se> libtool: trust -print-search-dirs from recent GCC Alan Modra hints in [1] that -print-search-dirs was fixed in GCC 4.2(?), so that it nowadays automatically appends -print-multi-os-directory for the applicable directories. I.e. it should no longer be necessary for libtool to append a second ../lib64 when GCC has already done so. Also, the multi-os appending loop seems to have been added specifically for early (arguably broken) bi-arch enabled GCCs that printed -m32 directories even though -m64 was the default [2]. So, my conclusion is that we want any libtool magic to affect -print-search-dirs output from contemporary GCCs as little as possible, while continuing to append the -print-multi-os-directory for the legacy case. Fixes bug#15321 reported by Ozkan Sezer. [1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20425 [2] http://lists.gnu.org/archive/html/bug-libtool/2006-09/msg00019.html * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): If any of the directories printed by -print-search-dirs ends with the content of -print-multi-os-directory, then assume that GCC adds the multi-os-directory where appropriate all by itself and hence don't try to second guess when to add it manually. * THANKS: Update. 2013-09-16 Gary V. Vaughan <gary@gnu.org> bootstrap: clean up spurious 'gnulib-cache.m4 missing' error. * gl/build-aux/bootstrap.in (func_reconfigure): Don't show an error when running without gnulib-cache.m4. * bootstrap: Regenerate. 2013-09-15 Gary V. Vaughan <gary@gnu.org> bootstrap: make ensure_changelog work for update mode projects. * gl/build-aux/bootstrap.in (func_bootstrap): Move func_changelog_ensure invocation from here... (func_reconfigure): ...to here. If gnulib_modules is empty, then grep gnulib-cache.m4 for gitlog-to-changelog before invoking func_changelog_ensure. * bootstrap: Regenerate. bootstrap: fetch defaults from gnulib-cache.m4 for non-imported projects. Recent changes uncovered some bugs in handling of gnulib-tool options for projects that check in gnulib-cache.m4 rather than keep a separate list of modules and options in bootstrap.conf. * gl/build-aux/bootstrap.in (func_require_doc_base) (func_require_gnulib_name, func_require_local_gl_dir): New functions to set defaults from gnulib-cache.m4 in projects that use gnulib-tool in --update mode. (func_require_gnulib_tool_base_options): Use them to fetch defaults. (func_require_gnulib_copy_cmd): New function to calculate the options required for gnlib-tool copy command. (func_gnulib_tool_copy_file): Simplify accordingly. (scriptversion): Bump. 2013-09-05 Gary V. Vaughan <gary@gnu.org> maint: normalise formatting of recent commit log entry. * build-aux/git-log-fix: Add a summary line to ChangeLog entry of most recent commit. 2013-09-05 Brooks Moses <bmoses@google.com> maint: add Brooks Moses to AUTHORS file. * AUTHORS: Add myself to committers list. 2013-08-29 Gary V. Vaughan <gary@gnu.org> bootstrap: gnulib_tool=true means no gnulib submodule. * gl/build-aux/bootstrap.in (func_require_gnulib_tool): No sneaking off and cloning gnulib when the user already specified gnulib_tool=true in their bootstrap.conf! * bootstrap: Regenerate. 2013-08-23 Alan Modra <amodra@bigpond.net.au> bootstrap: make first char of IFS a space. Putting tab first in IFS breaks func_echo_all usage of $*, resulting in failure of func_infer_tag to match a command line using a $CC with trailing spaces. The trailing spaces were stripped out of CC_expanded but words in $CC were separated by tabs. This didn't match the makefile expansion of $CC using the standard IFS with a first char of space. * gl/build-aux/funclib.sh (IFS): Make first char a space. * bootstrap: Regenerate. 2013-08-23 Gary V. Vaughan <gary@gnu.org> bootstrap: support --no-git and --no-po options. * gl/build-aux/bootstrap.in (bootstrap_parse_options): Accept --no-git as an alias for --skip-git for compatibility with gnulib bootstrap, and --no-po for symmetry. Reported by Mike Miller. bootstrap: support gnulib gnulib_tool_option_extras settings. * gl/build-aux/bootstrap.in (func_gnulib_tool): Even though we don't need it, support gnulib_tool_option_extras for bootstrap.conf ported from gnulib bootstrap. * bootstrap: Regenerate. Reported by Mike Miller. bootstrap: support sha1 binary on OpenBSD. * gl/build-aux/bootstrap.in (func_update_po_files): Remove the use of --status in a way that will suppress all error messages, but since this is only used to minimize updates, it shouldn't cause an issue. Look for a sha1 binary if the other SHA1SUM settings are not found. Also exit early if there is a problem updating the po file checksums. * bootstrap: Regenerate. Ported from a gnulib patch by Padraig Brady. bootstrap: support tools that don't accept '--version' in buildreq. * gl/build-aux/bootstrap.in (func_check_tool): Check whether there is an executable as given or on the command PATH. (func_check_version): Use func_check_tool to avoid invoking --version when buildreq specifies '-' for the version number. * bootstrap: Regenerate. Reported by Mike Miller. bootstrap: diagnose bad $buildreq formatting. Particularly when porting from gnulib bootstrap to libtool bootstrap, it's easy to forget the extra URL column used for error reporting. * gl/build-aux/bootstrap.in (func_check_versions): A non-URL pattern in the 3rd column of buildreq triggers a fatal error. * bootstrap: Regenerate. Reported by Mike Miller. 2013-08-23 Gary V. Vaughan <gary@gnu.org> (tiny change) bootstrap: support OpenBSD sed. * gl/build-aux/bootstrap.in (func_insert_if_absent): Work around the problem of OpenBSD sed not supporting '-' as a notation for standard input. * bootstrap: Regenerate. * THANKS: Add Mike Miller. Reported by Mike Miller. 2013-08-23 Steve Ellcey <sellcey@mips.com> Gary V. Vaughan <gary@gnu.org> libtool: set correct linker ABI flags on mips64 linux. m4/libtool.m4 (_LT_ENABLE_LOCK): Select the n32 or n64 ABI when linking to match the ABI produced with the user's compiler flags. 2013-08-23 Gary V. Vaughan <gary@gnu.org> maint: correct many abuses of the word "which". * HACKING, NEWS, TODO, bootstrap, bootstrap.conf, build-aux/ltmain.in, cfg.mk, configure.ac, doc/libtool.texi, doc/notes.texi, gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, gl/build-aux/funclib.sh, gl/doc/bootstrap.texi, libltdl/libltdl/lt_system.h, libltdl/loaders/loadlibrary.c, libltdl/lt__strl.c, libltdl/lt_dlloader.c, libltdl/ltdl.c, libtoolize.in, m4/libtool.m4, m4/ltdl.m4, m4/ltsugar.m4, m4/lt~obsolete.m4, tests/exceptions.at, tests/need_lib_prefix.at, tests/static.at: Use "which" correctly, or replace with "that", "where" or "what" as appropriate. 2013-08-23 Brook Moses <bmoses@google.com> libtool: improve comments for _LT_ENABLE_LOCK implementation. * m4/libtool.m4 (_LT_ENABLE_LOCK): enhance comments to explain why the code looks odd with 32bit flags in the 64bit section and vice versa. 2013-08-22 Alan Modra <amodra@bigpond.net.au> libtool: fix refixed unmangled powerpc*le-linux support patch * m4/libtool.m4: fix refixed badly unmangled hunks from earlier powerpc*le changeset. Reported by Peter Rosin. libtool: refix unmangled powerpc*le-linux support patch * m4/libtool.m4: refix badly unmangled hunks from earlier powerpc*le changeset. Reported by Peter Rosin. 2013-08-22 Gary V. Vaughan <gary@gnu.org> libltdl: don't trip subdir-objects warning from Automake >= 1.14. Latest Automake releases now warn when subdir-objects is not specified in preparation for Automake 2.0. The option has been in Automake for more than a decade, so there's minimal risk of someone using the next release of Libtool alongside an ancient release of Automake when bootstrapping libltdl client projects. * libltdl/configure.ac (AM_INIT_AUTOMAKE): Add subdir-objects. libtool: refactor powerpc*le-linux case branch expressions. libtool (_LT_ENABLE_LOCK): make inner case branch expressions consistent with outer case expression. Reported by Peter Rosin. 2013-08-22 Alan Modra <amodra@bigpond.net.au> libtool: fix mangled powerpc*le-linux support patch * m4/libtool.m4: unmangled badly pasted hunks from previous changeset. libtool: initial powerpc*le-linux support * m4/libtool.m4 (ld -m flags): Remove non-canonical ppc host match. Support little-endian powerpc linux host. 2013-06-17 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> libtool: fix conversion warnings in cwrapper build-aux/ltmain.in (func_emit_cwrapperexe_src:main): XMALLOC wants a size_t. Also use int instead of intptr_t for the return value (which is fine since the _spawnv call is synchronous). (func_emit_cwrapper_src) [MSVC]: Remove the intptr_t helper define. (func_emit_cwrapperexe_src:find_executable): Use size_t for variables involved in strlen computations. (func_emit_cwrapperexe_src:lt_setenv): Likewise. (func_emit_cwrapperexe_src:lt_extend_str): Likewise. (func_emit_cwrapperexe_src:lt_update_exe_path): Likewise. THANKS: Update. 2013-04-28 Peter Rosin <peda@lysator.liu.se> libtool: break all the way out when a good nm is found The current code tries to locate a compatible nm tool. It starts with a prefixed nm tool (great!) and includes a plain nm too (that's fine). The problem is that the code searches for the prefixed nm before the plain nm (normally fine), but doesn't break once it has found a valid match, and the plain nm ends up the winner. Report and analysis by Mike Frysinger. * m4/libtool.m4 (LT_PATH_NM): Break all the way out on a good match. 2013-01-28 Peter Rosin <peda@lysator.liu.se> maint: update email address... * THANKS: ...of Jan Engelhardt. 2013-01-28 Jan Engelhardt <jengelh@inai.de> doc: fix an orthographic error * doc/libtool.texi (Install mode): Ensure, not insure. 2013-01-27 Gary V. Vaughan <gary@gnu.org> bootstrap: fix func_insert_if_absent bugs. * gl/build-aux/bootstrap.in (func_insert_if_absent): Print verbose message when there is a new entry to add. Also, make sure to update the .gitignore file when changed. * bootstrap: Regenerate. * THANKS: Add Pádraig Brady. Reported by Pádraig Brady. bootstrap: factor out gnulib-tool option calculations. * gl/build-aux/bootstrap.in (func_gnulib_tool): Factor base option settings out... (require_gnulib_tool_base_options): ...to here. * bootstrap: Regenerate. syntax-check: fix a quoted_test_operand violation. * gl/build-aux/bootstrap.in (func_insert_if_absent): Make sure test operands are quoted correctly. * bootstrap: Regenerate. syntax-check: fix new SPACE-TAB violations. * build-aux/ltmain.in (func_dll_def_p): Replace SPACE-TAB by TAB-SPACE. * m4/libtool.m4 (_LT_DLL_DEF_P): Likewise. 2013-01-26 Bernhard Voelker <mail@bernhard-voelker.de> Gary V. Vaughan <gary@gnu.org> bootstrap: always auto-add .gitignore files at the top. * gl/build-aux/bootstrap.in (func_gitignore_entries): New function. Strip comments and blank lines. (func_insert_sorted_if_absent): Renamed... (func_insert_if_absent): ...to this. Adjust all callers. Instead of comparing the sorted new file with the original, compare the line count, being careful to diagnose duplicate entries which would otherwise skew the count. 2013-01-26 Gary V. Vaughan <gary@gnu.org> maint: patch gitlog-to-changelog to reduce bogus warnings. Rather than trying to find a new useful warning among the 55 expected warnings from vanilla gitlog-to-changelog, patch it to elide the bogus warnings from duplicate log entries. * gl/bulid-aux/gitlog-to-changelog.diff: Omit-from-ChangeLog is a new log entry tag to skip legitimate log duplicates. * build-aux/git-log-fix: Instead of deleting all content of duplicates and generating a warning, append the new Omit-from-ChangeLog tag to elide silently. * Makefile.am *($(changelog)): Remove the 'expect 55 warnings' echo. 2013-01-22 Peter Rosin <peda@lysator.liu.se> libtool: factor out the dll .def file test and improve it Resolves bug#13414. Problem reported by Erik van Pienbroek and Martin Doucha. build-aux/ltmain.in (func_mode_link): Factor out the test if a given symbol file is a module-definition (.def) file into... (func_dll_def_p): ...this function, which also improves the check. m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) <cygwin, mingw, pw32, cegcc>: Similarly, factor out the test if a given symbol file is a module-definition (.def) file into... (_LT_DLL_DEF_P): ...this macro, which also improves the check. tests/export-def.at: New test. Makefile.am (TESTSUITE_AT): Add above test. NEWS: Update. THANKS: Update. 2013-01-21 Peter Rosin <peda@lysator.liu.se> libtool: allow tabs in *_cmds variables This is in preparation for the next patch, which needs to have literal tab characters survive the evaluation of the *_cmds variables. build-aux/ltmain.in (func_execute_cmds, func_mode_link): Don't collapse tabs and surrounding whitespace into a single space when executing a tilde-separated cmds construct, instead keep any tabs intact. 2013-01-19 Peter Rosin <peda@lysator.liu.se> libtool: avoid tabs in all *_cmds variables. This is in preparation for the next change, which will preserve tabs when the *_cmds variables are evaluated. Removing tabs first ensures that the libtool output stays the same when tabs are not collapsed with surrounding whitespace. m4/libtool.m4: Convert indenting tabs to spaces for all *_cmds variables. 2013-01-16 Peter Rosin <peda@lysator.liu.se> libtool: align archive_cmds with archive_expsym_cmds for MSVC m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [MSVC] <archive_cmds>: Specify the import library name, aligning with archive_expsym_cmds. libtool: feed .def files verbatim to the MSVC linker m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [MSVC] <archive_expsym_cmds>: When the symbol list isn't really a symbol list, but instead a .def file, copy it to a file with .def extension so that MSVC recognizes it as a module-definition file and feed it verbatim. NEWS: Update 2013-01-15 Peter Rosin <peda@lysator.liu.se> Revert "libtool: use false or : for $always_export_symbols, and simplify" This reverts commit 5ed7430fcb48c862c9d76ef497b73485d580338e, which is totally bogus as the variable is also set in libtool.m4. Sorry for the noise. libtool: use false or : for $always_export_symbols, and simplify * build-aux/ltmain.in (func_mode_link): Save a string comparison by setting $lways_export_symbols to false or : and using it directly as the first argument to if. Make sure that it is always initialized while at it. 2013-01-09 Peter Rosin <peda@lysator.liu.se> tests: fix nits in path handling tests/bindir.at: func_save_and_prepend_path is already checking $bindirneeded internally, so remove checks from call sites. Add proper quoting while at it. (func_save_and_prepend_path): Use $PATH_SEPARATOR instead of a literal colon (in both instances). 2013-01-08 Peter Rosin <peda@lysator.liu.se> libtool: simplify quoting and code for symbols exporting sed programs * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [MSVC] <archive_expsym_cmds>: Make the sed programs easier to read (and recover some backslashes for later in the process). 2013-01-03 Peter Rosin <peda@lysator.liu.se> tests: don't feed -no-undefined to the linker during configure. * tests/deplibs-mingw.at: Restore LDFLAGS for the configure run so that the linker does not see -no-undefined. Makes the test pass instead of skip on MinGW. 2013-01-03 Gary V. Vaughan <gary@gnu.org> maint: note warnings during ChangeLog generation are normal. * Makefile.am ($(changelog)): Output a note that 55 empty commit log warning messages during ChangeLog generation are expected. git: ignore .serial file. * .gitignore: ignore .serial file. maint: fix recent badly formatted ChangeLog entry. * build-aux/git-log-fix: No empty lines in a single commit. syntax-check: fix a useless_quotes_in_assignment violation. * gl/build-aux/inline-source (func_require_AWK): Remove useless quotes. syntax-check: fix prohibit_strcmp syntax-check violation. * build-aux/ltmain.in (func_generate_dlsyms): Add a definition for STREQ, and then use it in place of !strcmp. docs: update copyright dates in libtool.texi. It seems `make update-copyright' missed the texinfo copyright notice. * doc/libtool.texi: Update copyright dates for 2013. 2013-01-03 Brad Smith <brad@comstyle.com> libtool: add bitrig support. * build-aux/ltmain.in (func_mode_link): Add bitrig support. * m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE, LT_CMD_MAX_LEN) (_LT_SYS_DYNAMIC_LINKER, _LT_CHECK_MAGIC_METHOD) (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Ditto. * m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Ditto. * tests/deplibs-ident.at(build tree relpaths): Ditto. * NEWS: Updated. 2013-01-01 Peter Rosin <peda@lysator.liu.se> maint: check if git works before relying on it Makefile.am (m4/ltversion.m4): Take the opportunity to regenerate $(srcdir)/.serial whenever git is actually working. (git_version_gen): Provide a fallback version for the git-version-gen script to use when .tarball-version does not exist and git is not working. maint: really do update to latest upstream gnulib Commit 9a7071e668d044c1c47c855d2f0bc7cadb235071 "maint: update copyright notices to include 2013." states that this was done, but it actually was not. gnulib/: Update to latest upstream. 2013-01-01 Gary V. Vaughan <gary@gnu.org> maint: remove unsupported Tested-by: tag. * build-aux/git-log-fix: Tested-by: line should not appear in the ChangeLog. 2013-01-01 Peter Rosin <peda@lysator.liu.se> bootstrap: update README-release patch gl/top/README-release.diff: Update to match latest gnulib changes. 2013-01-01 Gary V. Vaughan <gary@gnu.org> maint: update copyright notices to include 2013. * gnulib/: Update to latest upstream. * AUTHORS, ChangeLog.old, HACKING, Makefile.am, NEWS, README, THANKS, TODO, bootstrap, bootstrap.conf, build-aux/edit-readme-alpha, build-aux/ltmain.in, cfg.mk, configure.ac, doc/libtool.texi, gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, gl/build-aux/funclib.sh, gl/build-aux/inline-source, gl/build-aux/options-parser, libltdl/README, libltdl/argz.c, libltdl/argz_.h, libltdl/configure.ac, libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h, libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h, libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c, libltdl/lt__alloc.c, libltdl/lt__dirent.c, libltdl/lt__strl.c, libltdl/lt_dlloader.c, libltdl/lt_error.c, libltdl/ltdl.c, libltdl/ltdl.h, libltdl/ltdl.mk, libltdl/slist.c, libtoolize.in, m4/argz.m4, m4/autobuild.m4, m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4, m4/ltsugar.m4, m4/ltversion.in, m4/lt~obsolete.m4, tests/am-subdir.at, tests/archive-in-archive.at, tests/bindir.at, tests/cdemo.at, tests/cmdline_wrap.at, tests/configure-iface.at, tests/convenience.at, tests/ctor.at, tests/cwrapper.at, tests/darwin.at, tests/demo.at, tests/depdemo.at, tests/deplib-in-subdir.at, tests/deplibs-ident.at, tests/deplibs-mingw.at, tests/destdir.at, tests/dlloader-api.at, tests/dumpbin-symbols.at, tests/duplicate_conv.at, tests/duplicate_deps.at, tests/duplicate_members.at, tests/early-libtool.at, tests/exceptions.at, tests/execute-mode.at, tests/exeext.at, tests/export.at, tests/f77demo.at, tests/fail.at, tests/fcdemo.at, tests/flags.at, tests/help.at, tests/indirect_deps.at, tests/infer-tag.at, tests/inherited_flags.at, tests/install.at, tests/lalib-syntax.at, tests/libtool.at, tests/libtoolize.at, tests/link-order.at, tests/link-order2.at, tests/loadlibrary.at, tests/localization.at, tests/lt_dladvise.at, tests/lt_dlexit.at, tests/lt_dlopen.at, tests/lt_dlopen_a.at, tests/lt_dlopenext.at, tests/ltdl-api.at, tests/ltdl-libdir.at, tests/mdemo.at, tests/need_lib_prefix.at, tests/no-executables.at, tests/nocase.at, tests/nonrecursive.at, tests/old-ltdl-iface.at, tests/old-m4-iface.at, tests/pic_flag.at, tests/recursive.at, tests/resident.at, tests/runpath-in-lalib.at, tests/search-path.at, tests/shlibpath.at, tests/slist.at, tests/standalone.at, tests/static.at, tests/stresstest.at, tests/subproject.at, tests/sysroot.at, tests/tagdemo.at, tests/template.at, tests/testsuite.at, tests/versioning.at, tests/with-pic.at: Bump copyright year. 2012-12-19 Peter Rosin <peda@lysator.liu.se> libtool: Drop $LDFLAGS when invoking the toolchain m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [Solaris] <archive_cmds>: Drop $LDFLAGS as it is a user variable that is usually used when invoking libtool. As such, it should not be used by libtool when it invokes the toolchain as it contains options intended for libtool, not the toolchain. Fixes export.at and other tests that add -no-undefined to LDFLAGS. 2012-12-19 Richard Palo <richard.palo@baou.fr> (tiny change) libtool: Add SONAME to the so when exporting explicit symbols on Solaris m4/libtool.m (_LT_LANG_CXX_CONFIG) [Solaris] <archive_expsym_cmds>: Feed -h $soname to the linker just as is done in archive_cmds. THANKS: Update. 2012-11-02 Peter Rosin <peda@lysator.liu.se> libtool: add @INIT@ to the preloader, for data imports on Windows * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [dumpbin]: Adjust lt_cv_sys_global_symbol_to_cdecl so that it declares imported data symbols as __declspec(dllimport). Adjust lt_cv_sys_global_symbol_to_c_name_address and lt_cv_sys_global_symbol_to_c_name_address_lib_prefix so that they fill in "(void*) 0" for imported data symbols. Add new lt_cv_sys_global_symbol_to_import which finds imported data symbols if non-empty and export this variable to the libtool script in the global_symbol_to_import variable. Adjust lt_cv_sys_global_symbol_pipe so that data imports can be located. * build-aux/ltmain.in (func_generate_dlsyms): When data imports are present, as indicated by global_symbol_to_import, generate a relocation function lt_syminit that fills in the addresses of data imports at runtime and point to the new function with a new virtual @INIT@ entry in the symbol list. * libltdl/loaders/preopen.c (add_symlist): Look for the virtual @INIT@ symbol (i.e. lt_syminit) and call it. (vm_sym): Step past the @INIT@ symbol, if present. * tests/demo.at (dlmain.c): Call the @INIT@ symbol, if present. * NEWS: Update. 2012-11-02 Peter Rosin <peda@lysator.liu.se> libtool: unify the global symbol transformations Since it is safe for $lt_cv_sys_global_symbol_to_cdecl to match with a simple /^T .* .*$/ type expression, it is ok for the other transformations as well. At least if you require at least one $symcode at the start of the line, so that the just generated output doesn't match the next sed expression. * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Unify the matching expressions in the sed programs that transform the extracted symbol lines. 2012-11-02 Peter Rosin <peda@lysator.liu.se> libtool: break up long lines * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Break up long lines when assigning the sed scripts that transform the extracted symbol lines. 2012-10-25 Gary V. Vaughan <gary@gnu.org> bootstrap: use a decent awk if /bin/awk is hopeless. Bootstrap used to fail without an explicit AWK environment setting on machines with both nawk and awk, but where awk is a museum piece. * gl/build-aux/inline-source (AWK): Remove initial setting. (require_awk): Search PATH for a gawk, mawk or nawk before settling on awk, just like configure does. (func_include): Use it. bootstrap: be sure to register gnulib submodule. * gl/build-aux/bootstrap.in (require_gnulib_submodule): Register the gnulib submodule before updating it, even with a shallow clone of gnulib. * bootstrap: Regenerate. Reported by Robert Boehne. bootstrap: fix a typo in a find invocation. * gl/build-aux/bootstrap.in (require_buildreq_patch): Fix a typo. * bootstrap: Regenerate. bootstrap: bash versions 3.00.x do not have += functionality. * gl/build-aux/funclib.sh: Fix a typo in fork minimisation for bash versions 3.00.x. * bootstrap: Regenerate. maint: fix missing command error in make dist. * Makefile.am ($(readme)): Don't forget the 'test'! tests: fixup experr for addition whitespace in error prefix. Fix spurious test failures due to unmatched experr output. * tests/libtoolize.at, tests/old-ltdl-iface.at: Add the addition 2 spaces now used to justify error prefixes. bootstrap: use of ';' in sed scripts is not portable. * gl/build-aux/bootstrap.in (require_buildreq_automake) (require_dotgitmodules_parameters, require_package) (func_update_po_files): Use '\n' or -e to separate sed commands, instead of ';'. * gl/build-aux/extract-trace (func_autoconf_configure) (func_extract_trace_first): Likewise. * gl/funclib.sh: Likewise. (func_tr_sh): Likewise. * gl/build-aux/options-parser (func_usage_message): Likewise. * bootstrap: Regenerate. Reported by Robert Boehne. bootstrap: don't $tc_standout spaces, it's ugly! * gl/build-aux/funclib.sh (func_error): Move the prefix indent before $tc_standout to avoid bright red inverse spaces. * bootstrap: Regenerate. bootstrap: fix rectangle select induced trailing spaces. * gl/build-aux/funclib.sh (require_term_colors): Delete trailing whitespace. * bootstrap: Regenerate. bootstrap: display prerequisite program environment vars. Be more helpful when a prerequisite program from $buildreq cannot be located, by showing what variable to export if it is already installed but not in PATH. * gl/build-aux/bootstrap.in (func_check_versions): Display associated environment variables for not found prerequisite programs. * bootstrap: Regenerate. bootstrap: honor COLORTERM and USE_ANSI_COLORS. Plenty of machines use a terminfo database that doesn't have entries for color escape sequences, even though the terminal itself most likely supports ANSI color escapes. * gl/build-aux/funclib.sh (require_term_colors): If COLORTERM or USE_ANSI_COLORS are set, then ignore what terminfo says, and use standard ANSI color escape sequences. * bootstrap: Regenerate. bootstrap: make error messages prettier. * gl/build-aux/funclib.sh (func_error): Indent 'error' prefix by two additional spaces to line up nicely with 'warning' and 'running'. * bootstrap: Regenerate. 2012-10-24 Gary V. Vaughan <gary@gnu.org> bootstrap: emphasize command executions with terminal bold. * bootstrap.in (func_show_eval): Use $require_term_colors to embolden the command about to be executed in output. * bootstrap: Regenerate. * bootstrap.conf (libtool_build_prerequisites): Use the standard (colorful!) bootstrap func_show_eval here too. bootstrap: show output from 'make bootstrap-deps'. * bootstrap.conf (libtool_build_prerequisites): Add support for AM_V_GEN and AM_V_at to the temporary pre-configure Makefile. Instead of eliding non-error output from bootstrap-deps, show the results, with verbosity set according to $opt_verbose. * Makefile.am (m4/ltversion.m4, build-aux/ltmain.sh, libtool) (README): Fix the display rules to correctly fall-back to AM_DEFAULT_VERBOSITY when V=1 is not passed to make invocation. 2012-10-22 Gary V. Vaughan <gary@gnu.org> maint: fixup badly formatted ChangeLog entries. * build-aux/git-log-fix: Mostly missing category tags and refilling to 64 columns, but also deleting duplicate entries from merging the gary/reredo-test-operand-order branch. * g/build-aux/gitlog-to-changelog.diff: Local patch to prevent printing unqualified header lines for deleted duplicate patches. * THANKS: Put email address for Paul Seidler here... * build-aux/git-log-fix: ...and remove from ChangeLog here. bootstrap: regenerate to propagate Bob's func_split_equals fix. * bootstrap: regenerate. 2012-10-22 Mikhail Zabaluev <mikhail.zabaluev@gmail.com> (tiny change) configury: make LT_INIT options pic-only and no-pic work. * m4/ltoptions.m4 (_LT_WITH_PIC): Set pic_mode at m4 time. 2012-10-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> options-parser: fix regexp quoting error. * gl/build-aux/options-parser (func_split_equals): Fixed expr regexp quoting syntax error encountered with non-XSI shells. Problem was noticed under Solaris 10. 2012-10-21 Gary V. Vaughan <gary@gnu.org> syntax-check: fix violations and implement sc_old_style_quoting. Modern GNU ASCII quoting in output and comments is done 'like this'. * cfg.mk (sc_old_style_quoting): Try to catch most instances of `old style quoting' so that it is not accidentally re- introduced to the code. * HACKING, Makefile.am, NEWS, PORTING, README, TODO, bootstrap, bootstrap.conf, build-aux/edit-readme-alpha, build-aux/git-hooks/commit-msg, build-aux/ltmain.in, doc/libtool.texi, gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, gl/build-aux/funclib.sh, gl/build-aux/inline-source, gl/build-aux/options-parser, libltdl/libltdl/slist.h, libltdl/loaders/loadlibrary.c, libltdl/ltdl.c, libltdl/slist.c, libtoolize.in, m4/argz.m4, m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4, m4/ltsugar.m4, tests/cmdline_wrap.at, tests/configure-iface.at, tests/demo.at, tests/depdemo.at, tests/deplib-in-subdir.at, tests/deplibs-mingw.at, tests/destdir.at, tests/execute-mode.at, tests/f77demo.at, tests/fail.at, tests/inherited_flags.at, tests/libtool.at, tests/libtoolize.at, tests/lt_dladvise.at, tests/lt_dlexit.at, tests/mdemo.at, tests/need_lib_prefix.at, tests/old-ltdl-iface.at, tests/old-m4-iface.at, tests/static.at, tests/stresstest.at, tests/testsuite.at, tests/versioning.at: Convert to upright quotes. tests: remove spurious shell variable braces. * tests/testsuite.at: Allow the shell braces syntax check to pass again. bootstrap: add missing bootstrap override module file. * gl/modules/bootstrap: Forgot to add this file in a previous commit. bootstrap: allow bootstrap.texi to pass syntax-check. * cfg.mk (sc_require_function_nl_brace): Skip texi files. * gl/doc/bootstrap.texi: Fix assorted syntax-check violations. bootstrap: move into local gl overrides directory. In order to work as if it were already adopted by upstream gnulib, put bootstrap and supporting scripts into the local gnulib overrides directory. * bootstrap, build-aux/extract-trace, build-aux/funclib.sh, build-aux/inline-source, build-aux/options-parser: Move from here... * gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, gl/build-aux/funclib.sh, gl/build-aux/inline-source, gl/build-aux/options-parser: ...to here. * gl/build-aux/options-parser (func_version): Show only the first copyright notice on files generated with inline-source. * gl/doc/bootstrap.texi: Developer documentation for bootstrap. * gl/modules/extract-trace, gl/modules/funclib.sh, gl/modules/inline-source, gl/modules/options-parser: Describe dependencies for gnulib-tool. * bootstrap.conf (gnulib_modules): Add extract-trace, inline-source and options-parser modules. * bootstrap: Regenerated from gnulib overrides as a mono- lithic script file using gl/build-aux/inline-source. 2012-10-20 Gary V. Vaughan <gary@gnu.org> tests: make sure AC_CONFIG_MACRO_DIR is still supported. * tests/old-m4-iface.at (AC_CONFIG_MACRO_DIR support): New test. Make sure we continue to support AC_CONFIG_MACRO_DIR using projects. libtoolize: select the first directory from AC_CONFIG_MACRO_DIRS. * tests/libtoolize.at (multiple AC_CONFIG_MACRO_DIRS directories): New test to ensure multiple directory arguments mork correctly. * libtoolize.in (func_require_ac_macro_dir): Use expr to discard any additional space delimited entries in the first AC_CONFIG_MACRO_DIRS argument. * bootstrap (func_require_macro_dir): Likewise. libtoolize: migrate to new AC_CONFIG_MACRO_DIRS api. * libtoolize.in (func_install_pkgmacro_files): Uee AC_CONFIG_MACRO_DIRS. (func_check_macros): Advise using AC_CONFIG_MACRO_DIRS. (require_ac_macro_dir): Give priority to AC_CONFIG_MACRO_DIRS. (require_macro_dir): Likewise. * bootstrap: Give priority to AC_CONFIG_MACRO_DIRS. * configure.ac: Define dummy AC_CONFIG_MACRO_DIRS for older Autotools, that is allow bootstrap with current release versions. Use AC_CONFIG_MACRO_DIRS instead of AC_CONFIG_MACRO_DIR. * tests/testsuite.at: Source build-aux/extract-trace for access to func_extract_trace. (LT_AT_ACLOCAL): Use it to get the AC_CONFIG_MACRO_DIRS argument to pass manually to aclocal for compatibility with old Automake. Add a fallback AC_CONFIG_MACRO_DIRS definition to acinclude.m4 in the test directory. (LT_AT_AUTORECONF): Likewise. * tests/cdemo.at, tests/configure-iface.at, tests/darwin.at, tests/demo.at, tests/depdemo.at, tests/early-libtool.at, tests/libtoolize.at, tests/mdemo.at, tests/no-executables.at, tests/nonrecursive.at, tests/old-ltdl-iface.at, tests/recursive.at, tests/subproject.at, tests/tagdemo.at, tests/template.at: Likewise. * doc/libtool.texi: Update. * NEWS: Update. 2012-10-19 Peter Rosin <peda@lysator.liu.se> libtool: parse "dumpbin -headers" to get symbols exported from implibs * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [MSVC]: Extract symbols imported from DLLs by import libraries in the Microsoft dumpbin wrapper. (LT_PATH_NM): Add -headers option if dumpbin is the located name lister to feed the above new code. * NEWS: Update. libtool: make func_win32_libid work when the name lister is MS dumpbin * m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD) [MSVC]: Use func_win32_libid as file_magic_cmd when the name lister is MS dumpbin. (_LT_CMD_GLOBAL_SYMBOLS): Export the new veriable nm_interface to the libtool script. * build-aux/ltmain.in (func_cygming_gnu_implib_p) (func_cygming_ms_implib_p): Move up to before... (func_win32_libid): ...which now uses them to determine if the object is an import library when the nm_interface is "MS dumpbin". * NEWS: Update. 2012-10-19 Gary V. Vaughan <gary@gnu.org> bootstrap: always extract only the first AC_CONFIG_MACRO_DIR arg. Previous versions of bootstrap concatenated all the arguments to multiple invocations of AC_CONFIG_MACRO_DIR when extracting the macro_dir directory name. This change enforces correct and consistent behaviour. * libtoolize.in (func_require_macro_dir): Use the new func_extract_trace_first function to make sure the first argument is always used. (func_require_aux_dir, func_require_gnulib_mk) (func_require_source_base): Future proof these functions against multiple invocations or additional arguments to the macros they trace. bootstrap: extract *first* ACLOCAL_AMFLAGS -I argument. * bootstrap (func_require_macro_dir): .* is greedy, so _G_sed_scan as it was will always return the last -I argument, which is wrong. Move to a shell loop to ensure we always get the first -I argument if any. (code from libtoolize.in). bootstrap: use short gnu.org urls consistently. * bootstrap.conf (buildreq): Use gnu.org/s/ style urls to match the ones added automatically by the main bootstrap script. libtoolize: fix a misspelled variable name. * libtoolize.in (func_require_am_macro_dir): The loop uses _G_arg not _G_opt. Now spelled correctly. tests: always extract only the first AC_CONFIG_MACRO_DIR arg. Previous releases of libtoolize used the final invocation when there were several, and after the rewrite over extract-trace, all the invocation directories were concatenated. This change enforces correct and consistent behaviour. * tests/libtoolize.at (multiple AC_CONFIG_MACRO_DIR invocation): New test. * build-aux/extract-trace (func_extract_trace_first): New function for clients that source this file, which returns only the first argument to the first invocation of the named macros. * libtoolize.in (func_require_ac_macro_dir): Use it to make sure the first argument is always used. (func_require_ac_aux_dir, func_require_ac_ltdl_dir) (func_require_ac_ltdl_options): Future proof these functions against multiple invocations or additional arguments to the macros they trace. * News (Important incompatible changes): Note change in semantics. Reported by Eric Blake. tests: always extract only the first ACLOCAL_AMFLAGS include arg. * tests/libtoolize.at (libtoolize ACLOCAL_AMFLAGS extraction): New test. * libtoolize.in (func_check_macros): Display the correct advice when ACLOCAL_AMFLAGS specifies a macrodir, but AC_CONFIG_MACRO_DIR does not. doc: add a missing period following @xref. * doc/libtool.texi: Silence a warning by adding back a missing period. 2012-10-19 Peter Rosin <peda@lysator.liu.se> libtool: avoid non-underscore symbols in the "dumpbin -symbols" wrapper If an object has a symbol lacking an expected leading underscore, the symbol name is not printed, but the symbol type is, leading to output such as: T _normal _normal T T _another _another when the expected output would have been something like: T _normal _normal T no_underscore no_underscore T _another _another However, symbols lacking an expected leading underscore are not "real" symbols, they are internal symbols which we don't care about, therefore drop them instead. * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [MSVC]: Output the whole symbol line in one go. * NEWS: Update. 2012-10-18 Peter Rosin <peda@lysator.liu.se> libtool: unbreak Windows path quoting The lt_sed_naive_backslashify variable lost its lt_ prefix when m4sh was dropped. But not everywhere. * build-aux/ltmain.in (func_convert_core_file_wine_to_w32) (func_convert_core_msys_to_w32): Drop the lt_ prefix from the lt_sed_naive_backslashify variable. libtool: kill leftover m4 quoting * build-aux/ltmain.in (func_mode_compile): Use literal ] and [. 2012-10-18 Gary V. Vaughan <gary@gnu.org> syntax-check: exclude false positive nested quote test. * build-aux/funclib.sh (func_echo_infix_1): These quotes are not actually nested, so add an exclude marker for the syntax-check. libtool: don't set auxscriptsdir at bootstrap time. * build-aux/ltmain.in: Declare relative paths to aux scripts from source commands, for early inlining during bootstrap. * Makefile.am (bootstrap_edit): Move auxscriptsdir substitution from here.... (configure_edit): ...to here. ($(ltmain_sh)): Feed ltmain.in through inline-source as ltmain.sh is generated to remove relative paths to aux scripts. (install-data-local): Simplify. No need for special treatment for ltmain.sh during installation, since aux scripts have already been inlined. Reported by Peter Rosin. extract-trace: only source funclib.sh when $progname is extract-trace. * build-aux/extract-trace: $usage is too generic, and can cause sourced extract-trace to re-source options-parser. We already require that funclib.sh be sourced before sourcing options-parser, so it's safer to check that $progname is correct before sourcing options-parser again from here. 2012-10-18 Peter Rosin <peda@lysator.liu.se> libtool: fix spelling nit * build-aux/ltmain.in (func_generate_dlsyms): Fix spelling nit. * libltdl/libltdl/lt_system.h: Likewise. * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Likewise. 2012-10-12 Gary V. Vaughan <gary@gnu.org> maint: remove m4sh support. Now that the code base has coalesced around a single option parser, there's no need for the unused getopt.m4sh and support. * build-aux/getopt.m4sh, build-aux/general.m4sh, tests/getopt-m4sh.at: Remove. * Makefile.am (m4sh_dir, LT_M4SH, general_m4sh, getopt_m4sh) (sh_files): Remove. (TESTSUITE_AT): Remove tests/getopt-m4sh.at. (TESTS_ENVIRONMENT): Remove M4SH. * bootstrap.conf (libtool_build_prerequisites): Remove M4SH. * configure.ac (M4SH): Remove. * HACKING (Editing `.m4sh' Files): Remove and renumber following sections. libtool: rewritten over funclib.sh instead of general.m4sh. * Makefile.am (ltmain_m4sh, ltmain_sh_edit): Remove. (ltmain_in): Path to ltmain.in. (ltmain_sh): Generate ltmain.sh from ltmain.in using $(bootstrap_edit). * build-aux/ltmain.m4sh: Remove. * build-aux/ltmain.in: Rewritten as a client of funclib.sh. libtoolize: inline sourced helper scripts during install. * build-aux/inline-source: New file. * Makefile.am (inline_source): Path to inline-source script. (EXTRA_DIST): Distribute inline-source too. (helper_scripts): Remove. (install-data-local): Inline sourced helper scripts during installation. Don't install helper_scripts. (uninstall-hook): Don't uninstall helper_scripts. libtoolize: rewritten over funclib.sh instead of general.m4sh. * Makefile.am (libtoolize_m4sh): Remove. (EXTRA_DIST): Delete libtoolize_m4sh. (libtoolize_in): Remove rule. (libtoolize): Apply bootstrap_edit to libtoolize.in too. * configure.ac (AC_CONFIG_SRCDIR): Refer to libtoolize.in. * libtoolize.m4sh: Remove. * libtoolize.in: Rewrite as a client of options-parser and the new funclib.sh, avoiding the m4sh expansion step. * tests/libtoolize.at, tests/old-ltdl-iface.at (experr): adjust to match funclib.sh error output. options-parser: correctly quote shell meta-characters in arguments. When any argument contains a shell meta-character, it needs to be quoted when passed around. We already pass parameter lists as space delimited strings of arguments, and pass the string through eval to turn it back into a list before re-assigning using `set'. To prevent the shell from interpreting any meta-characters during an `eval set dummy $argumentlist', they must be quoted again inside the quoted argument list. * build-aux/funclib.sh (func_quote_for_eval): Be careful to keep a separate tally of quoted and unquoted argument lists, to conform to the API of the single argument func_quote_for_eval implementation in build-aux/general.m4sh. * bulid-aux/options-parser (func_run_hooks): To account for the doubly quoted meta-character argument lists, we must eval the parameter reassignment `set' call separately from evaluating the dynamically named hook results variable. maint: factor common shell code into build-aux/funclib.sh. Moving potentially reusable code into a common file that can be sourced by clients, and adjusting for impedance mismatch or necessary renames during integration. * build-aux/funclib.sh: New file. * build-aux/options-parser (Shell normalisation) (User overrideable command paths, Global variables, func_append) (require_term_colors, func_echo, func_echo_infix_1, func_warn) (func_error, func_fatal_error, func_quote_for_eval, func_verbose): Move from here... * build-aux/funclib.sh (Shell normalisation, User overrideable command paths, Global variables, func_append) (require_term_colors, func_echo, func_echo_infix_1) (func_warn_and_continue, func_error, func_fatal_error) (func_quote_for_eval, func_verbose): ...to here. * build-aux/general.m4sh (func_arith, func_basename) (func_dirname, func_dirname_and_basename, func_echo_all) (func_grep, func_len, func_mkdir_p, func_mktempdir) (func_normal_abspath, func_relative_path, func_quote_for_expand) (func_stripname, func_show_eval, func_tr_sh): Move from here... * build-aux/funclib.sh(func_arith, func_basename) (func_dirname, func_dirname_and_basename, func_echo_all) (func_grep, func_len, func_mkdir_p, func_mktempdir) (func_normal_abspath, func_relative_path, func_quote_for_expand) (func_stripname, func_show_eval, func_tr_sh): ...to here. * bootstrap (usage message): Document `-no-warn' option. (func_append_u, func_warning): Move from here... * build-aux/funclib.sh (func_append_uniq, func_warning): ...to here. * bootstrap, build-aux/extract-trace: Source build-aux/funclib.sh before build-aux/options-parser. * build-aux/options-parser (usage, long_help_message): Set default values to match what is parsed by the unmodified parser. * build-aux/extract-trace (usage, long_help_message): Only set from func_main, so that clients sourcing this file can still use the correct defaults from build-aux/options-parser. * bootstrap (bootstrap_options_prep, bootstrap_parse_options): Move warning option parsing from here... * build-aux/option-parser (func_options_prep) (func_parse_options): ...to here, where all clients can benefit. * Makefile.am (funclib_sh): New macro; path to funclib.sh. (EXTRA_DIST): Add $(funclib_sh). libtoolize: source extract-trace rather than fork and execute each call. Rather than forking and executing a full $SHELL for each macro extraction, source the script and its dependencies into our execution space and use the provided func_extract_trace API. * libtoolize.m4sh: Source extract-trace from an appropriate directory determined presently by make. (func_extract_trace): Remove this wrapper. * Makefile.am (abs_aux_dir): Absolute path to extract-trace directory. (configure_edit): Inject abs_aux_dir into uninstalled libtoolize. (bin_SCRIPTS): Remove libtoolize. (uninstall-hook): Manually uninstall libtoolize. (install-data-local): Inject pkgauxdir into installed libtoolize during installation. options-parser: employ fork minimisation. * build-aux/options-parser (_G_HAVE_XSI_OPS): Environment overrideable defaults for bash and zsh, which are known to support XSI extensions. (_G_HAVE_PLUSEQ_OP): Similarly for new enough versions of bash, which are known to have += support. (func_append): Only perform the shell += probe when state of support is unknown. (func_split_equals, func_split_short_opt): Similarly for XSI probe to select fastest working implementation. options-parser: keep non-option arguments separate! * build-aux/options-parser (func_parse_options): When there is more than one non-option argument, "$*" forces all of them into a single string. Use ${1+"$@"} to set arguments correctly. options-parser: prefix usage message with "Usage: ". * build-aux/options-parser (func_usage_message): Prefix usage message with "Usage: ". bootstrap: work when using fallback shallow gnulib clone. Bootstrapping without --gnulib-srcdir creates a shallow gnulib clone to run gnulib-tool out of, except that the parent package is almost certainly using a revision of gnulib before just tha most recent 2 gnulib revisions. * bootstrap (func_require_gnulib_submodule): Pull the most recent 365 revisions, which ought to be enough for a well- maintained parent package. Don't forget to run 'git submodule update' to select the correct gnulib revision. bootstrap: require GNU make to bootstrap. Make is not installed by default in some environments, such as cygwin... which is slow enough already without having to wait for gnulib-tool, bootstrap and half of configure to complete before getting an error. * bootstrap.conf (buildreq): Add recent GNU make to bootstrap requirements. Now missing make is diagnosed in the earliest part of bootstrap. maint: simplify "Local variables:" footer with time-stamp-pattern. * bootstrap, build-aux/extract-trace, build-aux/options-parser (Local variables): Use time-stamp-pattern to set number of searched lines to 10, and to replace time-stamp-start, time-stamp-end and time-stamp-format. 2012-10-08 Peter Rosin <peda@lysator.liu.se> tests: skip the with-pic test only if DLL_EXPORT is defined For some systems with PIC as default, the test was inadvertently skipped. Issue introduced in commit 4440d65. * tests/with-pic.at: Skip the test for systems that define DLL_EXPORT. Reported by Roumen Petrov. tests: rerefix line ending problems on MinGW. The previous commit broke Linux->MinGW cross-compiling. * tests/mdemo.at: Normalize line endings after $EGREP. Reported by Roumen Petrov. 2012-10-06 Peter Rosin <peda@lysator.liu.se> tests: refix line ending problems on MinGW. In commit 22f5750, one of the hunks actually introduced line ending problems. Revert that hunk. * tests/mdemo.at: Use AT_DATA for expected output when the output from compiled programs is fed through $EGREP. tests: use dry runs in both parts of 'check link mode operation' MSVC exits with status 2 instead of the expected 1 when a real link is attempted. * tests/libtool.at (check link mode operation): Use a dry run and expect a clean exit status instead of expecting a fail. 2012-10-06 Gary V. Vaughan <gary@gnu.org> tests: sanitise the libtool quote checking Autotests. Carefully comment the maze of quoting and escaping needed to pass through M4, $SHELL, and grep before regexp matching. * tests/libtool.at (quote shell meta-characters in filenames): Split backslash into a separate test group, because it needs additional escaping. Use grep consistently for the entire test group. Use AT_CHECK rather than LT_AT_CHECK to avoid problems with escaping literal $ correctly with LT_ESCAPE. Use the correct number of backslashes for each sub-group. Escape double-quote literals portably. Reported by Peter Rosin. tests: ensure mdemo.at doesn't rely on installed libltdl. * tests/mdemo.at (configuer.ac): Build an included convenience libltdl. (Makefile.am): Add subdir-objects. Remove override rules from legacy mdemo tests to reuse parent libltdlc.la. (LT_AT_CHECK_CONFIG): Add --with-included-ltdl to configure arguments so that test cases always use the subproject libltdl in preference to any installed libltdl. Reported by Peter Rosin. tests: allow for unstable fortran output ordering. Due to differences in line-endings between C stdout and Fortran stdout, as well as unpredictable output ordering between platforms and runtimes, weaken success criteria to not require the entire output of fortran programs to match a test case. * itests/fcdemo.at, tests/f77demo.at (_LT_CHECK_EXECUTE): Improve comments, and weaken test case to grep for a known line in the f77 runtime output. 2012-10-05 Peter Rosin <peda@lysator.liu.se> tests: make LT_AT_HOST_DATA retain whitespace on MinGW Fixes issues with depdemo.at, f77demo.at and fcdemo.at. * tests/testsuite.at (LT_AT_HOST_DATA) [MinGW]: Keep leading and trailing spaces and tabs when converting line endings. tests: fix line ending problems on MinGW * tests/cdemo.at: Use LT_AT_HOST_DATA for expected output from compiled programs. * tests/demo.at: Likewise. * tests/depdemo.at: Likewise. * tests/f77demo.at: Likewise. * tests/fcdemo.at: Likewise. * tests/mdemo.at: Likewise. * tests/tagdemo.at: Likewise. 2012-10-05 Gary V. Vaughan <gary@gnu.org> tests: remove last vestiges of the legacy test harness. All legacy tests have been fully migrated to Autotest, so no need to cling to the legacy scaffolding any more. * tests/defs.m4sh: Delete file. * configure.ac (AM_INIT_AUTOMAKE): Remove unused color-tests and parallel-tests options. * Makefile.am (defs_m4sh, defs_in, defs, TESTS): Remove. Adjust all dependencies. tests: migrate legacy tagtrace.test to Autotest. * tests/tagtrace.test: Delete file. * tests/libtool.at (test LT_SUPPORTED_TAG interface): Add Autotest equivalent. * Makefile.am (TESTS): Remove tests/tagtrace.test. tests: migrate legacy objectlist.test to Autotest. * tests/objectlist.test: Delete file. * tests/libtool.at (check objectlist file operation): Add Autotest equivalent. * Makefile.am (TESTS): Remove tests/objectlist.test. tests: migrate legacy link.test and link-2.test to Autotest. * tests/link.test, tests/link-2.test: Delete files. * tests/libtool.at (Check link operation): Add Autotest equivalent. * Makefile.am (TESTS): Remove tests/link.test and tests/link-2.test. tests: migrate legacy nomode.test to Autotest. * tests/nomode.test: Delete file. * test/libtool.at (Check help output, No mode diagnostic): Add equivalent tests in Autotest. * Makefile.am (TESTS): Remove tests/nomode.test. tests: migrate legacy suffix.test to Autotest. * tests/suffix.test: Delete file. * tests/libtool.at (Transform source suffices): Add Autotest equivalent. * Makefile.am (TESTS): Remove tests/suffix.test. tests: migrate legacy quote.test to Autotest. * tests/quote.test: Moved from here... * tests/libtool.at: ...to here, and updated to Autotest. * Makefile.am (TESTS): Remove tests/quote.test. (TESTSUITE_AT): Add tests/libtool.at. 2012-10-04 Gary V. Vaughan <gary@gnu.org> maint: add missing 2012 copyright to newly pushed old files. * tests/cdemo.at, tests/demo.at, tests/depdemo.at, tests/f77demo.at, tests/fcdemo.at, tests/mdemo.at, tests/tagdemo.at (Copyright): Update with missing 2012. syntax-check: remove test/demo directories from exemption regexps. * cfg.mk (exclude_file_name_regex--sc_bindtextdomain) (exclude_file_name_regexp--sc_program_name): Remove. The excluded directories no longer exist. (exclude_file_name_regexp--sc_prohibit_strcmp): Remove subexpression for matching removed demo directories. configure: remove unused conditionals and support for order only rules. Clean up some more unused cruft. * configure.ac (HAVE_CXX, HAVE_F77, HAVE_FC, HAVE_GCJ, HAVE_RC): Remove. These were only used by the recently removed legacy tests. [order-only prerequisites]: Ditto. bootstrap: remove support for `-r' and `reconf_dirs'. With all those extra demo directories out of the way, we can revert to a more canonical bootstrap process, and jettison the cruft that was only there to work around the pain of needing to autoreconf 11 directories. Bootstrap is now an order of magnitude faster. * bootstrap.conf (require_ltdl_dir): New function. Factored out of `libtool_build_prerequisites'. (libtool_build_prerequisites): Adjust. (func_reconfigure): Use `require_ltdl_dir' to determine the name of the other directory we need to autoreconf during bootstrap. (libtool_options_prep, libtool_parse_options) (libtool_validate_options): Remove. tests: let pic_flag and with-pic Autotests work on non-VPATH builds. * tests/pic_flag.at: Use _LT_DEMO_SETUP to generate a demo style project, rather than relying on $abs_top_srcdir/configure. * tests/with-pic.at: Likewise. * Makefile.am (TESTSUITE_AT): Move tests/pic_flag.at and tests/with-pic.at so that they run immediately following tests/demo.at. tests: migrate legacy tests/fcdemo tests to Autotest. Along with the demise of the last demo directory, so all the cruft for re-autotooling and distributing the additional directories is no longer necessary. * tests/fcdemo.at: New autotest groups, based on... * tests/fcdemo-conf.test, tests/fcdemo-exec.test, tests/fcdemo-make.test, tests/fcdemo-shared-exec.test, tests/fcdemo-shared-make.test, tests/fcdemo-shared.test, tests/fcdemo-static-exec.test, tests/fcdemo-static-make.test, tests/fcdemo-static.test: ...these legacy tests, now removed. * tests/fcdemo/Makefile.am, tests/fcdemo/README, tests/fcdemo/configure.ac, tests/fcdemo/cprogram.c, tests/fcdemo/foo.h, tests/fcdemo/fooc.c, tests/fcdemo/foof.f90, tests/fcdemo/foof2.f90, tests/fcdemo/foof3.f90, tests/fcdemo/fprogram.f90: Remove. * configure.ac (CONF_SUBDIRS, DIST_MAKEFILE_LIST): Remove. * Makefile.am (DIST_SUBDIRS, FC_TESTS, clean-local-legacy) (configure-subdirs, distclean-recursive, distdir) (fake-distclean-legacy, $(DIST_MAKEFILE_LIST)): Remove. (COMMON_TESTS): Rename from this... (TESTS): ...to this. tests: migrate legacy tests/f77demo tests to Autotest. * tests/f77demo.at: New autotest groups, based on... * tests/f77demo-conf.test, tests/f77demo-exec.test, tests/f77demo-make.test, tests/f77demo-shared-exec.test, tests/f77demo-shared-make.test, tests/f77demo-shared.test, tests/f77demo-static-exec.test, tests/f77demo-static-make.test, tests/f77demo-static.test: ...these legacy tests, now removed. * tests/f77demo/Makefile.am, tests/f77demo/README, tests/f77demo/configure.ac, tests/f77demo/cprogram.c, tests/f77demo/foo.h, tests/f77demo/fooc.c, tests/f77demo/foof.f, tests/f77demo/foof2.f, tests/f77demo/foof3.f, tests/f77demo/fprogram.f: Remove. * configure.ac (CONF_SUBDIRS): Remove tests/f77demo. tests: migrate legacy tests/mdemo2 tests to Autotest. This test was just a small non-ltdl aware library to load a library from the legacy mdemo test, which in turn used ltdl to call functions from modules. No need to create a whole other test group with copies of everything from mdemo setup - just tack the additional test on the end of the mdemo group. * tests/mdemo.at (link with library that loads ltdl modules): New test, based on... * tests/mdemo2-conf.test, tests/mdemo-exec.test, tests/mdemo-make.test: ...these legacy tests, now removed. * tests/mdemo2/Makefile.am, tests/mdemo2/README, tests/mdemo2/configure.ac, tests/mdemo2/main.c: Remove. * configure.ac (CONF_SUBDIRS): Remove tests/mdemo2. * Makefile.am: Adjust. tests: migrate legacy tests/mdemo tests to Autotest. * tests/mdemo.at: New autotest groups, based on... * tests/mdemo-conf.test, tests/mdemo-dryrun.test, tests/mdemo-exec.test, tests/mdemo-inst.test, tests/mdemo-make.test, tests/mdemo-shared-exec.test, tests/mdemo-shared-inst.test, tests/mdemo-shared-make.test, tests/mdemo-shared-unst.test, tests/mdemo-shared.test, tests/mdemo-static-exec.test, tests/mdemo-static-inst.test, tests/mdemo-static-make.test, tests/mdemo-static-unst.test, tests/mdemo-static.test, tests/mdemo-unst.test: ...these legacy tests, now removed. * tests/mdemo/Makefile.am, tests/mdemo/README, tests/mdemo/configure.ac, tests/mdemo/foo.h, tests/mdemo/foo1.c, tests/mdemo/foo2.c, tests/mdemo/main.c, tests/mdemo/mlib.c, tests/mdemo/sub.c: Remove. * configure.ac (CONF_SUBDIRS): Remove tests/mdemo. * Makefile.am: Adjust. tests: migrate legacy tests/pdemo tests to Autotest. This test was a thinly veiled copy of the basic legacy demo-conf.test series, with the addition of long file names that are not unique in the first 17 characters of their name, mashed up with the cmdline_wrap.at max_cmd_len limits. Migrating to Autotest means that this test will be automatically rerun with max_cmd_len=24 as cmdline_wrap.at recurses through the whole testsuite, so the migrated pdemo test is now simply another test case in demo.at with longer file names. * test/demo.at (linking with long file names): New test, based on... * tests/pdemo-conf.test, tests/pdemo-exec.test, tests/pdemo-inst.test, tests/pdemo-make.test: ...these legacy tests, now removed. * tests/pdemo/Makefile.am, tests/pdemo/configure.ac, tests/pdemo/foo.h, tests/pdemo/longer_file_name_dlmain.c, tests/pdemo/longer_file_name_foo.c, tests/pdemo/longer_file_name_foo2.c, tests/pdemo/longer_file_name_hell1.c, tests/pdemo/longer_file_name_hell2.c, tests/pdemo/longer_file_name_hello.c, tests/pdemo/longer_file_name_main.c: Remove. * configure.ac (CONF_SUBDIRS): Remove tests/pdemo. * Makefile.am: Adjust. tests: migrate legacy tests/tagdemo tests to Autotest. * tests/tagdemo.at: New autotest groups, based on... tests/tagdemo-conf.test, tests/tagdemo-exec.test, tests/tagdemo-make.test, tests/tagdemo-shared-exec.test, tests/tagdemo-shared-make.test, tests/tagdemo-shared.test, tests/tagdemo-static-exec.test, tests/tagdemo-static-make.test, tests/tagdemo-static.test, tests/tagdemo-undef-exec.test, tests/tagdemo-undef-make.test, tests/tagdemo-undef.test: ...these legacy tests, now removed. * tests/tagdemo/.gitignore, tests/tagdemo/Makefile.am, tests/tagdemo/README, tests/tagdemo/baz.cpp, tests/tagdemo/baz.h, tests/tagdemo/configure.ac, tests/tagdemo/conv.cpp, tests/tagdemo/conv.h, tests/tagdemo/foo.cpp, tests/tagdemo/foo.h, tests/tagdemo/main.cpp: Remove. * configure.ac (CONF_SUBDIRS): Remove tests/tagdemo. * Makefile.am: Adjust. tests: migrate legacy tests/depdemo tests to Autotest. * tests/depdemo.at: New autotest groups, based on... * tests/depdemo-conf.test, tests/depdemo-exec.test, tests/depdemo-inst.test, tests/depdemo-make.test, tests/depdemo-nofast-exec.test, tests/depdemo-nofast-inst.test, tests/depdemo-nofast-make.test, tests/depdemo-nofast-unst.test, tests/depdemo-nofast.test, tests/depdemo-relink.test, tests/depdemo-shared-exec.test, tests/depdemo-shared-inst.test, tests/depdemo-shared-make.test, tests/depdemo-shared-unst.test, tests/depdemo-shared.test, tests/depdemo-static-exec.test, tests/depdemo-static-inst.test, tests/depdemo-static-make.test, tests/depdemo-static-unst.test, tests/depdemo-static.test, tests/depdemo-unst.test: ...these legacy test cases, now removed. * tests/depdemo/Makefile.am, tests/depdemo/README, tests/depdemo/configure.ac, tests/depdemo/l1/Makefile.am, tests/depdemo/l1/l1.c, tests/depdemo/l1/l1.h, tests/depdemo/l2/Makefile.am, tests/depdemo/l2/l2.c, tests/depdemo/l2/l2.h, tests/depdemo/l3/Makefile.am, tests/depdemo/l3/l3.c, tests/depdemo/l3/l3.h, tests/depdemo/l4/Makefile.am, tests/depdemo/l4/l4.c, tests/depdemo/l4/l4.h, tests/depdemo/main.c, tests/depdemo/sysdep.h: Remove. * configure.ac (CONF_SUBDIRS): Remove tests/depdemo. * Makefile.am: Adjust. tests: migrate legacy tests/demo tests to Autotest. * tests/demo.at: New autotest groups, based on... * tests/demo-conf.test, tests/demo-deplibs.test, tests/demo-exec.test, tests/demo-hardcode.test, tests/demo-inst.test, tests/demo-make.test, tests/demo-nofast-exec.test, tests/demo-nofast-inst.test, tests/demo-nofast-make.test, tests/demo-nofast-unst.test, tests/demo-nofast.test, tests/demo-noinst-link.test, tests/demo-nopic-exec.test, tests/demo-nopic-make.test, tests/demo-nopic.test, tests/demo-pic-exec.test, tests/demo-pic-make.test, tests/demo-pic.test, tests/demo-relink.test, tests/demo-shared-exec.test, tests/demo-shared-inst.test, tests/demo-shared-make.test, tests/demo-shared-unst.test, tests/demo-shared.test, tests/demo-static-exec.test, tests/demo-static-inst.test, tests/demo-static-make.test, tests/demo-static-unst.test, tests/demo-static.test, tests/demo-unst.test: ...these legacy test cases, now removed. * tests/demo/Makefile.am, tests/demo/README, tests/demo/configure.ac, tests/demo/dlmain.c, tests/demo/foo.c, tests/demo/foo.h, tests/demo/hell1.c, tests/demo/hell2.c, tests/demo/hello.c, tests/demo/main.c: Remove. * configure.ac (CONF_SUBDIRS): Remove tests/demo. * Makefile.am: Adjust. tests: migrate legacy tests/cdemo tests to Autotest. * tests/cdemo.at: New Autotest groups, based on... * tests/cdemo-conf.test, tests/cdemo-exec.test, tests/cdemo-make.test, tests/cdemo-shared-exec.test, tests/cdemo-shared-make.test, tests/cdemo-shared.test, tests/cdemo-static-exec.test, tests/cdemo-static-make.test, tests/cdemo-static.test, tests/cdemo-undef-exec.test, tests/cdemo-undef-make.test, tests/cdemo-undef.test: ...these legacy test cases, now removed. tests/cdemo/Makefile.am, tests/cdemo/README, tests/cdemo/configure.ac, tests/cdemo/foo.c, tests/cdemo/foo.h, tests/cdemo/main.c: Remove. * configure.ac (CONF_SUBDIRS): Remove tests/cdemo. * Makefile.am: Adjust. maint: distribute a single ChangeLog file. * ChangeLog.1996, ChangeLog.1997, ChangeLog.1998, ChangeLog.1999, ChangeLog.2000, ChangeLog.2001, ChangeLog.2002, ChangeLog.2003, ChangeLog.2004, ChangeLog.2005, ChangeLog.2006, ChangeLog.2007, ChangeLog.2008, ChangeLog.2009, ChangeLog.2010: Remove. Content moved from here... * ChangeLog.old: ...to here. * Makefile.am (EXTRA_DIST): Update list of ChangeLog files. (changelog_old): New variable to hold path to ChangeLog.old file. ($(changelog)): Update to concatenate non-distributed ChangeLog.old file to distributed ChangeLog after git log entries. syntax-check: fix violations and implement sc_prohibit_space_semicolon. No need for a spurious space before a command ending semi-colon. * cfg.mk (sc_prohibit_space_semicolon): New test to catch accidental reintroduction of spurious spaces removed by this changeset. * bootstrap, build-aux/general.m4sh, build-aux/ltmain.m4sh, libltdl/lt__strl.c, m4/libtool.m4, m4/ltdl.m4, tests/bindir.at: Remove spurious spaces. 2012-10-03 Gary V. Vaughan <gary@gnu.org> Merge branch 'gary/reredo-test-operand-order' The original manually applied changeset 962aa91 contained several errors (some corrected by subsequent patches on master, others not) and many unrelated (although in this case, correct) changes were also committed in the same changeset. The merged branch gary/reredo-test-operand-order factors the unrelated changes out into separate commits, and performs the work that should have been in 962aa91 with a script, the results of which were then painstakingly inspected for errors. This merge moves the corrections for errors made in the original manual patch from the branch onto master. Please inspect the many separate changesets on the branch rather than the original patch when you bisect or otherwise find your way to an error caused by 962aa91. 2012-10-02 Gary V. Vaughan <gary@gnu.org> tests: simplify some shell code. * tests/fail.at: Simplify. * tests/static.at: Likewise. libtool: unroll complex nested compound statements * build-aux/ltmain.m4sh: Use an if statement instead of ugified compound statements. libtool: unroll nested if into a single case statement. * build-aux/ltmain.m4sh (func_mode_link): Unroll a hard to understad nested if statement into a more readable single case statement. libtool: simplify $skipped_export blocks * build-aux/ltmain.m4sh (func_mode_link): Save an if statement with '$skipped_export && { block; }' instead of 'if $skipped_export; then block; fi'. libtool: simplify an if statement * build-aux/ltmain.m4sh (func_mode_link): Reverse the branch order for an if statement for readability. * m4/libtool.m4: Likewise. libtool: save an if statement, with a compound statement. * build-aux/ltmain.m4sh (func_mode_link): Simplify. libtool: simplify multiple string tests * build-aux/ltmain.m4sh (func_mode_link): Save test invocations by using 'test x,y = "$a,$b"' instead of 'test x = "$a" && test y = "$b"'. * m4/libtool.m4: Likewise. libtool: fold if into a compound OR statement when more readable * build-aux/ltmain.m4sh (func_mode_link): For readability, use 'test string = "$var" || { stuff; }' in preference to 'if test string != "$var"; then stuff; fi'. libtool: use false or : for $rmforce, and simplify * build-aux/ltmain.m4sh (func_mode_uninstall): Save a string comparison by setting $rmforce to false or : and using it directly as the first argument to if. libtool: use false or : for $wrappers_required, and simplify * build-aux/ltmain.m4sh (func_mode_link): Save a string comparison by setting $wrappers_required to false or : and using it directly with a ored block rather than an if statement. libtool: use false or : for $linkalldeplibs, and simplify * build-aux/ltmain.m4sh (func_mode_link): Save a string comparison by setting $linkalldeplibs to false or : and using it directly as the first argument to if. libtool: use false or : for $valid_a_lib, and simplify * build-aux/ltmain.m4sh (func_mode_link): Save a string comparison by setting $valid_a_lib to false or : and using it directly as the first argument to if. libtool: use false or : for $found, and simplify * build-aux/ltmain.m4sh (func_mode_link): Save a string comparison by setting $found to false or : and using it directly as the first argument to if. libtool: use false or : for $alldeplibs, and simplify * build-aux/ltmain.m4sh (func_mode_link): Save a string comparison by setting $alldeplibs to false or : and using it directly as the first argument to if. libtool: use false or : for $preload, and simplify * build-aux/ltmain.m4sh (func_mode_link): Save a string comparison by setting $preload to false or : and using it directly instead of if statements. libtool: use false or : for $my_pic_p, and simplify * build-aux/ltmain.m4sh (func_generate_dlsyms): Save a string comparison by setting $my_pic_p to false or : and using it directly instead of calling if. Adjust all callers. libtool: use false or : for $finalize, and simplify * build-aux/ltmain.m4sh (func_mode_install): Save a string comparison by setting $finalize to false or : and using it directly as the first argument to if. libtool: use false or : for $isdir, and simplify * build-aux/ltmain.m4sh (func_mode_install): Save a string comparison by setting $isdir to false or : and using it directly as the first argument to if. syntax-check: [REDO] fix violations and implement sc_prohibit_test_const_follows_var. To safely use a non-literal fist argument to 'test', you must always prepend a literal non-'-' character, but often the second operand is a constant that doesn't begin with a '-' already, so always use 'test a = "$b"' instead of the noisy 'test "X$b" = Xa'. * cf.mk (sc_prohibit_test_const_follws_var): New syntax-check rule to ensure we don't reintroduce noisy test operands. bootstrap, build-aux/extract-trace, build-aux/general.m4sh, build-aux/ltmain.m4sh, configure.ac, doc/libtool.texi, libtoolize.m4sh, m4/argz.m4, m4/libtool.m4, m4/ltdl.m4, tests/bindir.at, tests/defs.m4sh, tests/demo-relink.test, tests/demo/configure.ac, tests/depdemo-relink.test, tests/destdir.at, tests/duplicate_conv.at, tests/fail.at, tests/getopt-m4sh.at, tests/help.at, tests/libtoolize.at, tests/link-2.test, tests/link-order2.at, tests/lt_dlopenext.at, tests/mdemo/configure.ac, tests/mdemo2/configure.ac, tests/need_lib_prefix.at, tests/nocase.at, tests/pdemo/configure.ac, tests/pic_flag.at, tests/search-path.at, tests/shlibpath.at, tests/static.at, tests/sysroot.at, tests/tagtrace.test, tests/testsuite.at, tests/with-pic.at: Swap operands to avoid useless noise. 2012-09-19 Peter Rosin <peda@lysator.liu.se> tests: skip with-pic test when no "real" pic flag is used. * tests/with-pic.at: Windows uses "-DDLL_EXPORT -DPIC" as the pic "flag", but never applies it to static libraries. Cater for this and skip if no "real" pic flag is in use. 2012-09-16 Gary V. Vaughan <gary@gnu.org> syntax-check: fix texinfo formatting flagged by prohibit_undesirable_word_seq. * doc/libtool.text: Fix several misuses of @xref and @pxref so that the prohibit_undesirable_word_seq syntax check passes again. syntax-check: remove useless_braces_in_variable_derefs. * build-aux/general.m4sh: Remove spurious braces around ${ZSH_VERSION} dereference. * build-aux/ltmain.m4sh (func_mode_link): Likewise for ${wl}. syntax-check: skip prohibit_strncpy. * cfg.mk (local-checks-to-skip): sc_prohibit_strncpy. syntax-check: skip prohibit_always_true_header_tests rule. * cfg.mk (local-checks-to-skip): Add sc_prohibit_always_true_header_tests. maint: Revert "bootstrap: delete unneeded README-release patch" This reverts commit 11cd425e7d47111956381dba28f8c1b34e14653f. These instructions are hard to find for new maintainers, so it's good to keep them to hand with the release notes. And the additional distchecks are important prior to a release. maint: remove unused cvsu script. * build-aux/cvsu: Remove. This script is not useful now that Libtool's repository is hosted in git. * Makefile.am (build_scripts): Remove cvsu reference. maint: run update-copyright for missing 2011 and 2012 years. See maintain.texi (Copyright Notices) for rules for maintaining the years in copyright notices. * All Files (Copyright): Updated with missing 2011 and 2012. bootstrap: use gnulib update-copyright script. See maintain.texi (Copyright Notices) for rules for maintaining the years in copyright notices. * bootstrap.conf (gnulib_modules): Add update-copyright. * cfg.mk (update-copyright-env): Set environment variables for update-copyright script. bootstrap: update bootstrap script to latest upstream. * bootstrap, build-aux/options-parser: apply upstream fixes and enhancements. git: don't complain about new parallel tests driver and file droppings. * build-aux/.gitignore: Ignore parallel `test-driver' script. * tests/.gitignore: Ignore `test-driver' .trs file droppings. gnulib: update local gnulib patches. * gl/build-aux/announce-gen.diff: Remove hunks adopted upstream. * gl/build-aux/do-release-commit-and-tag.diff: Refresh this patch to match current gnulib. gnulib: update gnulib submodule. bootstrap: ensure there is a ChangeLog before running automake. Automake refuses to run in GNU-mode unless there is a ChangeLog file in the top-level directory. * bootstrap.conf (libtool_force_changelog): Create a dummy ChangeLog. libtoolize: improve verbose mode output. * libtoolize (func_require_seen_ltdl) (func_require_seen_libtool): Output success message in verbose mode. 2012-08-22 Peter O'Gorman <peter@pogma.com> libtool: Add the 'n' to then. * m4/libtool.m4: fix typo. Reported by Brad Smith. 2012-08-22 Andreas Schwab <schwab@linux-m68k.org> libtool: Pass through -g* so that debugging information is not dropped * ltmain.m4sh (func_mode_link): Pass through -g*. 2012-08-22 David Edelsohn <dje.gcc@gmail.com> libtool: AIX PIC shared library support * m4/libtool.m4 (_LT_COMPILER_PIC): Add -fPIC to GCC and GXX for AIX. 2012-08-22 Brad Smith <brad@comstyle.com> libtool: Update/simplify OpenBSD support * m4/libtool.m4: Forget about 11 year old releases. 2012-08-19 Peter Rosin <peda@lysator.liu.se> libtool: quote progpath properly Attempt to handle spaces in paths better. * build-aux/ltmain.m4sh (func_mode_install, func_mode_link): Quote $progpath. * THANKS: Update. 2012-04-19 Mike Frysinger <vapier@gentoo.org> libtool: Handle getconf returning "undefined". * m4/libtool.m4: Check for "undefined" from `getconf`. 2012-03-17 Peter Rosin <peda@lysator.liu.se> bootstrap: delete unneeded README-release patch * gl/top/README-release.diff: Delete. 2012-03-16 Peter O'Gorman <peter@pogma.com> libtool: Fix typo that caused sys_lib_search_path_spec to be wrong. * m4/libtool.m4: s/lt_fooi/lt_foo/. Reported by Paul Seidler. 2012-02-21 Samuel Thibault <samuel.thibault@gnu.org> libtool: Improve GNU/Hurd support. * m4/libtool.m4: Add gnu* match where it was missing. 2012-02-19 Titus von Boxberg <titus@v9g.de> libtool: Accept clang's -stdlib linker flag. build-aux/ltmain.m4sh: Don't drop the -stdlib= flag. 2012-02-19 Juergen Reuter <reuter@t00pcx17094.desy.de> libtool: Enable nagfor fortran compiler support * build-aux/ltmain.m4sh: nagfor compatible version string. * m4/libtool.m4: nagfor support. 2012-02-19 Juergen Reuter <reuter@theoc01.desy.de> libtool: Fixing -shared error message for nagfor compiler. * m4/libtool.m4: Fix -shared. 2012-02-19 Pavel (Pasha) Shamis <shamisp@ornl.gov> ltdl: Improve debug error reporting in ltdl. * libltdl/ltdl.c: Print the error message if loading fails. 2012-02-19 Peter O'Gorman <peter@pogma.com> maint: Deleted unneeded gitlog-to-changelog patch * gl/build-aux/gitlog-to-changelog.diff: Delete. 2012-02-02 Roumen Petrov <bugtrack@roumenpetrov.info> (tiny change) fixup: restore EXPORTS test Commit v2.4.2-120-g962aa91 syntax-check: fix violations and implement sc_prohibit_test_const_follows_var inadvertedly reversed the meaning of the comparison. * build-aux/ltmain.m4sh (func_mode_link) [cygwin|mingw|cegcc]: Restore the EXPORTS test. We need to look at the symbols when it's _not_ already a .def file (in which case we trust the user input blindly). 2012-01-30 Peter Rosin <peda@lysator.liu.se> cwrapper: avoid surplus strlen calculations. * build-aux/ltmain.m4sh (func_emit_cwrapperexe_src:lt_update_exe_path): Avoid surplus strlen calculations. 2011-12-24 Gary V. Vaughan <gary@gnu.org> bootstrap: fix Autoconf version typo. * build-aux/options-parser: s/2\.62/2.68/ gnulib: update gnulib submodule. Among others, this fixes the reference to a local commit. * gnulib: Updated to todays master HEAD revision. * gl/top/README-release.diff: Update to account for changes to gnulib/top/README-release since the last gnulib update. 2011-12-18 Gary V. Vaughan <gary@gnu.org> libtool: make fork minimisation compatible with dash and zsh. * build-aub/general.m4sh (lt_HAVE_PLUSEQ_OP): Instead of using $((..)) arithmetic, which causes an error on dash, use a case based bash version check. (lt_HAVE_ARITH_OP, lt_HAVE_XSI_OPS): Also short circuit the feature probing forks and set these automatically when zsh is detected. Reported by Stefano Lattarini. bootstrap: adopt autoconf echo normalization code. Dash shipped with Ubutu-11.10 as /bin/sh, among others, still has a crippled echo builtin that mis-handles backslashes. * build-aux/options-parser (bs_echo): Adopt the autoconf echo normalization code to find a suitable replacement for buggy echo commands. Adjust all uses of echo to $bs_echo. * build-aux/extract-trace (func_extract_trace, func_main): Likewise. * bootstrap: To retain some execution speed on platforms with buggy builtin echo, replace most occurrences of `echo' with `$bs_echo' - except where its arguments will obviously never contain backslashes or be overly long. Reported by Reuben Thomas. libtool: minimise forks per invocation under bash. * build-aux/general.m4sh (lt_HAVE_PLUSEQ_OP, lt_HAVE_ARITH_OP) (lt_HAVE_XSI_OPS): Set these without forking a test script when running under bash, to avoid a few unnecessary forks. 2011-12-13 H.J. Lu <hongjiu.lu@intel.com> libtool: Support x32. * m4/libtool.m4 (_LT_ENABLE_LOCK): Support x32. 2011-12-08 Gary V. Vaughan <gary@gnu.org> maint: disable prohibit_always-defined_macros syntax check. Aside from Apple grep silently failing to run this test and report violations, libtool still uses non-gnulib versions of dirent.h and argz.h which use the same macros, but are not always-defined. * cfg.mk (local-checks-to-fix): Move sc_prohibit_always-defined_macros from here... (local-checks-to-skip): ...to here. Reported by Peter O'Gorman. tests: s/snippit/snippet/. * tests/demo/foo.h, tests/pdemo/foo.h: Spell `snippet' correctly. Reported by Stefano Lattarini. tests: make sure file restore traps are called correctly on AIX. * tests/demo-noinst-link.test (func_save_files): set the restore trap outside a function, otherwise AIX 5.3 /bin/sh will run the trap at the end of the function, instead of when the script exits. * tests/demo-relink.test (func_save_files): Ditto. * tests/depdemo-relink.test (func_save_files): Ditto. Reported by Stefano Lattarini. maint: eliminate some more spurious leading Xs. * m4/libtool.m4: Reverse argument order to eliminate spurious leading X's. bootstrap: put back missing spaces before parens. * bootstrap (func_require_buildreq_autobuild) (func_require_buildreq_automake): Vi's delete word command is too greedy and also eats trailing whitespace before following non-word-chars. Put back the spaces it ate so that syntax-checks pass once again. libtoolize: refactor copying filter creation. Prevent the various require_filter functions from becoming too long by factoring common code into new functions. * libtoolize (func_make_relative_dir_filter) (func_make_relative_ltdl_filter): New functions. Generalize and consolidate the various similar snippets for concatenating together the sed scripts for func_copy filtering. (require_filter_Makefile_am, require_filter_aclocal_m4) (require_filter_configure_ac): Simplify. (require_ltdl_relative_aux_dir): Remove. (require_ltdl_relative_macro_dir): Ditto. maint: pick XSI funcs at runtime, not configure time. Determine, on a function by function basis, what XSI features are available in the shell that is actually running the script, rather than the one that was picked at configure time by the re-execution engine. * m4/libtool.m4 (_LT_PROG_FUNCTION_REPLACE) (_LT_PROG_REPLACE_SHELLFNS): Remove. (_LT_CHECK_SHELL_FEATURES): Remove tests for XSI and += support. * build-aux/general.m4sh (func_append, func_append_quoted) (func_arith, func_len, func_basename, func_dirname) (func_dirname_and_basename, func_stripname): List both enhanced and fallback implementations, and choose one based on whether the enhanced features required by the fastest version are available. * build-aux/getopt.m4sh (func_split_short_opt) (func_split_long_opt): Ditto. * build-aux/ltmain.m4sh (func_lo2o, func_xform): Ditto. * tests/getopt-m4sh.at: Add tests for enhanced and fallback implementations of func_arith, func_len, func_stripname and func_dirname_and_basename. * NEWS: Updated. maint: share useful functions from general.m4sh. * build-aux/ltmain.m4sh (func_append, func_append_quoted) (func_arith, func_len): Removed from here... * build-aux/general.m4sh (func_append, func_append_quoted) (func_arith, func_len): ...and added to here. (func_dirname, func_dirname_and_basename, func_normal_abspath) (func_relative_path): Use func_append. * tests/getopt-m4sh.at (_LT_AT_FALLBACK_FUNC_EXTRACT): Removed. Fallback functions are now in any m4sh generated file automatically. libtoolize: reorder function definitions to keep func_filter_* together. * libtoolize: Restore asciibetical order, so that all the filter function definitions are together. libtoolize: use _filter as a prefix for better ordering. * libtoolize.m4sh (require_Makefile_am_filter) (require_ltdl_mk_filter, require_aclocal_m4_filter) (require_configure_ac_filter): Rename these functions from this... (require_filter_Makefile_am, require_filter_ltdl_mk) (require_filter_aclocal_m4, require_filter_configure_ac): ...to this, respectively. Adjust all callers. (Makefile_am_filter, ltdl_mk_filter, aclocal_m4_filter) (configure_ac_filter): Rename these global variables from this... (filter_Makefile_am, filter_ltdl_mk, filter_aclocal_m4) (filter_configure_ac): ...to this, respectively. libtoolize: rename ltdl.mk filter function. * libtoolize.m4sh (require_Makefile_inc_filter): Rename from this... (require_ltdl_mk_filter): ...to this. Adjust all callers. bootstrap: escape quotes properly in generated functions. * bootstrap: Although not a real bug, for consistency, be sure to correctly escape single quotes inside a single quoted function generator. bootstrap: reorder function definitions to keep func_buildreq_* together. * bootstrap: Restore asciibetical order, so that all the buildreq function definitions are together. bootstrap: use _buildreq as a prefix for better ordering. * bootstrap (require_autobuild_buildreq) (require_autoconf_buildreq, require_automake_buildreq) (require_autopoint_buildreq, require_libtoolize_buildreq) (require_patch_buildreq): Rename from these... (require_buildreq_autobuild, require_buildreq_autoconf) (require_buildreq_automake, require_buildreq_autopoint) (require_buildreq_libtoolize, require_buildreq_patch): ...to these, respectively. Adjust all callers. bootstrap: ensure consistent function header comments. * bootstrap (require_bootstrap_uptodate) (require_buildtools_uptodate): Use `require_...' in header comment for these functions to be consistent with the rest, rather than `func_require_...'. bootstrap: make sure patch is available to bootstrap if necessary. Make sure we're not lacking any functionality provided by the incumbent gnulib bootstrap script, and where it's easy to do so (like it is here), provide better functionality! * bootstrap (require_patch): Make sure that PATCH expands to the best `patch' command available on the system, honouring overrides in the users environment. (require_patch_buildreq): Automatically add a requirement for a patch command to buildreq when there are diff files in $local_gl_dir. (func_require_buildtools_uptodate): Call require_patch_buildreq before testing build tool versions. (func_gnulib_tool_copy_file): Make sure PATCH is set before using gnulib-tool to copy files. 2011-11-26 Gary V. Vaughan <gary@gnu.org> m4: fix logic error leading to -fno-rtti being added wrongly. * m4/libtool.m4 (_LT_COMPILER_OPTION): Negate comparison so that compiler flags are added correctly. maint: Fix generated ChangeLog typos. * build-aux/git-log-fix: Spell Stefano Lattarini's name correctly. Don't use my home email address for GNU commits. 2011-11-25 Gary V. Vaughan <gary@gnu.org> syntax-check: fix violations and implement sc_useless_braces_in_variable_derefs. Until now, libtool sources have used braced variable names seemingly at random! Almost always the braces are just noise, so remove all the unnecessary ones. * cfg.mk (sc_useless_braces_in_variable_derefs): New syntax check rule to ensure we only reintroduce braced variable dereferences if they are followed by a valid variable name character. build-aux/general.m4sh, build-aux/git-hooks/commit-msg, build-aux/ltmain.m4sh, build-aux/options-parser, configure.ac, libltdl/configure.ac, m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4, tests/defs.m4sh, tests/demo-nopic.test, tests/depdemo/configure.ac, tests/flags.at, tests/link.test, tests/objectlist.test, tests/quote.test, tests/static.at: Remove spurious braces. syntax-check: fix violations and implement sc_prohibit_sed_s_comma. I like to name temporary directories that I will remove shortly with two leading commas so that they sort lexicographically at the top of `ls' output. Now, `./configure --prefix=`pwd`/,,inst' works again, for the first time in several years. * cfg.mk (sc_prohibit_sed_s_comma): Comma is too common a character to use routinely as the separator for sed substitutions on file paths and other variables determined by the user, causing bugs like the one I describe above. Make sure we don't accidentally reintroduce any comma separators in future. * Makefile.am, bootstrap, bootstrap.conf, build-aux/extract-trace, build-aux/general.m4sh, build-aux/git-hooks/commit-msg, build-aux/git-log-fix, build-aux/ltmain.m4sh, libtoolize.m4sh, m4/libtool.m4, m4/ltdl.m4, tests/cdemo-undef.test, tests/cmdline_wrap.at, tests/darwin.at, tests/defs.m4sh, tests/getopt-m4sh.at, tests/install.at, tests/libtoolize.at, tests/mdemo/Makefile.am, tests/need_lib_prefix.at, tests/sysroot.at, tests/tagdemo-undef.test, tests/testsuite.at: Try to use `|' as the default separator wherever possible, otherwise something else that doesn't occur in the substitution expression. * NEWS: Updated. syntax-check: fix violations and implement sc_prohibit_bare_basename. * cfg.mk (sc_prohibit_bare_basename, sc_prohibit_basename_with_sed): Make sure not to go back to using occasional `|$basename' or `|$dirname' syntax. * build-aux/git-hooks/commit-msg, build-aux/ltmain.m4sh, * build-aux/options-parser, tests/fcdemo-conf.test, * tests/fcdemo-shared.test, tests/fcdemo-static.test, * tests/libtoolize.at: Fix violations. tests: migrate tests/sh.test checks to syntax-checks. Some modernization of the legacy testsuite. * tests/sh.test: Remove. * Makefile.am (COMMON_TESTS): Adjust. * cfg.mk (sc_libtool_m4_cc_basename, sc_prohibit_bracket_as_test) (sc_prohibit_nested_quotes, sc_prohibit_set_dummy_without_shift) (sc_prohibit_set_minus_minus, sc_prohibit_test_binary_operators) (sc_prohibit_test_dollar, sc_prohibit_test_minus_e) (sc_prohibit_test_unary_operators, sc_prohibit_test_X) (sc_prohibit_Xsed_withou_X, sc_require_function_nl_brace): Functionally identical tests to what used to be performed by sh.test, only with coverage of all files. * bootstrap, build-aux/edit-readme-alpha, build-aux/extract-trace, build-aux/getopt.m4sh, build-aux/ltmain.m4sh, configure.ac, m4/libtool.m4, m4/ltdl.m4, tests/bindir.at, tests/configure-iface.at, tests/cwrapper.at, tests/darwin.at, tests/defs.m4sh, tests/demo-hardcode.test, tests/dlloader-api.at, tests/exceptions.at, tests/getopt-m4sh.at, tests/lalib-syntax.at, tests/link-2.test, tests/link-order2.at, tests/loadlibrary.at, tests/lt_dladvise.at, tests/lt_dlexit.at, tests/lt_dlopen_a.at, tests/lt_dlopenext.at, tests/need_lib_prefix.at, tests/nonrecursive.at, tests/recursive.at, tests/resident.at, tests/standalone.at, tests/static.at, tests/stresstest.at, tests/subproject.at, tests/sysroot.at, tests/tagtrace.test, tests/testsuite.at: Fix violations of the new syntax checks. syntax-check: fix violations and implement sc_useless_quotes_in_assignment. Contrary to popular belief, Bourne shell does not resplit RHS of assignments after expansion, so if there are no unquoted shell metacharacters or whitespace, the quotes are useless. * cfg.mk (_sc_search_regexp_or_exclude): A variation of gnulib's _sc_search_regexp that also allows individual exclusions at the site of what would otherwise match by adding a comment. (sc_useless_quotes_in_assignment): New syntax-check rule to ensure we don't reintroduce useless quoted assignments. * bootstrap, bootstrap.conf, build-aux/edit-readme-alpha, build-aux/general.m4sh, build-aux/getopt.m4sh, build-aux/ltmain.m4sh, build-aux/options-parser, configure.ac, doc/libtool.texi, libtoolize.m4sh, m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4, tests/cwrapper.at, tests/defs.m4sh, tests/lalib-syntax.at, tests/libtoolize.at, tests/lt_dlopenext.at, tests/mdemo/configure.ac, tests/mdemo2/configure.ac, tests/need_lib_prefix.at, tests/no-executables.at, tests/quote.test, tests/suffix.test: Remove spurious quotes. syntax-check: fix violations and implement sc_useless_quotes_in_case. Contrary to popular belief, Bourne shell does not resplit case expressions after expansion, so if there are no unquoted shell metacharacters or whitespace, the quotes are useless. * cfg.mk (sc_useless_quotes_in_case): New syntax-check rule to ensure we don't reintroduce useless quoted case expressions. * build-aux/ltmain.m4sh, m4/libtool.m4, tests/bindir.at, tests/darwin.at, tests/defs.m4sh, tests/demo-hardcode.test, tests/demo-nopic.test, tests/link-2.test, tests/quote.test, tests/sysroot.at: Remove spurious quotes. maint: quote $file correctly in bootstrap. * bootstrap (func_insert_sorted_if_absent): Don't forget the double quotes, since we can't control the content of $file. Reported by Stefano Lattarini. build: fix a quoting bug when regenerating with bootstrap_edit. * Makefile.am (m4/ltversion.m4, build-aux/ltmain.sh): The bootstrap_edit make macro already contains double quotes, so when echoing it, don't surround it with more double quotes since it is not escaped. 2011-11-17 Gary V. Vaughan <gary@gnu.org> dist: hook syntax-check into `make distcheck'. To make sure we don't accidentally release anything with failing syntax-checks, have `make distcheck' run the syntax-checks automatically. * Makefile.am (distcheck-hook): New rule depending on syntax-check. syntax-check: enable sc_prohibit_always_true_header_tests. * cfg.mk (local-checks-to-fix): Remove sc_prohibit_always_true_header_tests from list of disabled checks, because it no longer flags any violations. syntax-check: enable sc_program_name. * cfg.mk (local-checks-to-skip): Remove sc_program_name list of disabled checks. (exclude_file_name_regexp--sc_program_name): Don't check demo programs for use of set_program_name. syntax-check: enable sc_bindtextdomain. * cfg.mk (local-checks-to-skip): Remove sc_bindtextdomain list of disabled checks. (exclude_file_name_regexp--sc_bindtextdomain): Don't check demo programs for use of bindtextdomain. syntax-check: fix violations and implement sc_trailing_blank-non-rfc3676. * cfg.mk (local-checks-to-fix): Move sc_trailing_blank from here... (local-checks-to-skip): ...to here, because otherwise it flags valid RFC3676 signature blocks. (sc_trailing_blank-non-rfc3676): An improved sc_trailing_blank implementation that doesn't flag signature blocks as violations. * Makefile.am, bootstrap.conf, doc/PLATFORMS, libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4, libltdl/m4/lt~obsolete.m4, tests/archive-in-archive.at, tests/convenience.at, tests/darwin.at, tests/depdemo/l1/l1.c, tests/depdemo/l2/l2.c, tests/depdemo/l3/l3.c, tests/depdemo/l4/l4.c, tests/f77demo/README, tests/f77demo/cprogram.c, tests/f77demo/foof.f, tests/f77demo/foof2.f, tests/f77demo/foof3.f, tests/f77demo/fprogram.f, tests/fcdemo/README, tests/fcdemo/cprogram.c, tests/fcdemo/foof.f90, tests/fcdemo/foof2.f90, tests/fcdemo/foof3.f90, tests/fcdemo/fprogram.f90, tests/mdemo/README, tests/mdemo/main.c, tests/mdemo/mlib.c, tests/objectlist.test, tests/static.at, tests/template.at, tests/testsuite.at: Remove trailing blanks. syntax-check: fix violations and re-enable sc_useless_cpp_parens. * cfg.mk (local-checks-to-fix): Remove sc_useless_cpp_parens from list of disabled checks. * doc/libtool.texi, libltdl/argz.c, libltdl/argz_.h, build-aux/ltmain.m4sh, libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h, libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h, libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, libltdl/loaders/dyld.c, libltdl/loaders/loadlibrary.c, libltdl/loaders/shl_load.c, libltdl/lt__dirent.c, libltdl/lt__strl.c, libltdl/ltdl.c, libltdl/ltdl.h, libltdl/m4/libtool.m4, tests/demo/foo.h, tests/depdemo/sysdep.h, tests/exceptions.at, tests/export.at, tests/pdemo/foo.h, tests/stresstest.at: Remove useless parens in cpp `#if defined(foo)' statements. syntax-check: fix violations and re-enable sc_space_tab. * cfg.mk (local-checks-to-fix): Remove sc_space_tab from list of disabled checks. (exclude_file_name_regexp--sc_space_tab): Don't flag space-tab sequences in diff files as an error. * Makefile.am, build-aux/general.m4sh, build-aux/git-hooks/commit-msg, build-aux/ltmain.m4sh, libltdl/loaders/dyld.c, libltdl/loaders/shl_load.c, libltdl/ltdl.h, libltdl/ltdl.mk, libltdl/slist.c, libtoolize.m4sh, m4/ltoptions.m4, tests/demo/dlmain.c, tests/depdemo/main.c, tests/libtoolize.at, tests/lt_dladvise.at, tests/pdemo/longer_file_name_dlmain.c, tests/sh.test, tests/static.at, tests/stresstest.at, tests/template.at: Fix space-tab sequences by reversing them in regexps, and deleting leading spaces in indentation. syntax-check: fix violations and re-enable sc_prohibit_undesirable_word_seq. * cfg.mk (local-checks-to-fix): Remove sc_prohibit_undesirable_word_seq from list of disabled checks. * doc/libtool.texi, build-aux/ltmain.m4sh, libltdl/m4/libtool.m4, libtoolize.m4sh: Replace all uses of "can not" with "cannot". syntax-check: fix violations and re-enable sc_probibit_test_minus_ao. * cfg.mk (local-checks-to-fix): Remove sc_probhibit_test_minus_ao from list of disabled checks. (exclude_file_name_regexp--sc_prohibit_tests_minus_ao): The matches from this syntax-check in libtool.m4 are all bogus. syntax-check: fix violations and re-enable sc_prohibit_strcmp. * cfg.mk (local-checks-to-fix): Remove sc_prohibit_strcmp from list of disabled checks. (exclude_file_name_regexp--sc_prohibit_strcmp): Ignore violations in libtool.texi and any demo C files. * libltdl/libltdl/lt__private.h (strneq, streq): Renamed from this... (STRNEQ, STREQ): ..to this. Adjust all callers. * tests/slist.at: Add STREQ definition. Change all !strcmp calls to STREQ. * build-aux/ltmain.m4sh (func_emit_cwrapperexe_src): Add and use STREQ definition. syntax-check: fix violations and re-enable sc_prohibit_stddef_without_use. * cfg.mk (local-checks-to-fix): Remove sc_prohibit_stddef_without_use from list of disabled checks. * libltdl/argz.c, libltdl/lt__dirent.c, libltdl/slist.c: Remove spurious stddef.h #include lines. syntax-check: fix violations and re-enable sc_prohibit_magic_number_exit. * cfg.mk (local-checks-to-fix): Remove sc_prohibit_magic_number_exit from list of disabled checks. * ltmain.c: Removed unused file. syntax-check: fix violations and re-enable sc_prohibit_have_config_h. * cfg.mk (local-checks-to-fix): Remove sc_prohibit_have_config_h from list of disabled checks. * tests/f77demo/foo.h, tests/fcdemo/foo.h: Remove spurious HAVE_CONFIG_H guards for #include <config.h>. syntax-check: fix violations and re-enable sc_prohibit_empty_lines_at_EOF. * cfg.mk (local-checks-to-fix): Remove sc_prohibit_empty_lines_at_EOF from list of disabled checks. * THANKS, libltdl/argz.c, libltdl/config/getopt.m4sh, tests/f77demo/README, tests/f77demo/cprogram.c, tests/f77demo/fprogram.f, tests/fcdemo/README, tests/fcdemo/cprogram.c, tests/libtoolize.at, tests/mdemo/README, tests/mdemo2/README, tests/pdemo-inst.test: Remove spurious empty lines from the end of these files. syntax-check: fix violations and re-enable sc_prohibit_doubled_word. * cfg.mk (local-checks-to-fix): Remove sc_prohibit_doubled_word from list of disabled checks. * build-aux/general.m4sh (func_quote_for_eval): Remove one of a pair of "and"s in a comment. * tests/lt_dladvise.at (hint_global): Remove one of a pair of consecutive "to"s split across lines in a comment. syntax-check: fix violations and re-enable sc_prohibit_cvs_keyword. * cfg.mk (local-checks-to-fix): Remove sc_prohibit_cvs_keyword from list of disabled checks. * tests/tagdemo/README: Remove spurious CVS keyword. syntax-check: fix violations and re-enable sc_makefile_at_at_check. At some point we were supporting some undetermined `broken make', as evidenced by having carried the following code since 2003: ## use @LIBLTDL@ because some broken makes do not accept ## macros in targets, we can only do this because our LIBLTDL ## does not contain $(top_builddir). @LIBLTDL@: $(top_distdir)/libtool \ ... However, we've also had *many* cases of macros in targets for just as long, so most likely we never fully supported makes allegedly broken in this way. As of this release, we explicitly no longer support make implementations that do not accept macros in targets. * cfg.mk (local-checks-to-fix): Remove sc_makefile_at_at_check from list of disabled checks. * configure.ac (order-only prerequisites): Test with the order-only pipe symbol in a macro. * Makefile.am, tests/mdemo/Makefile.am: Convert all @FOO@ to $(FOO). syntax-check: fix violations and re-enable sc_makefile_TAB_only_indentation. * cfg.mk (local-checks-to-fix): Remove sc_makefile_TAB_only_indentation from list of disabled checks. * Makefile.am (libltdl/Makefile.am): Replace leading spaces with TABs. * libltdl/Makefile.am (libltdl_libltdl_la_SOURCES): Ditto. syntax-check: fix violations and re-enable sc_m4_quote_check. * cfg.mk (local-checks-to-fix): Remove sc_m4_quote_check from list of disabled checks. * libltdl/m4/libtool.m4 (_LT_CHECK_OBJDIR): Quote LT_OBJDIR correctly. syntax-check: fix violations and re-enable sc_file_system. * cfg.mk (local-checks-to-fix): Remove sc_file_system from list of disabled checks. (VC_LIST_ALWAYS_EXCLUDE_REGEX): Match mail directory correctly to avoid running its contents through syntax-check. * build-aux/ltmain.m4sh (func_mode_link): Use correct spelling for "file system". * libltdl/ltdl.c (try_dlopen): Ditto. * tests/dlloader-api.at: Ditto. syntax-check: fix violations and re-enable sc_error_message_uppercase. * cfg.mk (local-checks-to-fix): Remove sc_error_message_uppercase from list of disabled checks. (exclude_file_name_regexp--sc_error_message_uppercase): Don't match cvsu, which is not our file to edit. * doc/libtool.texi: Use lowercase error message in example. syntax-check: rationale for disabling sc_cast_of_x_alloc_return_value. * cfg.mk: Note that we support C++ compilation of libltdl, which in turn requires that *alloc return values be cast correctly. syntax-check: fix violations and re-enable sc_cast_of_argument_to_free. * cfg.mk (local-checks-to-fix): Remove sc_cast_of_argument_to_free from list of disabled checks. * build-aux/ltmain.m4sh, libltdl/libltdl/lt__alloc.h, libltdl/lt__dirent.c: Casting argument to free is never necessary. syntax-check: fix violations and re-enable sc_avoid_if_before_free. * cfg.mk (local-checks-to-fix): Remove sc_avoid_if_before_free from list of disabled checks. According to gnulib/doc/free.texi: "On old platforms such as SunOS4, @code{free (NULL)} fails. However, since all such systems are so old as to no longer be considered ``reasonable portability targets,'' this module is no longer useful." * libltdl/libltdl/lt__alloc.h (FREE, MEMREASSIGN): Don't protect against freeing NULL bug on SunOS4. syntax-check: skip sc_unmarked_diagnostics. * cfg.mk (local-checks-to-fix): Move sc_unmarked_diagnostics from here... (local-checks-to-skip): ...to here. libtoolize: rename `libltdl/config' directory to standard `build-aux'. In addition to moving the autoconf auxiliary script directory into the place expected by GNU developers ($top_srcdir/build-aux) we also simplify libtoolize somewhat by having libltdl use whatever directory was specified by the parent project. This is much more flexible, allows libltdl client projects to also use a single canonical `$top_srcdir/build-aux' auxiliary script directory, and maintains backward compatibility with existing projects that wish to continue using $ltdl_dir/config. * libltdl/config: Moved whole directory from here... * build-aux: ...to here. * libtoolize.m4sh (func_install_pkgaux_subproject): Remove. (func_install_pkgaux_parent): Remove. (func_install_pkgaux_files): Considerably simplified now that we have only a single auxiliary directory to worry about. (subproject_aux_dir): Remove. * bootstrap.conf (libtool_readme_release_package_substitutions): No need to substitute our old unusual aux_dir location into README-release any more. * cfg.mk (_build-aux): Now that we use the standard location for this directory, no need to set this variable either. * configure.ac (AC_INIT): git-version-gen has moved. (AC_CONFIG_AUX_DIR): Adjust. * Makefile.am (stamp-mk, auxexefiles, auxfiles) (install-data-local): Use build-aux instead of config. (libltdl/stamp-mk): Ditto. * libltdl/configure.ac, tests/cdemo/configure.ac, tests/demo/configure.ac, tests/depdemo/configure.ac, tests/f77demo/configure.ac, tests/fcdemo/configure.ac, tests/mdemo/configure.ac, tests/mdemo2/configure.ac, tests/pdemo/configure.ac, tests/tagdemo/configure.ac (AC_CONFIG_AUX_DIR): Ditto. * tests/defs.m4sh (aux_dir): Ditto. * tests/configure-iface.at, tests/getopt-m4sh.at, tests/libtoolize.at, tests/subproject.at, tests/testsuite.at: Ditto. * Makefile.am (ltdl_ac_aux_dir): Extract at build-time... * libtoolize.m4sh (require_ltdl_ac_aux_dir): ...so that libtoolize can access it at runtime without requiring GNU M4 via the extract-trace script. (require_Makefile_am_filter): Use it to determine whether the aux_dir declared in the current (parent) project configure is compatible with the declarations in installed ltdl autotools source files. (require_configure_ac_filter): New function to perform similar checks and rewrite configure.ac during installation if necessary. * NEWS: Updated. libtoolize: aux scripts go in ltdl dir when parent has no configure. When using libtoolize to install subproject libltdl into a parent project that does not use autotools, set the default directory for auxiliary scripts inside libltdl rather than littering the parent project with files it doesn't use. * libtoolize.m4sh (func_require_ac_aux_dir): In verbose mode, report results like other require_ funcs. (func_require_aux_dir): Put subproject auxiliary files into ltdl directory where libltdl/configure will be able to find `install-sh' and others. libtoolize: simplify runtime by substituting pkgauxdir. * Makefile.am (configure_edit): Substitute pkgauxdir. * libtoolize.m4sh (func_install_pkgaux_subproject) (func_install_pkgaux_parent, extract_trace): Use it. libtoolize: generate require_ltdl_relative_aux_dir definition. * libtoolize.m4sh (require_ltdl_relative_macro_dir): Change to be generated function... (require_ltdl_relative_aux_dir): ...so that we can easily generate this very similar function from the same code. libtoolize: rename `libltdl/m4' directory to standard `m4'. In addition to moving the autoconf macro directory into the place expected by GNU developers ($top_srcdir/m4), we also simplify libtoolize somewhat by having libltdl use whatever directory was specified by the parent project. This is much more flexible, allows libltdl client projects to also use a single canonical `$top_srcdir/m4' macro directory, and maintains backward compatibility with existing projects that wish to continue using $ltdl_dir/m4. * libltdl/m4: Moved to it's parent directory. * Makefile.am (ACLOCAL_AMFLAGS, BUILDCHECK_ENVIRONMENT) (libltdl/Makefile.am, libltdl/aclocal.m4): Adjust. * configure.ac (AC_CONFIG_MACRO_DIR): Adjust. * libltdl/configure.ac (AC_CONFIG_MACRO_DIR): Remove. The libtoolize script can pick up the project macro directory from ACLOCAL_AMFLAGS in libltdl/Makefile.am, saving us from needing to regenerate configure for the sake of a different macro directory declared in the libltdl using client project. * libtoolize.m4sh (func_install_pkgmacro_subproject): Remove. (func_install_pkgmacro_parent): Remove. (subproject_macro_dir): Remove. (require_libltdl_Makefile_am, require_ltdl_aclocal_amflags) (require_ltdl_am_macro_dir): New functions, generated at runtime by adding libltdl/Makefile.am to the generation loop. (func_install_pkgmacro_files): Considerably simplified now that we have only a single macro directory to worry about. (require_ltdl_relative_macro_dir): New function. Calculate the relative path from $ltdl_dir to the parent project macro_dir. (require_Makefile_am_filter): Depending on $ltdl_mode, edit Makefile.am ACLOCAL_AMFLAGS to use the parent project macro directory if necessary. (require_aclocal_m4_filter): Make sure m4_includes point to the correct macro directory by editing the file as it is copied into the parent project. (func_install_pkgltdl_files): Use the filters. (func_check_macros): Remove various advice that no longer applies with an always shared macro directory. (func_require_ltdl_dir): Don't default ltdl_dir to subproject when `--ltdl' was not given. (func_require_ltdl_mode): Leave ltdl_mode empty when ltdl_dir is not set. (func_require_macro_dir): Default to $ltdl_dir/m4 in subproject mode with no other directory implied by AC_CONFIG_MACRO_DIR or ACLOCAL_AMFLAGS, otherwise m4 as before. * tests/libtoolize.at: Match new "creating file `Makefile.am'" messages correctly. (subproject ltdl with non-shared directories): This test no longer makes sense, so repurposed... (subproject ltdl with non-canonical macro dir): ...this, to ensure subproject ltdl continues to automatically share the parent macro directory. * tests/cdemo/Makefile.am, tests/demo/Makefile.am, tests/depdemo/Makefile.am, tests/f77demo/Makefile.am, tests/fcdemo/Makefile.am, tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am (ACLOCAL_AMFLAGS): Use new location of macro_dir. * NEWS: Updated. libtoolize: rename `Makefile.inc' to standard `ltdl.mk'. * libltdl/Makefile.inc: Moved from here... * libltdl/ltdl.mk: ...to here. * Makefile.am, bootstrap.conf, tests/libtoolize.at, tests/nonrecursive.at: Adjust. * libtoolize.m4sh (func_install_pkgltdl_files): Set the destination file to `Makefile.inc' if grep finds an include for that name in a top-level Makefile.am. (func_check_macros): Print a deprecation warning if use of the old `Makefile.inc' convention is found. * tests/old-ltdl-iface.at: New test for renaming and warning correctly when `Makefile.inc' convention is still in use. * NEWS: Updated. libtoolize: refactor ACLOCAL_AMFLAGS extraction. Another simple refactor to simplify following changesets. * libtoolize.m4sh (require_Makefile_am, require_aclocal_amflags) (require_am_macro_dir): Generate these functions at runtime. libtoolize: rename require_makefile_am to require_Makefile_am. A simple refactoring to keep the next change self-contained. * libtoolize.m4sh (require_makefile_am): Renamed from this... (require_Makefile_am): ...to this. libtoolize: simplify copying of files that are edited during install. * libltdl/Makefile.inc (EXTRA_DIST): Don't list autotools files that Automake automatically adds to a (subproject) distribution... * Makefile.am (EXTRA_DIST): ...although, our layout is a bit odd because we reuse libltdl/Makefile.inc in non-recursive mode in our own tree, so we do need to add those very same files here... * libtoolize.m4sh (require_Makefile_am_filter) (require_Makefile_inc_filter): ...all of which means we no longer need to manually remove those files at libtoolize time. These two new functions are factored out of... (func_fixup_Makefile): ...this old function, now removed. (func_copy): Add support for an optional sed script as the last argument to filter the content of a file as it is copied. (func_install_pkgltdl_files): Much simplified by $require_<foo> the relevant filter scripts and passing them to func_copy. libtoolize: simplify file-copying and -linking call-graph. * libtoolize.m4sh (TAR): Remove. (func_copy_some_files, func_copy_cb): Remove. (func_copy): Refactor from all of the above, and simplify. No need to use $TAR to preserve timestamps when copying, since we've been running touch right afterwards anyway. Adjust all callers to use the new argument footprint. (func_serial_update, func_keyword_update): Delete any pre- existing destination file when used with `--force' before calling func_copy, now that the hardcoded special cases are not in there any more. (func_install_pkgmacro_subproject) (func_install_pkgaux_subproject): Use our own file loop - func_copy subsumes all the checks previously in func_copy_some_files, but operates on only one file at a time. (func_install_pkgltdl_files): Similarly, handle aclocal.m4 and configure special cases here, before calling func_copy. * tests/libtoolize.at: Make sure we match corrected "copying `configure.ac'" output. maint: generate full and correct ChangeLog. * gnulib: Updated to pick up gitlog-to-changelog multi-author support. * gl/build-aux/gitlog-to-changelog.diff: Use gnulib-rejected patch for '(tiny change)' support. * Makefile.am (ChangeLog): Use gitlog-to-changelog --amend=F option. * libltdl/config/git-hooks/commit-msg: New commit message hook for git. * libltdl/config/git-log-fix: New file, with ChangeLog fixes. * HACKING (Using git): Update. 2011-11-16 Gary V. Vaughan <gary@gnu.org> options-parser: provide a saner pluggable API. It's much too easy to forget that the functions you hook into the option parser need to return unconsumed options in the variable `func_run_hooks_result'; better to follow the convention used in the rest of bootstrap and return results in a variable named after the function with `_result' appended. * libltdl/config/options-parser (func_run_hooks): implement this new API. (Option parsing): Update the example in the header comment for this section to reflect the changes. * bootstrap (bootstrap_options_prep, bootstrap_parse_options) (bootstrap_validate_options): Adjust. * bootstrap.conf (libtool_options_prep, libtool_parse_options) (libtool_validate_options): Ditto. bootstrap: display accurate usage message. After splitting bootstrap up, we also lost bootstrap's usage message, and were incorrectly displaying a partial extract-trace message. * bootstrap (usage): Set appropriately. bootstrap: accept --gnulib-srcdir=/path/to/gnulib again. During the split of bootstrap into options-parser and extract-trace, the generic long-option splitting code got lost. * libltdl/config/options-parser (func_parse_options): Add the code to split any long option separated by an equals from its optarg back in. Reported by Roumen Petrov. 2011-11-15 Gary V. Vaughan <gary@gnu.org> gnulib: update gnulib submodule. Among others, this fixes a bug in _build-aux expansion so that `make syntax-check' works again. * gnulib: Updated to today's master HEAD revision. * gl/top/maint.mk.diff: Remove. This patch has been applied upstream already. libtoolize: remove NL2SP and initialisation. There's only a single use of NL2SP, and that is redundant. * libtoolize.m4sh (func_serial_update): Factor away use of NL2SP. (NL2SP, SP2NL): Remove initialisation. bootstrap: remove consumed options from the list to be processed. Fix a bug where processed bootstrap options were not removed from the queue, and eventually flagged as unknown in the pluggable option parser driver. * bootstrap (bootstrap_parse_options) (bootstrap_validate_options): Follow the pluggable option parser API correctly, and set func_run_hooks_result to the list of remaining unconsumed options. Reported by Roumen Petrov. 2011-11-14 Gary V. Vaughan <gary@gnu.org> libtoolize: refactor $opt_quiet, func_echo and func_echo_once. Instead of long sequences checking for setting of $opt_quiet, followed by one or more func_echo variations, add and use a new function func_whisper - the complement of func_verbose. * libtoolize.m4sh (func_whisper): New function. Adjust all callers previously using `$opt_quiet || func_echo ...'. (func_whisper_once): Ditto, for `$opt_quiet || func_echo_once ...'. (func_whisper_hdr): New function, adjust all callers previously using `func_whisper_once ...; func_whisper ...'. (func_whisper_error_header): Ditto, but calling func_error. (func_echo_once): Remove. libtoolize: update a bit-rotted comment. * libtoolize (func_copy_cb): Since this comment was written, the function has been changed to timestamp files as it copies. Update the comment to reflect that. general.m4sh: relative path to the same directory is `.'. * general.m4sh (func_relative_path): We sometimes want to use the result of this function directly, rather than purely as a prefix, so we need to return `.' when both directories end up at the same location. ltmain.sh: append relative path trailing slashes explicitly. In addition to being more idiomatic, and hence minimising suprises, seeing the slash written explicity when appending to the result of a relative path calculation is a lot more readable. * libltdl/config/general.m4sh (func_relative_path): Don't append an implicit trailing slash... * libltdl/config/ltmain.m4sh (func_mode_link): ...write it explicitly at the time of use. 2011-11-09 Gary V. Vaughan <gary@gnu.org> build: use pkgauxdir for local install and uninstall rules. * Makefile.am (pkgauxdir): Set it correctly. (uninstall-hook): Use it for pkgaux_scripts and pkgaux_data_files. (install-data-local): Ditto. Remove `config/' prefix from extract-trace and option-parser items. 2011-11-08 Gary V. Vaughan <gary@gnu.org> install: correct a typo in pkgaux_files location. * Makefile.am (install-data-local): Install pkgaux_files directly from $(aux_dir) [./libltdl/config at the moment]. libtoolize: order pkgltdl_files to avoid reconfiguration. * Makefile.am (pkgltdl_files): aclocal.m4 depends on configure.ac, and will cause spurious reconfiguration of freshly `libtoolize --ltdl' tree if we don't ensure configure.ac is the older of these two files. * tests/libtoolize.at: Adjust expout order to match. build: remove an over-exuberant $(srcdir) prefix. * Makefile.am (git_version_gen): No need for an extra $(srcdir) in the path when we always use after `cd $(srcdir). libtoolize: massage installed auxiliary script list at make time. * Makefile.am (configure_edit): Rename pkgconfig_files substitution to pkgaux_files, and add pkgaux_install_files and pkgaux_parent_files substitutions for atlocal. (pkgauxdir): Where to install pkgaux_files. (auxfiles): Removed, and replaced by... (pkgaux_parent_files, pkgaux_install_files, pkgaux_data_files): ...these, which separate the files lists more logically for easier installation, and use by libtoolize.m4sh. (uninstall-hook): Adjust. (tests/atlocal): Adjust. * bootstrap.conf (libtool_link_libltdl_subdirs): Adjust. * libtoolize.m4sh (func_install_pkgconfig_files) (func_install_pkgconfig_subproject) (func_install_pkgconfig_parent, func_install_pkgconfig_files) (all_pkgconfig_files): Renamed to... (func_install_pkgaux_files, unc_install_pkgaux_subproject) (func_install_pkgaux_parent, func_install_pkgaux_files) (all_pkgaux_files): ...these, resp. Adjust all callers. (func_massage_pkgconfig_files): Removed. (pkgaux_files): List of all auxiliary scripts substituted from Makefile. libtoolize: massage installed libltdl file list at make time. * libtoolize.m4sh (pkgltdldir, pkgdatadir): Put installable libltdl files in pkgdatadir. When testing, and _lt_pkgdatadir is set, adjust to look in libltdl subdirectory. (func_massage_pkgltdl_files): Removed function and only caller, because... (pkgltdl_files): ...we substitute the pre-massaged files directly... (func_install_pkgltdl_files): ...from here. Adjust installation of specially handled additional files. * Makefile.am (ltdldir): Location of libltdl files in source tree. (ltdldest, ltdldatafiles): Removed. (pkgltdl_files): New pre-massaged list of libltdl sources. (install-data-local, uninstall-hook): Use it. * tests/libtoolize.at: Reorder expected output to match actual libtoolize output. libtoolize: massage installed macro list at make time. * libtoolize.m4sh (func_massage_aclocal_DATA): Removed function and only caller, because... (pkgmacro_files): ...we substitute the pre-massaged files directly... (func_install_pkgmacro_files): ...from here. * Makefile.am (pkgmacro_files): New pre-massaged list of aclocal macros used by func_install_pkgmacro_files. (configure_edit): Substitute pkgmacro_files instead of aclocalfiles. libtoolize: use only space delimited file lists. We don't install any files with whitespace in their file name, so using colon delimited lists to make that possible was a premature optimisation and an unneeded complication. * libtoolize.m4sh (func_copy_some_files): Remove IFS twiddling, and just pull space delimited files in a for loop idiomatically. (func_massage_aclocal_DATA, func_install_pkgmacro_subproject) (func_install_pkgmacro_parent, func_install_pkgmacro_files) (func_massage_pkgltdl_files, func_massage_pkgconfig_files): Append to file lists with space delimiter. libtoolize: remove sed based configure scanning. * libtoolize (func_scan_files): Removed function and callers. (require_seen_ltdl, require_seen_libtool): Factor out remaining functionality of former sed based scanning. (func_check_macros): Adjust. * NEWS: Updated. libtoolize: refactor ltdl_mode discovery. * libtoolize.m4sh (require_ac_ltdl_mode) (require_ac_ltdl_options, require_ltdl_mode): New functions factored out of func_scan_files for scanning and setting ltdl_mode and friends. (func_scan_files): Remove the factored out code. (func_install_pkgmacro_files, func_install_pkgltdl_files) (func_install_pkgconfig_files, func_check_macros): Adjust. libtoolize: refactor ltdl_dir discovery. * libtoolize.m4sh (require_ac_ltdl_dir, require_ltdl_dir): New functions factored out of func_scan_files for scanning and setting ac_ltdl_dir and ltdl_dir resp. (func_scan_files): Remove the factored out code. (func_fixup_Makefile, func_serial_update_check) (func_install_pkgltdl_files, func_install_pkgconfig_subproject) (func_check_macros): Adjust. libtoolize: refactor aux_dir discovery. * libtoolize.m4sh (require_ac_aux_dir, require_aux_dir): New functions factored out of func_scan_files for scanning and setting aux_dir and friends. (func_scan_files): Remove the factored out code to scan configure.ac with sed, and then set macro_dir appropriately. (func_install_pkgconfig_subproject, func_install_pkgconfig_parent) (func_install_pkgmacro_files, func_check_macros): Adjust. libtoolize: install autoconf macros only if there is a $configure_ac. * libtoolize.m4sh (func_install_pkgmacro_files): If there is no $configure_ac in the parent project directory, and libtoolize is in subproject mode, then the parent project has no use for autoconf macros, so don't install them. * NEWS: Updated. libtoolize: display aux files output header for non-autoconf parents. * libtoolize.m4sh (func_install_pkgconfig_subproject): When the parent project does not use Autoconf, be sure to display an output header before copying auxiliary files despite not being able to scan for AC_CONFIG_AUX_DIR arguments. * NEWS: Updated. libtoolize: refactor macro_dir discovery around extract-trace script. * libtoolize.m4sh (func_extract_trace): Function to call $aux_dir/extract-trace. The name and footprint are the same as the core function in the extract-trace script file so that we can choose to source that file when the option processing becomes compatible with ours. (require_ac_macro_dir, require_aclocal_amflags) (require_am_macro_dir, require_macro_dir, require_makefile_am): New functions factored out of func_scan_files for scanning and setting macro_dir and friends. (func_scan_files): Remove the factored out code to scan configure.ac with sed, and then set macro_dir appropriately. (func_serial_update_check, func_install_pkgmacro_subproject) (func_install_pkgmacro_parent, func_install_pkgmacro_files) (func_check_macros): Adjust. * tests/libtoolize.at (Subproject ltdl without GNU M4): New test to ensure `libtoolize --subproject' continues to work without a GNU M4 dependency. * NEWS: Updated. libtoolize: refactor configure_ac discovery. Make a start on decomposing some of the giant functions at the heart of libtoolize into the much more flexible and manageable (albeit somewhat more verbose) model of self-organising $require_<foo> function pointers. * libtoolize.m4sh (require_configure_ac): New function factored out of func_scan_files for setting $configure_ac appropriately, implementation taken from extract-trace script. (func_autoconf_configure): And similarly for ensuring that a filename which matches something Autoconf would read also has content that appears to be destined for Autoconf processing. (func_scan_files): Simplified the factored out code to a single require_configure_ac call. (func_install_pkgconfig_files, func_check_macros): Ditto. (seen_autoconf): Removed. bootstrap: split into reusable parts. * bootstrap: Bourne shell has no scoping, so be extremely careful with namespaces, functions in `^func_' and `^require_'; private variables in `^_G_', and public variables all well documented by comments. * libltdl/config/extract-trace: New file, containing the minimum of code previously in bootstrap plus a little glue to make the GNU M4 based autotools tracing function (as opposed to the kludgy sed extraction currently used everywhere else) a standalone script that can be executed or sourced. * libltdl/config/options-parser: New file, containing the pluggable options parser code shared between the other two. * bootstrap.conf: Adjust. * Makefile.am (EXTRA_DIST): Be sure to distribute the new extract-trace and options-parser scripts. (install-data-local): And install them where libtoolize can find them. tests: prefix absolute directory variables with 'abs_'. Avoid any possible confusion about the contests of thes variables compared to $aux_dir, $macro_dir and $src_dir in configure.ac, Makefile.am, libtoolize.m4sh and others. * tests/defs.m4sh (aux_dir, macro_dir, srcdir): Rename these... (abs_aux_dir, abs_macro_dir, abs_srcdir): ...to these resp. * tests/cdemo-shared-exec.test, tests/cdemo-shared-make.test, tests/cdemo-static-exec.test, tests/cdemo-static-make.test, tests/cdemo-undef-exec.test, tests/cdemo-undef-make.test, tests/demo-nofast-exec.test, tests/demo-nofast-inst.test, tests/demo-nofast-make.test, tests/demo-nofast-unst.test, tests/demo-nopic-exec.test, tests/demo-nopic-make.test, tests/demo-pic-exec.test, tests/demo-pic-make.test, tests/demo-shared-exec.test, tests/demo-shared-inst.test, tests/demo-shared-make.test, tests/demo-shared-unst.test, tests/demo-static-exec.test, tests/demo-static-inst.test, tests/demo-static-make.test, tests/demo-static-unst.test, tests/depdemo-nofast-exec.test, tests/depdemo-nofast-inst.test, tests/depdemo-nofast-make.test, tests/depdemo-nofast-unst.test, tests/depdemo-shared-exec.test, tests/depdemo-shared-inst.test, tests/depdemo-shared-make.test, tests/depdemo-shared-unst.test, tests/depdemo-static-exec.test, tests/depdemo-static-inst.test, tests/depdemo-static-make.test, tests/depdemo-static-unst.test, tests/f77demo-shared-exec.test, tests/f77demo-shared-make.test, tests/f77demo-static-exec.test, tests/f77demo-static-make.test, tests/fcdemo-shared-exec.test, tests/fcdemo-shared-make.test, tests/fcdemo-static-exec.test, tests/fcdemo-static-make.test, tests/mdemo-shared-exec.test, tests/mdemo-shared-inst.test, tests/mdemo-shared-make.test, tests/mdemo-shared-unst.test, tests/mdemo-static-exec.test, tests/mdemo-static-inst.test, tests/mdemo-static-make.test, tests/mdemo-static-unst.test, tests/sh.test, tests/tagdemo-shared-exec.test, tests/tagdemo-shared-make.test, tests/tagdemo-static-exec.test, tests/tagdemo-static-make.test, tests/tagdemo-undef-exec.test, tests/tagdemo-undef-make.test, tests/tagtrace.test: Adjust. maint: calculate required mkinstalldirs calls during `make install'. * Makefile.am (install-data-local): Make sure all destination directories are in place before copying files there, without hardcoding them. maint: substitute static directory names. By substituting just the directory name as passed to the macro, aux_dir can be used with or without $srcdir prefix, which is more flexible, and always means the same thing in each file, rather than sometimes being a directory name, sometimes relative to $top_srcdir. * configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR) (LT_CONFIG_LTDL_DIR): Don't force config.status substitutions with unexpanded shell variables. * Makefile.am, tests/defs.m4sh: Adjust. 2011-11-07 Peter Rosin <peda@lysator.liu.se> libtoolize: fix spelling nit. * libtoolize (M4SH_GETOPTS): Fix spelling nit. 2011-11-07 Gary V. Vaughan <gary@gnu.org> tests: fix parsing of configure output by pic_flag.at. Close http://debbugs.gnu.org/9962. * tests/pic_flag.at (LT_AT_CONFIGURE): Make sure to configure with --disable-silent-rules so that the full output parsed by the rest of the test is available. Reported by Roumen Petrov. libtoolize: rename `--subproject' option, and make it work. * libtoolize (M4SH_GETOPTS): Remove `--standalone', which never worked, and add `--subproject' which sets ltdl_mode correctly. 2011-11-05 Gary V. Vaughan <gary@gnu.org> libtoolize: fix a scoping bug in func_aclocal_update_check. libtoolize.m4sh (func_aclocal_update_check): This body of this function used a global variable set by the outer loop of the caller. Fix to Use the function argument correctly. maint: rename the debug shell command variable to `debug_cmd'. Not only does it make more sense, it also matches bootstrap and others. * libtoolize.m4sh, libltdl/config/ltmain.m4sh, libltdl/config/getopt.m4sh, tests/defs.m4sh (opt_debug): Rename to debug_cmd. maint: dynamically strip unused scripts from libltdl Makefile. * configure.ac (pkgaux_scripts): Centrally maintain the complete list of aux scripts required to build libltdl, and which need to be installed by libtoolize --ltdl, and consequently need to be placed in $pkgdatadir by make install. * Makefile.am (libltdl/stamp.mk): Improved to strip the unused scripts not listed in pkgaux_scripts without the need for manual synchronisation. (auxexefiles): Removed. Replaced by new pkgaux_scripts substitution. (install-data-local): Adjust. build: substitute paths into defs.m4sh instead of recalculating. * Makefile.am (configure_edit): Add substitutions for aux_dir, macro_dir and srcdir. * tests/defs.m4sh: Don't recalculate srcdir. (aux_dir, macro_dir, srcdir): Convert to absolute paths. build: support AM_SILENT_RULES * configure.ac: Add AM_SILENT_RULES. * libltdl/configure.ac: Ditto, but only if defined. * Makefile.am (.version, ChangeLog, README, doc/notes.txt) (libtool, libtoolize, libtoolize.in, libltdl/Makefile.am) (libltdl/stamp-mk, m4/ltversion.m4, tests/atconfig, tests/defs) (tests/defs.in, tests/package.m4): Output an AM_SILENT_RULES-like GEN when V==0. * libltdl/Makfile.inc (libltdl/argz.h): Ditto. 2011-10-31 Gary V. Vaughan <gary@gnu.org> maint: add autobuild prerequisite only if autobuild.m4 is absent. * bootstrap (func_require_autobuild_buildreq): Skip if autobuild.m4 is already present. * bootstrap.conf (require_autobuild_bulidreq): No need to set this specially any more. maint: ensure bootstrap runs from dist tarball. * bootstrap (func_gnulib_tool_copy_file): When gnulib-tool is not available, check that there is a copy of the file from a previous run available before bailing out with a diagnostic. (func_install_gnulib_non_module_files): Don't diagnose missing files explicitly - func_gnulib_tool_copy_file takes care of it now. (func_require_checkout_only_file): In the diagnostic for not being in a source-controlled tree, note that `--force' must be used to rebootstrap. (func_require_gnulib_files_already_present): Removed. All the necessary checks are correctly performed in func_gnulib_tool_copy_file withot resorting to heuristics. (func_require_gnulib_mk): Don't continue to try to access gnulib-cache.m4 after discovering we're running from a dist tarball. (func_require_dotgitmodules_parameters): Skip if .gitmodules file is missing and git binary is not available. * bootstrap.conf (checkout_only_file): Set to HACKING, which is a non-distributed file. (libtool_cleanup_empty_dirs): Don't print spurious errors when trying to delete gnulib-tool droppings, in case gnulib-tool is not available on this run. tests: add a keyword `expensive' to very long running tests. * tests/cmdline_wrap.at, tests/stresstest.at (AT_KEYWORDS): Add `expensive'. * NEWS: Updated. libtoolize: fix some long-standing sed substitution bugs * libtoolize.m4sh (func_fixup_Makefile): `\\\\\$' in a " quoted script that is evaluated twice before execution becomes a `\$', which sed interprets as a literal $. The script will then delete any lines with a first non-whitespace character of `$'. Instead use `\\\\$' in single quotes, which sed eventually receives as `\\$' and correctly interprets as part of an instruction to delete otherwise empty lines ending with a `\'. Additionally the rest of the same sed script is no longer applied to comment lines to avoid munging the copyright header among others. * NEWS: Updated. 2011-10-27 Gary V. Vaughan <gary@gnu.org> maint: use gnulib's gitlog-to-changelog instead of a ChangeLog file. * ChangeLog: Removed. * HACKING (Editing 'ChangeLog'): Removed. Renumbered other sections to compensate. * bootstrap.conf (gnulib_modules): Add gitlog-to-changelog. * Makefile.am (ChangeLog): Generate the ChangeLog for 2011... (dist-hook): ...from the output of `git log' before rolling a distribution tarball. maint: use gnulib's git-version-gen instead of mkstamp. * libltdl/config/mkstamp: File removed. * bootstrap.conf (gnulib_modules): Add git-version-gen. * configure.ac (AC_INIT, package_revision): Use git-version-gen to calculate version number. (TIMESTAMP): Removed. * libtoolize.m4sh, libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4 (TIMESTAMP): Ditto. * Makefile.am (TIMESTAMP): Ditto. (MKSTAMP): Renamed from this... (git_version_gen): ...to this. Set revision here. An alpha is now a release with an odd micro relase number. (rebuild): Don't reset revision here. (build_scripts): Remove mkstamp, add git-version-gen. (EXTRA_DIST, BUILT_SOURCES): Add .version. (libltdl/config/ltmain.sh, libltdl/m4/ltversion.m4, tests/package.m4): Don't depend on configure.ac or ChangeLog to determine when the version number has reved, use .version directly. (.version): Flush most recent configure calculated VERSION to disk. (dist-hook): Flush current VERSION to disk at dist time. (dotserial): Distributed file to cache the serial number for when git is not available to recalculate it when building from a release tarball. (dist-hook): Make sure .serial is created. (libltdl/config/ltversion.m4): Use .serial when it is present (in a dist tarball) or calculate with git otherwise (in a git working directory). (EXTRA_DIST): Add .serial file. maint: use gnulib's maint.mk and support scripts release procedure. * Makefile.maint: Removed. * configure.ac (LASTRELEASE, lt_major, lt_minor, lt_micro, lt_alpha): All removed. Makefile.maint was the only client. * HACKING (Release Procedure): Removed. * bootstrap.conf (gnulib_modules): Add announce-gen, do-release-commit-and-tag, gendocs, gnu-web-doc-update, gnupload and readme-release. * cfg.mk (manual_title): Set it for web-manual rule. (announcement_Cc_): Release announcement email addresses. * Makefile.am (build_scripts): Add to EXTRA_DIST additional files imported from gnulib for maint.mk release procedure. * NEWS: Updated. 2011-10-24 Gary V. Vaughan <gary@gnu.org> tests: ensure VPATH autom4te search path can find autotests. * Makefile.am (tests/testsuite): Passing only $(srcdir) include path to autom4te is unable to find tests/package.m4, and passing only $(srcdir)/tests breaks VPATH build searches for TESTSUITE_AT files, which are relative to $(srcdir)... so we pass both! * NEWS: Updated. Reported by Bob Friesenhahn. 2011-10-24 Karl Berry <karl@gnu.org> doc: modernize libtool.texi. * libtool.texi (@copying): Use this instead of @ifnottex; format for Texinfo; eliminate obsolete paragraph about TeX; use @insertcopying instead of duplicating text. (@syncodeindex): Move all to the Texinfo header, where they belong. (@dircategory): Use "Software development" instead of "GNU programming tools", for consistency; and align individual entries to avoid multiple lines; and move to after the copyright message. 2011-10-24 Gary V. Vaughan <gary@gnu.org> maint: don't make autobuild a hard bootstrap requirement. * bootstrap.conf (require_autobuild_buildreq): Reset this to ':' so that bootstrap doesn't auto-add autobuild to $buildreq. 2011-10-23 Gary V. Vaughan <gary@gnu.org> maint: use gnulib's maintainer-makefile module. * bootstrap.conf (gnulib_modules): Add maintainer-makefile. (gnulib_tool_options): Add --avoid=dummy now that we have a real module to import. * cfg.mk: New file. Customize maint.mk for Libtool. * Makefile.am (EXTRA_DIST): Add GNUmakefile, cfg.mk and maint.mk. maint: use gnulib's canonical fdl.texi. * doc/fdl.texi: Removed. * bootstrap.conf (gnulib_non_module_files): Add fdl.texi. maint: use gnulib's canonical COPYING files. * COPYING, libltdl/COPYING.LIB: Removed. * bootstrap.conf (gnulib_non_module_files): Add COPYING. (libtool_add_libltdl_copying): New func_gnulib_tool hook function to copy the canonical LGPL2 COPYING file from gnulib at bootstrap. maint: use gnulib's (pending saner) bootstrap script. * bootstrap: Replaced with gnulib script. * bootstrap.conf: New file with Libtool specific bootstrap configuration. * Makefile.am (EXTRA_DIST): Add bootstrap.conf. maint: add gnulib submodule. * configure.ac (GL_INIT, GL_EARLY): Initialise gnulib, and expand its configure time checks. * .gitmodules (gnulib): New file with configuration for our gnulib git submodule. 2011-10-22 Gary V. Vaughan <gary@gnu.org> maint: tidy, sort and consolidate .gitignore files. The `gnulib-tool' and gnulib `bootstrap' scripts maintain `.gitignore' files in asciibetical order, so reorder them now to avoid spurious patches later. Take advantage of putting recursive file ignore matches into `$top_srcdir/.gitignore' and remove repetitions from other `.gitignore' files. 2011-10-22 Gary V. Vaughan <gary@gnu.org> maint: don't run help2man on programs not-yet-built. * Makefile.am (doc/libtool.1, doc/libtoolize.1): Added a comment about why the dependencies here have to be a mite bizarre. tests: remove unused `aux_dir' variable from `getopt-m4sh.test'. * tests/getopt-m4sh.at (aux_dir): Remove unused variable. tests: DRYing out `tests/sh.test'. * Makefile.am (libtool_m4): Canonical location of libtool.m4 file. (lt_aclocal_m4_deps): Use it. maint: pass directory declarations in configure.ac into Makefile. * configure.ac (AC_CONFIG_AUX_DIR, LT_CONFIG_LTDL_DIR) (AC_CONFIG_MACRO_DIR): Append code to these functions to capture and propagate their directory arguments to Makefile. * Makefile.am (aux_dir, ltdl_dir, macro_dir): Remove declarations. * bootstrap (my_sed_trace): Also capture LT_CONFIG_LTDL_DIR into `$ltdl_dir'. <Makefile>: Output the extracted values of `aux_dir', `ltdl_dir' and `macro_dir' at the top of the quick'n'dirty bootstrap Makefile. maint: factor out ltmain.sh variable deletion. * Makefile.am (ltmain_sh_edit): Expand upon bootstrap edit by adding the extra line to delete boilerplate variable settings from libltdl/config/general.m4sh that don't apply here. (libltdl/config/ltmain.sh): Use it. maint: DRYing out `Makefile.am' file paths. * Makefile.am (aux_dir, macro_dir): Include `$(srcdir)' in declaration. Adjust all references. (doc_dir, ltdl_dir, m4sh_dir, tests_dir): New single location to hold directory paths, all including `$(srcdir)', to reduce typing. (LT_M4SH): Use `$m4sh_dir' as include directory. (defs): This one is for a file in the build-tree, so no leading `$(srcdir)'. CLEANUP: fix error from pushing too far up the branch. * Makefile.am (install-data-local): Undo character transposition from too early push of untested v2.4-17-gaf74d58. * ChangeLog (2010-09-16): Remove spurious entry. maint: use macro_dir consistently in all files. * Makefile.am: Replace all uses of m4dir with macrodir to match AC_CONFIG_MACRO_DIR. * libltdl/config/libtoolize.m4sh: Replace all uses of macrodir with macro_dir. * tests/defs.m4sh, tests/sh.test: Likewise. maint: use aux_dir consistently in all files. * Makefile.am, Makefile.maint: Replace all uses of auxdir with aux_dir to match AC_CONFIG_AUX_DIR. * libltdl/config/libtoolize.m4sh: Likewise. * tests/defs.m4sh, tests/getopt-m4sh.at: Likewise. Makefile: try to be robust against shell meta-chars in filenames. * Makefile.am: In each rule body, unless a make variable needs to be seen as multiple words by the shell (for word-splitting loops, or because it contains several commands), quote it. Use single quotes unless the shell needs to perform variable inter- polation, in which case use double quotes. 2011-10-20 Gary V. Vaughan <gary@gnu.org> maint: let make employ user's `SED' setting. * Makefile.am: Replace hard-coded `sed' with `$(SED)' through- out. maint: simplify and improve safety of bootstrap process. * Makefile.am (bootstrap_files): List files that need to be generated at bootstrap time before `./configure && make' can work. It turns out that this is considerably fewer files than we had thought necessary previously. (bootstrap-deps-prep): Ensure minimum set of required substitution variables are non-empty. (bootstrap-deps): Depend on `bootstrap' files. * bootstrap (Generate bootstrap dependencies): Now that `Makefile.am' is entirely responsible for rebuilding files at bootstrap time, we need only specify the new `bootstrap-deps' target, and supply values for the substitutions checked by `bootstrap-deps-prep'. * configure.ac (AC_CONFIG_SRCDIR): `libtoolize.in' is not here yet right after running `bootstrap'. So rely on the presence of `libltdl/config/libtoolize.m4sh', which is always there. build: eliminate superfluous temporary files from `Makefile.am'. * Makefile.am (CLEANFILES): Remove temporary file entries. (libtoolize.in, libltdl/config/ltmain.sh, libltdl/m4/ltversion.m4) (tests/defs, tests/testsuite): Factor away temporary files. build: eliminate `ltmain.in' and `libtoolize.in' intermediate files. * Makefile.am (libltdl/config/ltmain.sh, libtoolize.in): Pipe the output of `$(LT_M4SH)' directly into `$(bootstrap_edit)' to avoid use of superfluous intermediate file. build: don't hardcode repeated long paths in Makefile rules. According to the DRY principle, scattering several copies of something across a file or project leads to pain. Let's not do that! * Makefile.am (Makefile_in, Makefile_inc, defs_in, defs_m4sh), (libtoolize_in, ltmain_m4sh, ltversion_in): New variables to hold the location of important files and targets. (EXTRA_DIST): Add the distributed ones by variable. (libtoolize, libltdl/Makefile.am, libltdl/m4/ltversion.m4) (libltdl/config/ltmain.sh, libltdl/stamp-mk, tests/defs) (tests/defs.in): Use the new variables to reduce noise and repetition. build: make better use of automatic variables in `Makefile.am'. * Makefile.am (libtoolize, libtoolize.in, libltdl/Makefile.am) (libltdl/config/mkstamp, libltdl/config/ltmain.m4sh) (libltdl/m4/ltversion.m4, tests/testsuite, tests/defs.in): Make better use of automatic variables. build: name temporary files in `Makefile.am' consistently. Sadly, we still have to jump through hoops for MICROS~1's very old, very broken 8.3 naming convention, so we have to be careful to be unique in the first 8 letters, and not to use two periods in a filename, otherwise we could use the much more elegent `temporary files use "$@T"' idiom: * Makefile.am (libltdl/m4/ltversion.m4): Rename temporary file to `ltversion.tmp'. (libltdl/config/ltmain.sh): Rename temporary file to `libltdl/config/ltmain.tmp'. (libtoolize): Rename temporary file to `libtoolize.tmp'. (tests/defs): Rename temporary file to `tests/defs.tmp' (tests/testsuite): Rename temporary file to `tests/testsuite.tmp'. (CLEANFILES): Append temporary files as we create rules that use them. build: factor Makefile.am `m4sh' invocations to LT_M4SH. * Makefile.am (LT_M4SH): Now that all directories are listed as fully qualified paths, the search path argument to M4SH is always the same, so factor it out into a variable. Adjust all callers. build: avoid unnecessary directory changes in Makefile rules. * Makefile.am (doc/notes.txt, libltdl/m4/ltversion.m4, (libltdl/config/ltmain.m4sh, libtoolize.in, libltdl/Makefile.am) (libltdl/config/mkstamp, tests/testsuite, tests/defs.in): Avoid unnecessary `cd' commands by using fully qualified paths to files outside of current directory. build: compare `revision' rather than `correctver' in Makefile.am. * Makefile.am (rebuild): Set the shell variable `revision' rather than `correctver' for clarity of purpose. (bootstrap_edit, libltdl/config/ltmain.sh): Adjust. (libltdl/m4/ltversion.m4): Likewise, and alse, instead of munging the serial number comment line with set, extract `macro_version' from this file, and compare it directly with `revision'. (libtool): Likewise for `package_revision'. build: avoid spurious bootstrap_edit call. * Makefile.am (tests/package.m4): @FOO@ substitutions have already been made by the time Makefile.am has been transformed into Makefile, so don't try to rerun the substitutions manually with $(bootstrap_edit) after the fact. 2011-10-18 Gary V. Vaughan <gary@gnu.org> Post-release administrivia. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version numbers. * NEWS: Add header line for next release. Release 2.4.2. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version numbers. * NEWS: Update version number. 2011-10-17 Gary V. Vaughan <gary@gnu.org> Replace leading spaces with tabs. * libltdl/m4/libtool.m4, libltdl/config/ltmain.m4sh: Replace leading spaces in source code with tabs to match surrounding code. Reported by Peter Rosin. Make a note to use gnu/linux for version_type. * libltdl/m4/libtool.m4 (version_type): Add a comment to change version_type setting from 'linux' to 'gnu/linux' during the next destabilising code refactoring. * libltdl/config/ltmain.m4sh: ditto. Requested by Richard Stallman. 2011-10-04 Bart Van Assche <bvanassche@acm.org> Typo fix - change func_apped into func_append * libltdl/config/ltmain.m4sh: Fix typo. 2011-10-02 Xin LI <d@delphij.net> Avoid problems when FreeBSD goes to version 10. * libltdl/m4/libtool.m4: Remove mentions of freebsd1. Use dots for FreeBSD 2 and 3 detection to avoid future problems * libltdl/m4/ltmain.m4sh: ditto. 2011-09-25 Cristophe Jarry <christophe.jarry@ouvaton.org> Avoid mentioning "Linux", use "GNU/Linux", if appropriate. * TODO: Don't use bare "Linux". * doc/libtool.texi: ditto. * doc/notes.texi: ditto. * libltdl/README: ditto. * libltdl/m4/libtool.m4: ditto. 2011-09-02 Peter O'Gorman <peter@pogma.com> Add flag to inhibit warnings. * libltdl/config/ltmain.m4sh: Add --no-warn, --no-warning flags. Reported by John David Anglin. 2011-04-10 Kurt Roeckx <kurt@roeckx.be> tagdemo: do not rely on picking up symbols from indirect deps. * tests/tagdemo/Makefile.am: Link to all libraries that the demo application uses. 2011-04-10 Svante Signell <srs@kth.se> (tiny change) Set shlibpath_overrides_runpath for the Hurd. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [gnu] <shlibpath_overrides_runpath>: Set to no. * THANKS: Update. 2011-03-22 Justin Lecher <jlec@gentoo.org> (tiny change) Rhys Ulerich <rhys.ulerich@gmail.com> Don't filter OPENMP flags (-openmp & -fopenmp) from linker lines. If -fopenmp if passed to gcc during linking, it will take care to add all necessary libs to link correctly for openmp support. Currently libtool filters those flags, similar as it was the case with the threading flags. This change handles the situation for the openmp support similar as before the thread support was fixed. http://lists.gnu.org/archive/html/bug-libtool/2010-12/msg00009.html http://lists.gnu.org/archive/html/bug-libtool/2011-03/msg00014.html * libltdl/config/ltmain.m4sh (func_mode_link): Treat OpenMP flags like pthreads flags. 2011-03-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> libtoolize: detect -I<dir> (without space) in ACLOCAL_AMFLAGS. * libtoolize.m4sh (func_scan_files): Also accept -I<dir> (without intervening space) in ACLOCAL_AMFLAGS. * THANKS: Update. Report from Jan Engelhardt. 2011-03-05 Peter O'Gorman <peter@pogma.com> On Mac OS X try .dylib as well as .so with lt_dlopenext * libltdl/m4/ltdl.m4: Define extra extension if module extension differs from shared lib extension. * libltdl/ltdl.c: Use it. * tests/darwin.at: Test it. * NEWS: Announce it. Reported by Hans Aberg, Michael Ellis, and others. 2011-02-14 Peter O'Gorman <peter@pogma.com> Install ltmain.sh without execute bit set. * Makefile.am: change install rule for ltmain.sh Reported by Křištof Želechovski. 2011-02-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> docs: fix copyright years in PDF version of the manual. * doc/libtool.texi: Fix copyright years. 2011-02-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> fix typo in ChangeLog 2011-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> Fix LD setting for 64-bit Solaris 2/x86. * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK) [*-*-solaris*): Determine GNU ld options for 64-bit Solaris 2/x86. Detect gld 2.21 _sol2 emulations. 2011-01-27 Peter O'Gorman <peter@pogma.com> Don't loop through wrapper script arguments unnecessarily. * libltdl/m4/ltmain.m4sh: Check that argv contains " --lt-" before looping to remove wrapper script targetted arguments. Performance regression reported by Dan McGee. 2011-01-20 Gerald Pfeifer <gerald@pfeifer.com> (tiny change) Remove support for FreeBSD 1.x. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) (_LT_SYS_DYNAMIC_LINKER): Remove handling of freebsd1* which soon would incorrectly match FreeBSD 10.0. * NEWS, THANKS: Update. 2011-01-19 Peter O'Gorman <peter@pogma.com> Don't let verbose linker messages influence test results. * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Ignore stderr during tests for -flag unless it contains "flag". * tests/darwin.at: Add test. Reported by Jeremy Huddleston and also by David Fang. 2011-01-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> (tiny change) Fix relink mode to use absolute path if hardcode_minus_L. * libltdl/config/ltmain.m4sh (func_mode_link): Use absolute path when hardcoding with -L. 2011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix $wl setting for Solaris Studio 12.2 f90 on GNU/Linux. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] <lt_prog_compiler_wl>: Set to '-Qoption ld ' if we detect Sun Fortran version 8.4 or newer. Report by Terry Dontje. 2011-01-07 Peter Rosin <peda@lysator.liu.se> Convert file name to toolchain format when blessing archives. * libltdl/config/ltmain.m4sh (func_mode_install): When executing old_postinstall_cmds and old_archive_cmds, convert $oldlib to a format appropriate for the tool and provide that in $tool_oldlib. Also use $tool_oldlib when stripping old libraries. * libltdl/m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE): Use $tool_oldlib as argument to $RANLIB. * THANKS: Update. Report by Dan McMahill. 2011-01-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Bump copyright years. * ChangeLog.2010: New, rotated from ... * ChangeLog: ... here. * Makefile.am (EXTRA_DIST): Add ChangeLog.2010. * NEWS, libltdl/config/ltmain.m4sh: Bump copyright years. * libltdl/m4/libtool.m4 (_LT_COPYING, LT_OUTPUT): Likewise. * libtoolize.m4sh: Likewise. * doc/libtool.texi: Likewise. 2010-12-20 Ian Lance Taylor <iant@google.com> * libltdl/m4/libtool.m4 (LT_LANG): Add Go. (AC_PROG_GO): Provide. (_LT_SYS_HIDDEN_LIBDEPS): Add Go case. (_LT_LANG_GO_CONFIG): Define. (LT_PROG_GO): Define. (AC_PROG_GO): Define if not defined. * libltdl/config/ltmain.m4sh: Match *.go. * doc/libtool.texi (LT_INIT): Mention Go. (Tags): Mention Go. * configure.ac: Enable Go. * NEWS: Update. 2010-12-20 Brice De Bruyne <bricedb@gmail.com> (tiny change) Also turn off -fuse-linker-plugin for postdep_objects computation. * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Add -fno-use-linker-plugin to temporary compile flags if necessary, to fix C++ postdep_objects setting with -flto -fuse-linker-plugin. * NEWS, THANKS: Update. 2010-12-20 KO Myung-Hun <komh@chollian.net> (tiny change) Set command line length limit for OS/2. * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN) [os2] <lt_cv_sys_max_cmd_len>: Set to 8192 to avoid long test. 2010-12-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix PIC flags with mpif77 using ifort on GNU/Linux. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux]: Match Intel compiler also using $CC -V output, to avoid false negatives with compiler drivers like mpif77. Report by Christian Rössel. 2010-12-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix PIC flags with MPI wrappers using Portland on GNU/Linux. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux]: Match Portland compilers also using $CC -V output, to avoid false negatives with MPI compiler drivers. Report by Christian Rössel. * libltdl/m4/libtool.m4 (_LT_SETUP): Fix quoting for PATH_SEPARATOR. 2010-12-15 KO Myung-Hun <komh@chollian.net> (tiny change) Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix PATH_SEPARATOR handling for OS/2. * Makefile.am (update_mans): Quote $(PATH_SEPARATOR). * libltdl/m4/libtool.m4 (_LT_SETUP): Add _LT_DECL for PATH_SEPARATOR. * libltdl/config/general.m4sh: Use PATH_SEPARATOR when computing $progpath. * THANKS: Update. 2010-12-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix nvcc PIC setting on darwin. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) <lt_prog_compiler_pic>: Prepend -Xcompiler to nonempty variable setting rather than hard-coding -Xcompiler -fPIC, for darwin. * NEWS, THANKS: Update. Report by Paweł Daniluk. Honor $AUTOCONF, $AUTOMAKE in --help output. * libltdl/config/getopt.m4sh (func_help): Use $AUTOCONF and $AUTOMAKE if set, for --version outout. docs: Libtool configuration diagram. * doc/libtool.texi (Integrating libtool): Add diagrams explaining the dependencies between Libtool files. Suggestion by Ethan Mallove. 2010-11-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Eliminate hardcode_libdir_flag_spec_ld tag variable. * libltdl/config/ltmain.m4sh (func_mode_link): Set $wl to empty if $LD is used for creating shared libraries. Do not use hardcode_libdir_flag_spec_ld any more. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) (_LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG, _LT_SYS_DYNAMIC_LINKER) <hardcode_libdir_flag_spec_ld>: Remove all instances of the tag variable. (_LT_LINKER_SHLIBS) [linux, xlf] <hardcode_libdir_flag_spec>: Set variable, including ${wl}. Fixes hardcoding in programs created by XL Fortran on GNU/Linux. * NEWS, THANKS: Update. Report by Paul H. Hargrove. Rebuild menus in the manual. * doc/automake.texi: Rebuild menus (using ^C ^U ^A in emacs). Thanks to Ian Lance Taylor for the suggestion. 2010-11-07 Ollie Wild <aaw@google.com> Modify --with-pic to support per-package configurations. * libltdl/m4/libtool.m4: Modify --with-pic to accept a list of package names. Modelled off --enable-shared. * tests/with-pic.at: New test. * Makefile.am (TESTSUITE_AT): Add tests/with-pic.at. * doc/libtool.texi (LT_INIT): Enhance documentation of --with-pic configure flag. * NEWS (New features): Mention that --with-pic now accepts a comma-separated list of package names. 2010-11-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix cwrapper test failure with --disable-static. * tests/cwrapper.at (cwrapper and installed shared libraries): Compile program source without libtool, so we can be sure a non-PIC object will be created. 2010-11-01 Peter Rosin <peda@lysator.liu.se> docs: Windows DLLs and headers. * doc/libtool.texi (Platform quirks): Add new subsection 'Windows DLLs'. * doc/libtool.texi (Platform quirks): Fix typo. 2010-10-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> docs: mention shell requirement for libtool script. * doc/libtool.texi (Invoking libtool): Document that the shell used to invoke libtool needs to be the same used to configure it. * THANKS: Update. Report by Markus Duft. 2010-10-15 Gary V. Vaughan <gary@gnu.org> libtool: remove redundant unsubstituted shell var defaults. * Makefile.am (libltdl/config/ltmain.sh): Boilerplate code from libltdl/config/general.m4 sets some default shell variables designed to be substituted by `$(configure_edit)'. Actually, `libtool' uses the language tag values for those variables, and `ltmain.m4sh' is not passed through `$(configure_edit)', so they are just noise. Edit them out at bootstrap time. 2010-10-15 Gary V. Vaughan <gary@gnu.org> maint: don't leak developer GREP, SED etc into distribution file. * Makefile.am: Having rearranged the file, now apply the actual changes to follow-up. (edit): Split into two parts... (bootstrap_edit): ...substitutions that should happen at bootstrap time... (configure_edit): ...and substitutions that should not happen until configure time. * Makefile.am (libltdl/m4/ltversion.m4, libltdl/config/ltmain.sh) (libtoolize.in, tests/package.m4): Use bootstrap_edit. (libtoolize, tests/defs): Use configure_edit. * HACKING (Release Procedure): Remove the note to workaround the bug fixed by this changeset. * NEWS (Bug fixes): Mention that this bug is now fixed. Reported by Joerg Sonnenberger. maint: rearrange Makefile.am in preparation for a follow-up patch. * Makefile.am (Libtool scripts.): Move this section below the `Bootstrap.' section... (libtoolize.in): ...except this one which is generated at bootstrap time, and was added into the `Bootstrap.' section. (Libltdl.): Move this section below the `Libtool scripts.' section. 2010-10-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix linking from only convenience archives with gfortran on Darwin. * libltdl/m4/libtool.m4 (_LT_DARWIN_LINKER_FEATURES): Update macro comment header. [darwin, F77, FC] <compiler_needs_object>: Set to yes if whole_archive_flag_spec is nonempty. Fixes convenience.at test suite failures with gfortran 4.2 on Darwin. * THANKS: Update. Report by Paul Laight. Fix bindir check logic, and relax non-bindir case for AIX. * tests/bindir.at (bindir install tests): Rewrite checks for place of the installed shared library in two separate tests, depending on whether -bindir is supposed to have an effect or not. In the positive case, make the test stricter so that we reject libraries in $libdir. In the negative case, do not require a major version number in the $libdir file name, for AIX without runtimelinking. If tmpdir creation fails, skip the test. Use fewer bindir directory names for testing, to speed up the test. Also mention MSVC style DLL name in comment. Report by Peter Rosin. tests: remove unneeded 'bindir compile check' test. * tests/bindir.at (bindir compile check): Remove. 2010-10-14 Peter Rosin <peda@lysator.liu.se> tests: fix $EXEEXT typo. * tests/depdemo-relink.test (func_restore_files): Use $EXEEXT instead of $EXEXT. 2010-10-12 Simon Josefsson <simon@josefsson.org> Matěj Týč <matej.tyc@gmail.com> Ralf Wildenhues <Ralf.Wildenhues@gmx.de> docs: improve description of -no-undefined. * doc/libtool.texi (Link mode): Fix -no-undefined description. (Inter-library dependencies): Use Windows not AIX as example system. Clarify need for symbol resolution at library creation time. 2010-10-09 Paolo Bonzini <bonzini@gnu.org> Add missing sysroot resolution. * libltdl/config/ltmain.m4sh (func_mode_link): Resolve sysroot when fetching the install directory of dependent libraries. Reported by Lionel Landwerlin <llandwerlin@gmail.com>, patch by Khem Raj <raj.khem@gmail.com>. * THANKS: Reorder entries, add Khem and Lionel. 2010-10-07 Roumen Petrov <bugtrack@roumenpetrov.info> Add test case for 69e77671 (cwrapper PATH manipulation order) * tests/cwrapper.at: Add new test 'cwrapper and installed shared libraries.' 2010-10-04 Peter Rosin <peda@lysator.liu.se> cwrapper: split long lines when dumping the wrapper script. * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): If the wrapper script contains long lines, split them for readability and to conform with C standards. * tests/cwrapper.at (cwrapper string length): New test, making sure we don't regress. msvc: handle symbols from different files independently. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) <dumpbin, lt_cv_sys_global_symbol_pipe>: Make all sections viable for symbol extraction again when the symbols from a new file starts. Fixes tests/tagdemo-make.test for MSVC 10. * tests/dumpbin-symbols.at: New test, making sure we don't regress. * Makefile.am (TESTSUITE_AT): Update. 2010-09-27 Peter Rosin <peda@lysator.liu.se> tests: check if sys_lib_search_path_spec works on MSVC. * tests/search-path.at (sys_lib_search_path on w32): New test, making sure v2.2.10-207-g09142ea doesn't regress. Skip need_lib_prefix.at on systems without lib prefix on libraries. * tests/need_lib_prefix.at [MSVC, OS/2]: Skip this test on systems that do not have libraries prefixed with lib. tests: clean up importing and exporting on w32. Makes the touched tests pass for MSVC when DLLs are built. * tests/demo/Makefile.am, tests/pdemo/Makefile.am: Define BUILDING_LIBHELLO when building libhello.la. * tests/demo/foo.h, tests/pdemo/foo.h (nothing) <MSVC>: Export variable when building the libhello dll and import when using libhello. For GCC and non-w32, and when building a static libhello, leave as an ordinary extern. * tests/pdemo/foo.h [Cygwin]: Remove unneeded and "dead" export and import logic (LIBFOO_DLL is always undefined). * tests/pdemo/longer_file_name_foo.c, tests/pdemo/longer_file_name_foo2.c (_LIBFOO_COMPILATION_): Not useful before, even less so now. Removed. * tests/depdemo/l1/Makefile.am: Define BUILDING_LIBL1 when building libl1.la. * tests/depdemo/l2/Makefile.am: Define BUILDING_LIBL2 when building libl2.la. * tests/depdemo/l3/Makefile.am: Define BUILDING_LIBL3 when building libl3.la. * tests/depdemo/l4/Makefile.am: Define BUILDING_LIBL4 when building libl4.la. * tests/depdemo/l1/l1.h, tests/depdemo/l2/l2.h, tests/depdemo/l3/l3.h, tests/depdemo/l4/l4.h <MSVC>: Export variables when building the associated library dll and import when using the library. For GCC and non-w32, and when building static libraries, leave as an ordinary extern. 2010-09-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> docs: do not refer to Libtool version with dlopen functionality. * doc/libtool.texi (Dlopened modules): Remove broken reference to what should have been Libtool 0.9g. Report by Roumen Petrov. 2010-09-23 Peter Rosin <peda@lysator.liu.se> msvc: don't try to export import descriptors. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw] [pw32, cegcc] <cl*, exclude_expsyms>: Don't export symbols in import libraries related to describing what dll(s) the import library is importing. Fixes problem in tests/demo-make.test and some other tests. 2010-09-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix regression in command-line length computation. * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): Use `env echo' rather than possibly-undefined func_fallback_echo, to ensure we fork and exec for this test. * NEWS: Update. Regression introduced in v2.2.6-39-g9c3d4d8. 2010-09-22 Gary V. Vaughan <gary@gnu.org> Post-release administrivia. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version numbers to 2.4.1a. * NEWS: Add header line for next release. Release 2.4. * libltdl/Makefile.inc (LTDL_VERSION_INFO): We've added the static libprefix interface, so new version-info is C+1:0:R+1. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version numbers. * NEWS: Update version number. manual: web-manual index.html clashes with @node Index. * doc/libtool.texi (Index): Renamed to `Combined Index'. tests: ISO C++ forbids declaration of 'v1' with no type. * tests/lt_dlexit.at (lt_dlexit unloading libs): Added an explicit int type to declaration of 'v1' to prevent compilation failure with C++. 2010-09-22 Peter Rosin <peda@lysator.liu.se> tests: reloadable objects do not work on MSVC, SKIP test. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw, pw32, cegcc] <cl*, reload_cmds>: Indicate that reloadable objects do not work. * tests/duplicate_conv.at: Skip last test if reloadable objects do not work. * doc/libtool.texi (libtool script contents) <reload_cmds>: Document how to indicate that reloadable objects do not work. 2010-09-21 Peter Rosin <peda@lysator.liu.se> msvc: eliminate spaces in the library search path. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [mingw, cygwin] <cl*, sys_lib_search_path_spec>: The LIB path variable telling where MSVC looks for libraries is likely to contain directory names with spaces. Convert those directory names to the short 8.3 DOS form (i.e. without spaces) when storing them in sys_lib_search_path_spec, as that is a space separated variable. 2010-09-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Revert to per-language libpath computation on AIX. * libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Accept tagname argument. Use global cache variable lt_cv_aix_libpath to override per-language tag variables for the libpath value. Fix the sed script to remove trailing space. (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Pass tag argument to _LT_SYS_MODULE_PATH_AIX. Tracked down and reported by Rainer Tammer. 2010-09-21 Gary V. Vaughan <gary@gnu.org> maint: edit-readme-alpha shouldn't try to re-edit during dist. * libltdl/config/edit-readme-alpha: If README is non-writable assume that it is being run from distcheck, and skip the edit with a warning (to help diagnose cases where the heuristic is not correct). However, if README has already been edited to the alpha text, quietly skip without an error message. 2010-09-20 Eric Blake <eblake@redhat.com> maint: drop autobuild requirement * HACKING: Update. build: ship autobuild.m4, to reduce bootstrap requirement * libltdl/m4/.gitignore: Drop autobuild.m4. * libltdl/m4/autobuild.m4: New file, copied from autobuild. * configure.ac (AB_INIT): Unconditionally call it. 2010-09-20 Peter Rosin <peda@lysator.liu.se> Ralf Wildenhues <Ralf.Wildenhues@gmx.de> libltdl: Make sure preloaded symbols are declared extern "C". * libltdl/ltdl.h (LTDL_SET_PRELOADED_SYMBOLS): Move the declaration of lt__PROGRAM__LTX_preloaded_symbols to global scope and make sure it has "C" linkage. Makes exceptions.at succeed on MSVC. 2010-09-20 Peter Rosin <peda@lysator.liu.se> tests: __declspec (dll{ex,im}port) in tests/exceptions.at * tests/exceptions.at (common.h, module.h, lib.h) [w32]: Use __declspec (dllimport) and __declspec (dllexport) instead of the less portable __attribute__ ((dllimport)) and __attribute__ ((dllexport)). Makes the test compile on MSVC. 2010-09-19 Peter Rosin <peda@lysator.liu.se> tests: Import items from liba1 for MSVC. * tests/lt_dlexit.at (b1.c) [MSVC]: Import function f1 and variable v1 from liba1 when using them from modb1. Makes the test pass on MSVC. 2010-09-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> tests: avoid distcheck failure with --disable-ltdl-install. * tests/ltdl-libdir.at (libdir of installed modules): Skip if $LIBLTDL does not exist. 2010-09-18 Gary V. Vaughan <gary@gnu.org> maint: use sed instead of maintaining 2 README files. * README.alpha: Deleted. It was mostly identical to README. * libltdl/config/edit-readme-alpha: New script to edit the contents of README in the dist tree prior to tarring up. * Makefile.am (dist-hook): Run it before rolling alpha release tarball. maint: improve README's `Obtaining the Latest Sources'. * README (Obtaining the Latest Sources): Add instructions for obtaining stable, alpha and nightly snapshot tarballs. * README.alpha (Obtaining the Latest Sources): Adjust to match. maint: reformat README `The Test Suites' for consistency. * README (The Test Suites): Reformatted for consistency. * README.alpha (The Test Suites): Adjust to match. maint: improve `Reporting Bugs' in README and README.alpha. * README (Reporting Bugs): Rewritten to a more complete and concise guide to providing a good bug report. * README.alpha (Reporting Bugs): Adjust to match. maint: consolidate Introductions of README and README.alpha. * README (Introduction): Rewritten to a more logical order for first time users, incorporating some additional text that was previously only in README.alpha. * README.alpha (Introduction): Adjust to match. maint: copy the Version Numbering section into README.alpha. * README.alpha (Version Numbering): No less useful for users of alpha releases. Copied from README. 2010-09-17 Peter Rosin <peda@lysator.liu.se> tests: actually detect missing 'test' in 'if "$foo" = ...'. * tests/sh.test: Remove extra backslash in regex. Copy over DLL_EXPORT handling from C to C++ for non-GCC on w32. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [mingw, cygwin, os2] [pw32, cegcc]: Copy over the DLL_EXPORT handling from C to C++. 2010-09-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> LTO: consistently accept -fwhopr* and -flto* for GCC. * libltdl/config/ltmain.m4sh (func_mode_link): Accept -fwhopr*. * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Also match -flto*. 2010-09-17 Charles Wilson <libtool@cwilson.fastmail.fm> Fix order of PATH manipulation in cwrapper and shwrapper * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src:main): Call lt_update_exe_path before lt_update_lib_path, to ensure that the temporary rpath values (which include the OBJDIRs of uninstalled libtool libraries) precede installation and final -rpath directories. (func_emit_wrapper): Prepend $dllsearchpath to PATH before prepending $temp_rpath to $shlibpath_var; similar rationale as above. Reported by Jon Turney <jon.turney@dronecode.org.uk> 2010-09-17 Charles Wilson <libtool@cwilson.fastmail.fm> Document libtool variable to_host_file_cmd. * doc/libtool.texi (libtool script contents:to_host_file_cmd): Document variable. (libtool script contents:to_tool_file_cmd): Prefer `build platform' to `build system'; Ditto `host platform'. 2010-09-16 Charles Wilson <libtool@cwilson.fastmail.fm> Fix sh.test failure introduced in 72064249 * libltdl/config/ltmain.m4sh (func_mode_link): Avoid poor syntax. 2010-09-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> tests: avoid localization failure due to unstable compiler messages. * tests/testsuite.at (LT_AT_NORMALIZE_COMPILER_OUTPUT): Attempt to normalize temporary file names in error messages. Fixes 'localized compiler messages' test failure on Darwin when creating fat (multi-ABI) libraries. 2010-09-13 Peter Rosin <peda@lysator.liu.se> Prefer $NM @file when the toolchain isn't native to $build. * libltdl/config/ltmain.m4sh (func_mode_link): Avoid calculating the command line length and take the @file branch *if* the file names needs to be converted for the toolchain and the @file branch works. Fixes problems in stresstest.at when doing a cross from Cygwin to MinGW using MinGW native tools (a.k.a. a "faked" cross), and for the specific case of MSVC on Cygwin it makes the test pass. 2010-09-15 Gary V. Vaughan <gary@gnu.org> maint: improve README instructions for fetching latest version. * README, README-alpha (Obtaining the Latest Sources): New section, describing use of savannah repositories and bootstrap. * README.alpha (Reporting Bugs): Remove git instructions in favour of a reference to the new `Obtaining the Latest Sources' section. 2010-09-14 Eric Blake <eblake@redhat.com> maint: ship .xz, not .lzma * configure.ac (AM_INIT_AUTOMAKE): Prefer better file format. * Makefile.maint (git-release, git-dist, prev-tarball) (new-tarball, diffs): Use correct extension. * HACKING: Update instructions. * .gitignore: Ignore .xz files. 2010-09-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> doc: avoid long lines in input and output, indexing fixes. * doc/libtool.texi (Linking libraries) (Module loaders for libltdl): Manually line-wrap examples, to avoid long lines. (Libltdl interface, User defined module data) (Module loaders for libltdl): Wrap long @deftypefun input lines using trailing '@'. Use @deftypefun rather than @deftp where appropriate, and add spaces in @deftypefun lines to fix the index entries generated from these lines. (Cheap tricks): Use @smallexample rather than @example, to avoid long lines. docs: @file and @option markup fixes. * doc/libtool.texi (Creating object files, Linking libraries) (Linking executables, Link mode, Finish mode, Autoconf macros) (Using Automake, Inter-library dependencies, Dlpreopening) (Linking with dlopened modules, Finding the dlname) (Libltdl interface, Test descriptions, Multiple dependencies): Add @option where needed, replace @samp with @file as appropriate. 2010-09-12 Peter Rosin <peda@lysator.liu.se> * .gitignore: Ignore *.obj files for MSVC (and w32 in general). Adjust to moved auxiliary files and add compile. * HACKING (Maintenance Notes): Adjust to moved files. Add the compile script. * Makefile.maint (fetch): Also fetch the compile script. 2010-09-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> tests: avoid empty AT_DATA contents, for zsh. * tests/libtoolize.at (libtoolize macro serial update) (libtoolize config files serial update, LIBTOOLIZE_OPTIONS): Do not create empty files with AT_DATA, the latter is documented to require a final newline. Fixes testsuite failures with zsh 4.3.10. 2010-09-12 Charles Wilson <libtool@cwilson.fastmail.fm> When assigning $linklib value, honor [-all]-static[-libtool-libs] * libltdl/config/ltmain.m4sh (func_mode_link): When prefer_static_libs and static library exists, ensure old_library name is used as $linklib. Fixes failure on mingw when both static and shared libraries are present. 2010-09-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> tests: work around zsh use of $options variable. * tests/getopt-m4sh.at: Rename $options to $opts, the former is special for zsh 4.3.10. Fix AC_NO_EXECUTABLES test failure on IRIX 6.5. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [irix]: Cache result of link check for -Wl,-exported_symbol. * tests/no-executables.at (AC_NO_EXECUTABLES): Set lt_cv_irix_exported_symbol, to avoid link check. 2010-09-12 Jürgen Reuter <juergen.reuter@physik.uni-freiburg.de> (tiny change) Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Initial support for the NAG Fortran compiler on GNU/Linux. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] <nagfor>: New set of entries, for NAG Fortran 5.1 and 5.2. * NEWS: Update. 2010-09-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix getopt.m4sh to require Autoconf 2.62 or newer. * libltdl/config/getopt.m4sh (m4_version_prereq): Require 2.62, not 2.61. 2010-09-11 Charles Wilson <libtool@cwilson.fastmail.fm> Correct typo: $sharedlib_from_linklib_cmd missing '_cmd' * libltdl/config/ltmain.m4sh (func_generate_dlsyms): Fix obvious typo, $sharedlib_from_linklib_cmd missing '_cmd'. 2010-09-10 Peter Rosin <peda@lysator.liu.se> Convert file name to toolchain format when invoking $NM. * libltdl/config/ltmain.m4sh (func_generate_dlsyms) (func_win32_libid, func_cygming_gnu_implib_p) (func_cygming_ms_implib_p): When using the name lister to find symbols in files, convert the file names to a format appropriate for the tool. Fixes testsuite issues in mdemo-static-make.test and mdemo-make.test when doing a cross from Cygwin/Wine to MinGW using MinGW native tools (a.k.a. a "faked" cross). 2010-09-09 Peter Rosin <peda@lysator.liu.se> Fix dependency tracking for MSYS/MinGW. * libltdl/config/ltmain.m4sh (func_to_tool_file): Add lazy argument which allows the user to specify conversions that are not desired. (func_mode_compile): Don't convert source files on MSYS, as MSYS does it for us. This fixes a regression introduced by "Use func_to_tool_file instead of fix_srcfile_path". Reported by Charles Wilson. 2010-09-08 Peter Rosin <peda@lysator.liu.se> Mention adjustment of naming of MSVC import libraries in NEWS. * NEWS: Mention the change in import library naming on MSVC. 2010-09-07 Peter Rosin <peda@lysator.liu.se> Adjust naming of MSVC import libraries. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [mingw, cygwin] [pw32, cegcc] <cl*, library_names_spec>: Adjust naming of the import library from foo-<major-version>.lib to foo.dll.lib, to avoid clashes with the static library for unversioned libraries. (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [mingw, cygwin, pw32] [cegcc] <cl*, archive_expsym_cmds>: Explicitely name the import library to match the above. Fixup texi typo in previous. * doc/libtool.texi (libtool script content) <postlink_cmds>: Add missing 'code' command. Convert POSIX file names to toolchain format for MSVC * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [cygwin, mingw, pw32, cegcc] <cl*, postlink_cmds>: Make sure the -outputresource: file name for the manifest tool is in w32 format. <cl*, archive_expsym_cmds>: Likewise for the MSVC command file containing the exports and the output file name. * libltdl/config/ltmain.m4sh (func_mode_link): Precalculate the toolchain format of the output_objdir file name and store it in the tool_output_objdir variable. Also replace any occurrence of @TOOL_OUTPUT@ in postlink_cmds with the toolchain version of the @OUTPUT@ content. * doc/libtool.texi (libtool script content): Update description of postlink_cmds to mention @TOOL_OUTPUT@. 2010-09-06 Peter Rosin <peda@lysator.liu.se> Use func_to_tool_file instead of fix_srcfile_path. * libltdl/config/ltmain.m4sh (func_mode_compile): Replace the fix_srcfile_path hook with a call to func_to_tool_file. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin,mingw,pw32] [cegcc]: Drop fix_srcfile_path. * doc/libtool.texi (libtool script contents): Likewise. * NEWS: Mention that fix_srcfile_path has been replaced. Convert file names to toolchain format in $NM and $AR @files. * libltdl/config/ltmain.m4sh (func_mode_link): When listing symbols and when creating archives using command files (or response files), make sure that both the name of the command file and the content are made up of file names in a format appropriate for the tool. Fixes stresstest.at on MSYS when run with low command line length. Convert file names to toolchain format when linking. * libltdl/config/ltmain.m4sh (func_mode_link): When exporting symbols and when linking using command files (or response files), make sure that both the name of the command file and the content are made up of file names in a format appropriate for the tool. Fixes problems in stresstest.at on MSYS when run with low command line length. Add file name conversion from $build to toolchain. * configure.ac: Ensure to_tool_file_cmd is available to Makefile. * libltdl/m4/libtool.m4 (_LT_PATH_CONVERSION_FUNCTIONS): Add cache variable lt_cv_to_tool_file_cmd that describes how to convert file names from $build to toolchain format. * libltdl/config/ltmain.m4sh (func_to_tool_file): New function that utilizes the above. * Makefile.am: Ensure to_tool_file_cmd is included in TEST_ENVIRONMENT so that it is passed to (old testsuite) tests. * testsuite.at: Ensure to_tool_file_cmd is passed as a variable setting on the configure line for (new testsuite) tests. * doc/libtool.texi (libtool script content): Update with to_tool_file_cmd description. (Cygwin to MinGW Cross): Update to mention lt_cv_to_tool_file_cmd. 2010-09-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> tests: avoid spurious test failure due to library mode on HP-UX. * tests/help.at (debug tracing): Use $lt_INSTALL not cp for install mode, the latter will not overwrite an existing library with mode 555. 2010-09-01 Charles Wilson <libtool@cwilson.fastmail.fm> Path conversion documentation * doc/libtool.texi (Platform quirks): Add new subsections 'Cross compiling' and 'File name conversion'. 2010-09-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> tests: avoid spurious pic_flag test failure on HP-UX 10.20. * tests/pic_flag.at (override pic_flag at configure time): Match HP-UX 10.20 cc warning about unknown options, to skip the test. tests: fix localization test for GCC on HP-UX 11.00. * tests/localization.at (localized compiler messages): Be sure to switch the locale only for the actual compiler commands, so we don't pick up warnings from helper tools such as diff which may not have the locale installed. Avoid leaking make flags into testsuite results. * tests/defs.m4sh: Unset MFLAGS, MAKEFLAGS, MAKELEVEL, __MKLVL__ and MAKE_JOBS_FIFO. * tests/testsuite.at: Likewise. Fixes warnings in test logs when the user uses 'make -jN check' and inner $MAKE invocations can't connect to the job server. Fixes spurious failures of configure-iface.at and of demo-noinst-link tests with BSD and Tru64 make if the user uses 'make -k', as the exit status of the latter is not reliable. 2010-09-01 Gary V. Vaughan <gary@gnu.org> Remove announce-gen.m4sh and mailnotify.m4sh. * libltdl/config/announce-gen.m4sh: Removed. This script has no apparent connection to libtool functionality, and mostly duplicates the better maintained gnulib announce-gen script. * libltdl/config/mailnotify.sh: Removed. This script was used by only clcommit.m4sh and announce-gen.m4sh, both of which are now removed too. * Makefile.maint (announce-gen, libltdl/config/mailnotify): Targets removed. * bootstrap: Remove the mailnotify regeneration warning. * HACKING (Release Procedure): Remove references to announce-gen. (Alpha release note template, Full release note template): Reinstated from before announce-gen was introduced. Remove clcommit.m4sh. * clcommit.m4sh: Removed. This script was written to help keep ChangeLog and commit messages in sync when committing to CVS, and is an anachronism now that Libtool uses git. * Makefile.maint (commit): Target removed. * bootstrap: Don't generate commit. * HACKING (Release Procedure): Adjusted. 2010-08-31 Peter Rosin <peda@lysator.liu.se> archive-in-archive.at passes with Microsoft lib. * tests/archive-in-archive.at: Tighten test to check that the desired object files are indeed part of the archive. Microsoft lib still passes, so remove the expected failure for that case. Dump archiver output to the log when testing @file support. * libltdl/m4/libtool.m4 (_LT_PROG_AR): Redirect stdout to config.log when testing for @file support. Suggested by Ralf Wildenhues. Silence archiver output when testing @file support. * libltdl/m4/libtool.m4 (_LT_PROG_AR): Redirect stdout and stderr to the bit bucket when testing for @file support. 2010-08-31 Gary V. Vaughan <gary@gnu.org> Remove double `Generated from foo.m4sh' lines. We now require a modern Autoconf to bootstrap libtool, which will add the `Generated by ...' boiler-plate automatically, so we can remove the hand-rolled @configure_input@ substitutions we had been doing: * clcommit.m4sh, libtoolize.m4sh, tests/defs.sh, libltdl/config/announce-gen.m4sh, libltdl/config/ltmain.m4sh, libltdl/config/mailnotify.m4sh: Remove @configure_input@. * Makefile.am (edit): Remove configure_input substitution. (libtoolize, libltdl/config/ltmain.sh, libltdl/m4/ltversion.m4) (tests/defs): Don't set `$input' shell variable. * Makefile.maint (announce_gen, libltdl/config/mailnotify) (commit): Likewise. 2010-08-31 Peter Rosin <peda@lysator.liu.se> Extract the archive name from the .la file and use $AR (not ar). * Makefile.am: Pass AR through to the testsuite. * tests/archive-in-archive.at: Bump copyright year. Extract archive name from the .la file instead of hardcoding the name, and allow different archivers. Also clarify that the tested functionality is currently broken. 2010-08-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> tests: skip -Wall -Werror with Tru64 cc in cwrapper test. * tests/cwrapper.at (cwrapper for uninstalled executables): Use a link test rather than a compile test to flesh out unknown compiler flags starting with -W; Tru64/OSF1 cc will happily accept `-Wall -Werror' as indication to pass flags on to subprocesses. tests: avoid getopt-m4sh failures when autom4te is not available. * tests/getopt-m4sh.at (_LT_AT_GETOPT_M4SH_SETUP): Check $M4SH --version, skip on failure. tests: mark 'syntax of .la files' as XFAIL, expose failure. * tests/lalib-syntax.at (syntax of .la files): Assert that the string returned by lt_dlerror after a failure is non-NULL, so the failure shows up on systems other than Solaris. Mark test as expected to fail. Suggested by Bob Friesenhahn. 2010-08-30 Eric Blake <eblake@redhat.com> Simplify recent configure quoting portability workaround. * configure.ac: Simplify setting of timestamp_string. 2010-08-30 Charles Wilson <libtool@cwilson.fastmail.fm> Update path conversion warning messages * libltdl/config/ltmain.m4sh (func_convert_file_check): Update comments and warning message. (func_convert_path_check): Update warning message. 2010-08-29 Peter Rosin <peda@lysator.liu.se> Fix typo when renaming path conversion functions. * tests/testsuite.at: Ensure to_host_file_cmd is passed as a variable setting on the configure line for (new testsuite) tests. 2010-08-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Support GCC LTO on GNU/Linux. * libltdl/config/ltmain.m4sh (func_mode_link): Allow through flags matching -O*, -flto*, -fwhopr, -fuse-linker-plugin. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Drop symbols starting with __gnu_lto. (_LT_LINKER_SHLIBS) [linux] <archive_cmds, archive_expsyms_cmds>: Add $pic_flag for GCC. (_LT_LANG_CXX_CONFIG) [linux] <archive_cmds, archive_expsyms_cmds>: Likewise. (_LT_SYS_HIDDEN_LIBDEPS): Ignore files matching *.lto.o. * NEWS: Update. Disable GCC LTO for verbose library extraction. * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Temporarily append -fno-lto or -fno-whopr to CFLAGS if CC or CFLAGS (which are substituted with the per-language variables here) contain -flto or match -fwhopr*, respectively. Save and restore CFLAGS properly inside libtool.m4 macros. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Use different temporary variables for saved and restored values of $LIBS, $CFLAGS, to avoid overlap with the *_CONFIG macros. (_LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG) (_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Also save and restore $CFLAGS, and override it with per-language flags, so that in case output_verbose_link_cmd uses $CFLAGS, the right flags are used. Work around yet another shell quoting portability issue. * configure.ac: Avoid nonportable quoted alternate variable value in unquoted here document, so Solaris 10 sh and Tru64 ksh do not print spurious extra quotes. Silence order-only configure test for AIX make. * configure.ac: Also drop standard output, for AIX 5.1 make. 2010-08-28 Charles Wilson <libtool@cwilson.fastmail.fm> Minor sysroot fixups. * libltdl/m4/libtool.m4 (_LT_WITH_SYSROOT): Fix typo. * tests/sysroot.at: Search also for crt0.o to accommodate cygwin. 2010-08-28 Charles Wilson <libtool@cwilson.fastmail.fm> [cygwin|mingw|cross-compile]: Path conversion support. * configure.ac: Ensure to_host_file_cmd is available to Makefile. * TODO: Document QoI issue with file name conversion functions. * libltdl/m4/libtool.m4 (_LT_PATH_CONVERSION_FUNCTIONS): New function sets libtool variable $to_host_file_cmd, and employs cache. (_LT_SETUP): Require it. * tests/testsuite.at: Ensure to_host_file_cmd is passed as a variable setting on the configure line for (new testsuite) tests. * Makefile.am (TESTS_ENVIRONMENT): Ensure to_host_file_cmd is included so that it is passed to (old testsuite) tests. * libltdl/config/general.m4sh: Define $lt_sed_naive_backslashify here. * libltdl/config/ltmain.m4sh ($to_host_file_cmd, $to_host_path_cmd): New variables. (func_cygpath): New function. (func_init_to_host_path_cmd): New function. (func_to_host_path): Renamed to... (func_to_host_file): Refactored to... (now uses $to_host_file_cmd). (func_convert_core_file_wine_to_w32): Here. New function. (func_convert_core_msys_to_w32): Here. New function. (func_convert_file_check): Here. New function. (func_convert_file_noop): Here. New function. (func_convert_file_msys_to_w32): Here. New function. (func_convert_file_cygwin_to_w32): Here. New function. (func_convert_file_nix_to_w32): Here. New function. (func_convert_file_msys_to_cygwin): New function. (func_convert_file_nix_to_cygwin): New function. (func_to_host_pathlist): Renamed to... (func_to_host_path): Refactored to... (now uses $to_host_path_cmd and func_init_to_host_path_cmd). (func_convert_path_check): Here. New function. (func_convert_path_front_back_pathsep): Here. New function. (func_convert_core_path_wine_to_w32): Here. New function. (func_convert_path_noop): Here. New function. (func_convert_path_msys_to_w32): Here. New function. (func_convert_path_cygwin_to_w32): Here. New function. (func_convert_path_nix_to_w32): Here. New function. (func_convert_path_msys_to_cygwin): New function. (func_convert_path_nix_to_cygwin): New function. 2010-08-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix symlist variable path to use _WIN32 instead of __WINDOWS__. * libltdl/config/ltmain.m4sh, libltdl/libltdl/lt_system.h, libltdl/m4/libtool.m4, tests/demo/foo.h, tests/pdemo/foo.h: Change __WINDOWS__ to _WIN32. Report by Charles Wilson. Add $pic_flag to archive_cmds and archive_expsym_cmds. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) <archive_cmds, archive_expsym_cmds> [GNU ld, netbsd]: Add $pic_flag if ELF. [GNU ld, solaris]: Likewise. [GNU ld, default case]: Likewise. [!GNU ld, freebsd, dragonfly]: Add $pic_flag. [!GNU ld, GCC, hpux9]: Add $pic_flag. [!GNU ld, GCC, hpux10]: Replace -fPIC with $pic_flag [!GNU ld, GCC, hpux11, !hppa*64]: Replace -fPIC with $pic_flag. [!GNU ld, GCC, irix5, irix6, nonstopux]: Add $pic_flag. [!GNU ld, GCC, osf4, osf5]: Likewise. [!GNU ld, GCC, solaris]: Likewise. (_LT_LANG_CXX_CONFIG) <archive_cmds, archive_expsym_cmds> [hpux9]: Add $pic_flag if $GXX. [hpux10, hpux11, !hppa*64]: Replace -fPIC with $pic_flag. [irix5, irix6]: Add $pic_flag if $GXX. [osf4, osf5]: Likewise. [solaris]: Add $pic_flag if $GXX and not GCC 2.7. Uniform const'ness of symlist variable lt_preloaded_symbols. On some systems, lt_preloaded_symbols may not be declared const due to relocation issues. C99 requires qualification to match for compatible declarations, so ensure we declare const'ness in the same way everywhere; link-time optimization may otherwise rightfully complain about inconsistencies. Since ltdl.h may not depend upon config.h, rely on system defines for choosing const'ness. * NEWS: Update. * doc/libtool.texi (Dlpreopening): Document this issue. * libltdl/config/ltmain.m4sh (func_generate_dlsyms): [__WINDOWS__, __CYGWIN__, _WIN32_WCE]: Define LT_DLSYM_CONST according to system defines. Remove old shell cruft. Use LT_DLSYM_CONST for lt_${my_prefix}_LTX_preloaded_symbols. * libltdl/libltdl/lt_system.h (LT_DLSYM_CONST): Likewise, define LT_DLSYM_CONST according to system defines. * tests/demo/foo.h (LT_DLSYM_CONST): Likewise. * tests/pdemo/foo.h (LT_DLSYM_CONST): Likewise. * tests/demo/dlmain.c (lt_dlsymlist): Use LT_DLSYM_CONST. * tests/pdemo/longer_file_name_dlmain.c (lt_dlsymlist): Likewise. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Likewise for configure test code. * libltdl/ltdl.c (preloaded_symbols): Use LT_DLSYM_CONST. * libltdl/ltdl.h (LTDL_SET_PRELOADED_SYMBOLS): Likewise. 2010-08-28 Dave Korn <dave.korn.cygwin@googlemail.com> Ensure cwrapper magic string is not optimized away. * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): Declare MAGIC_EXE as volatile. Report by Charles Wilson. 2010-08-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix quoting in non-XSI func_xform, for IRIX sh. * libltdl/config/ltmain.m4sh (func_xform): Remove spurious extra M4 quotes. Fix response file test for unreliable exit status of IRIX ar. * libltdl/m4/libtool.m4 (_LT_PROG_AR): IRIX ar will not fail over a command-line argument specifying a nonexistent file (such as `@FILE'), so ensure failure with a reponse file containing a nonexistent file. Also, use lt_* variable prefix for temporary variables. Fix AC_LANG_PROGRAM warnings from git Autoconf. * libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Fix underquoted AC_LANG_PROGRAM call. (LT_PROG_AR): Use AC_LANG_PROGRAM. (_LT_LINKER_SHLIBS) [irix, GCC]: Use the right source for the given language. * NEWS: Update. 2010-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> fix AIX testsuite regression * libltdl/config/ltmain.m4sh (func_resolve_sysroot): Partly revert v2.2.10-83-gc45a288: Do not absolutize path here, only do sysroot replacement. (func_mode_link): Adjust. 2010-08-22 Charles Wilson <libtool@cwilson.fastmail.fm> fix --mode=finish * libltdl/config/ltmain.m4sh (func_mode_finish): Invert then/else blocks of the "if $opt_dry_run" conditional. 2010-08-15 Paolo Bonzini <bonzini@gnu.org> improve code for sysroot --mode=finish * libltdl/config/ltmain.m4sh (func_mode_finish): Change sysroot_regex and sysroot_cmd delimiter from pipe to slash. Wrap the entire for loop with "if $opt_dry_run...fi" and print an explanatory message for the --dry-run case. 2010-08-12 Paolo Bonzini <bonzini@gnu.org> add libtool --mode=finish mode for sysroot * doc/libtool.texi (Finish mode): Document behavior when *.la files are passed. * libltdl/config/ltmain.m4sh (func_mode_finish): Eliminate sysroot or `=' signs representing it from files in $libs. * tests/sysroot.at (SYSROOT_TESTS): Test for presence of sysroot references before running libtool --mode=finish, and for absence afterwards. reorganize parsing of --mode=finish arguments * libltdl/config/ltmain.m4sh (func_mode_finish): Split arguments for directories and *.la files. fix sysroot handling for deplibs of preopened libtool libs * libltdl/config/ltmain.m4sh: Pass $dependency_libs of preopened libtool through func_resolve_sysroot. fix sysroot tests to pass on Fedora 13 * tests/sysroot.at: Link $prefix/include into the sysroot as well, as required by newer GCC. 2010-07-29 Paolo Bonzini <bonzini@gnu.org> initial version of the NEWS entry * NEWS: Document sysroot support. add sysroot test * Makefile.am (TESTSUITE_AT): Add tests/sysroot.at. * tests/sysroot.at: New. emit sysrooted paths when installing .la files * libltdl/config/ltmain.m4sh (func_replace_sysroot): New. (func_mode_link): Prepend paths in $libdir with the sysroot. Further, replace the sysroot with = (using func_replace_sysroot) whenever such a path is written in a .la file. process postdeps to include sysrooted paths * libltdl/m4/libtool.m4 (_LT_FUNC_STRIPNAME_CNF): New (from Charles Wilson). (_LT_SYS_HIDDEN_LIBDEPS): Require it. Use func_stripname_cnf to convert sysroot (-L= and -R=) usage in postdeps. Adjust the code because -L, -R and -l flags will now always be separated from the rest of the argument. handle sysrooted paths when reading dependencies to la files * libltdl/config/ltmain.m4sh (func_mode_execute, func_mode_install, func_mode_link): Whenever a .la file occurs in another .la file, expand the sysroot path in it. 2010-07-28 Paolo Bonzini <bonzini@gnu.org> teach libtool -L= and -R= * libltdl/config/ltmain.m4sh (func_resolve_sysroot): New. (func_mode_link): Always pass result of stripping -L and -R to func_resolve_sysroot before using it. Remove absolute path expansion when func_resolve_sysroot subsumes it. Expand sysroot in -rpath. When processing dependent libraries also resolve sysroot paths there. add --with-sysroot * libltdl/m4/libtool.m4 (_LT_HOST_NONCANONICAL, _LT_WITH_SYSROOT): New. (LT_SETUP): Require _LT_WITH_SYSROOT. handle sysroot flags * libltdl/config/ltmain.m4sh (func_mode_link): Recognize --sysroot option. 2010-08-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * NEWS: Only bootstrapping needs new Automake and Autoconf. check-interactive and check-noninteractive for both testsuites. * Makefile.am (COMMON_TESTS, TESTS): Split into ... (NONINTERACTIVE_TESTS, INTERACTIVE_TESTS): ... these new variables. (check-interactive-new): Rename from check-interactive. (check-noninteractive-new): Rename from check-noninteractive. (check-interactive-old, check-noninteractive-old): New targets. (check-interactive, check-noninteractive): Depend on the respective targets for the old and the new test suites. * doc/libtool.texi (Test descriptions): Simplify description about check-interactive and check-noninteractive. Add index entries. Adjust docs for renaming and for parallel-tests. * README: Update example TESTS setting. * README.alpha: Likewise. * doc/libtool.texi (Test descriptions): Update for test renaming, adjust descriptions accordingly. Update VERBOSE handling for parallel-tests driver. * tests/defs.m4sh: Default to verbose output, drop now-unneeded handling of 'VERBOSE=no'. * README: Update example usage. * README.alpha: Likewise. * doc/libtool.texi (Test descriptions, When tests fail): Remove unneeded VERBOSE recommendations. Point to per-test log files and test-suite.log summary file. Enable parallel-tests test driver for the old testsuite. * configure.ac: New configure test to find out whether `make' supports order-only prerequisites; set @ORDER@ accordingly. (AM_INIT_AUTOMAKE): Enable parallel-tests option. * tests/defs.m4sh (prefix): Derive install prefix for tests from the test name, to avoid clashes. * Makefile.am (CXX_TESTS, F77_TESTS, FC_TESTS, COMMON_TESTS): Reformat. Adjust for renamed tests. Add dependencies between the respective log files of the tests, to ensure proper ordering. Use order-only dependencies if possible, between test groups that use the same directory. (clean-local-legacy): Remove `_inst-*' directories as well. Prompted by suggestion from Bob Friesenhahn. New alias scripts for old tests run more than once. * tests/cdemo-shared-exec.test, tests/cdemo-shared-make.test, tests/cdemo-static-exec.test, tests/cdemo-static-make.test, tests/cdemo-undef-exec.test, tests/cdemo-undef-make.test, tests/demo-nofast-exec.test, tests/demo-nofast-inst.test, tests/demo-nofast-make.test, tests/demo-nofast-unst.test, tests/demo-nopic-exec.test, tests/demo-nopic-make.test, tests/demo-pic-exec.test, tests/demo-pic-make.test, tests/demo-shared-exec.test, tests/demo-shared-inst.test, tests/demo-shared-make.test, tests/demo-shared-unst.test, tests/demo-static-exec.test, tests/demo-static-inst.test, tests/demo-static-make.test, tests/demo-static-unst.test, tests/depdemo-nofast-exec.test, tests/depdemo-nofast-inst.test, tests/depdemo-nofast-make.test, tests/depdemo-nofast-unst.test, tests/depdemo-shared-exec.test, tests/depdemo-shared-inst.test, tests/depdemo-shared-make.test, tests/depdemo-shared-unst.test, tests/depdemo-static-exec.test, tests/depdemo-static-inst.test, tests/depdemo-static-make.test, tests/depdemo-static-unst.test, tests/f77demo-shared-exec.test, tests/f77demo-shared-make.test, tests/f77demo-static-exec.test, tests/f77demo-static-make.test, tests/fcdemo-shared-exec.test, tests/fcdemo-shared-make.test, tests/fcdemo-static-exec.test, tests/fcdemo-static-make.test, tests/mdemo-shared-exec.test, tests/mdemo-shared-inst.test, tests/mdemo-shared-make.test, tests/mdemo-shared-unst.test, tests/mdemo-static-exec.test, tests/mdemo-static-inst.test, tests/mdemo-static-make.test, tests/mdemo-static-unst.test, tests/tagdemo-shared-exec.test, tests/tagdemo-shared-make.test, tests/tagdemo-static-exec.test, tests/tagdemo-static-make.test, tests/tagdemo-undef-exec.test, tests/tagdemo-undef-make.test: New files. Require Automake 1.11.1 for Libtool, enable color-tests. * configure.ac (AM_INIT_AUTOMAKE): Require 1.11.1. Enable color-tests. (LTDL_SUBDIR_LIBOBJS): Remove now-obsolete conditional and feature test for Autoconf 2.59 and Automake 1.9.x workaround. * Makefile.am: Simplify accordingly. * bootstrap: Remove obsolete WORKING_LIBOBJ_SUPPORT workarounds for Autoconf 2.59 and Automake 1.9.6. 2010-08-23 Charles Wilson <libtool@cwilson.fastmail.fm> Fix syntax for cygwin-cross libltdl/m4/argz.m4: Add quotes around variable, which may contain the multiword value 'guessing no'. 2010-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> configure: use Autobuild AB_INIT if available. * configure.ac: Call AB_INIT if it is defined, with $autobuild_mode as argument, to be set at configure time. Set AB_VERSION to the Libtool version string. * HACKING: Update. Fix getopt tests to skip with Autoconf < 2.61. * tests/getopt-m4sh.at (_LT_AT_GETOPT_M4SH_SETUP): Skip the test if 'autom4te --language=m4sh' exits 63 because version 2.61 is required. Allows the testsuite to complete successfully with Autoconf 2.59 and Automake 1.9.6. Tidy and fix clean and distclean rules for old testsuite. * Makefile.am (clean-local-legacy): Use $(CONF_SUBDIRS) instead of hard-coding the list of test directories. Use $(AM_MAKEFLAGS). (fake-distclean-legacy): New phony rule, to create fake Makefile files if needed so that the automake-generated distclean-recursive rule can work properly. (distclean_recursive): New helper variable. (distclean-recursive): Depend on fake-distclean-legacy. 2010-08-22 Paolo Bonzini <bonzini@gnu.org> Fix sed_make_literal_regex. * libltdl/config/general.m4sh (sed_make_literal_regex): Fix definition. 2010-08-15 Paolo Bonzini <bonzini@gnu.org> Factor the sed command used to make a regex from a literal. * libltdl/config/general.m4sh (sed_make_literal_regex): New. * libltdl/config/ltmain.m4sh (func_cygming_dll_for_implib_fallback_core): Use it. Suggested by Ralf Wildenhues. 2010-08-21 Rainer Tammer <tammer@tammer.net> (tiny change) Avoid issues with AIX resident shared libraries in old testsuite. * tests/defs.m4sh [aix]: Remove file mode permission for others, so shared libraries are not kept in memory after execution. Fixes failures of repeated mdemo-inst.test with on AIX 5.3. 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Skip part of versioning test on AIX. * tests/versioning.at (versioning): The AIX linker always records the unversioned library name, even with runtimelinking, so skip the execution test for the incompatibly upgraded library. Report by Rainer Tammer. Remove dead code from versioning test. * tests/versioning.at (versioning): No need to build unused prog3. 2010-08-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Don't hide the table of contents in the manual. * doc/libtool.texi: Move the table of contents to the beginning. Prompted by patch from Bruno Haible against Automake. Remove superfluous dependency in Makefile.am. * Makefile.am (tests/demo-conf.test): Remove dependency on libtool, this test is a primary source and not generated. Bump copyright years in manual. * doc/libtool.texi: Bump copyright years. 2010-08-13 Peter Rosin <peda@lysator.liu.se> Allow the use of a listing file if the archiver supports it. * libltdl/m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE): Move detection of a suitable archiver... (_LT_PROG_AR): ...to here. New macro, also detect if the archiver supports a listing file with the new variable archiver_list_spec. * libltdl/config/ltmain.m4sh: If the archiver supports a listing file, use it when max_cmd_len is exceeded. This is needed for tool chains such as MSVC which do not support piece by piece linking (-r -o). * doc/libtool.texi (libtool script contents): Update with archiver_list_spec description. 2010-08-10 Gary V. Vaughan <gary@gnu.org> (tiny change) Make testsuite compatible with Autoconf 2.62 again. * tests/getopt-m4sh.at (AT_CHECK): Autotest 2.62 chokes on unquoted '#' in AT_CHECK, so replace all uses with '@%:@' quadrigraph. Suggested by Eric Blake <eblake@redhat.com> Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2010-08-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix more problematic code from "Add func_append_quoted and do..." * libltdl/config/ltmain.m4sh (func_mode_link): Revert back func_append instances that as assignments relied on the shell not performing word splitting on the right hand side of the assignment. Fix another typo on "Add func_append_quoted and do..." * libltdl/config/ltmain.m4sh (func_mode_link): Fix regression in computation of finalize_rpath introduced in v2.2.10-40-g0da7d80, fixing several testsuite failures on AIX. Report by Rainer Tammer. 2010-08-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Avoid unwanted error message in configure output. * libltdl/m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Try print in subshell, so eventual `print: not found' is hidden reliably. Fix compilation of program sources on AIX. * tests/lt_dlopenext.at (lt_dlopenext error messages): Do not use $LIBTOOL when compiling plain object, AIX by default does not enable static archives. * tests/ltdl-libdir.at (libdir of installed modules): Likewise. Report by Rainer Tammer. Do not call toplevel configure in non-VPATH build. * tests/deplibs-mingw.at (deplibs without file command): Use LT_AT_CONFIGURE for consistency, update comment about why it might fail. * tests/pic_flag.at (override pic_flag at configure time): Skip test if we are building in-tree. Report by Rainer Tammer. Allow running pic_flag test with different shell. * tests/testsuite.at (LT_AT_CONFIGURE): Accept optional second argument specifying the configure script to run. * tests/pic_flag.at (override pic_flag at configure time): Use LT_AT_CONFIGURE. Ensure not to reverse preserving of --debug for relinking/finish. * libltdl/config/ltmain.m4sh (func_check_version_match): Only preserve '--debug' switch if $opt_debug is not equal to ':'. * tests/help.at (debug tracing): New test group. Report by Rainer Tammer. 2010-08-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix AC_NO_EXECUTABLES test failure on AIX. * libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Wrap link test in AC_CACHE_VAL, using cache variable $lt_cv_aix_libpath. * tests/no-executables.at (AC_NO_EXECUTABLES): Preset it, to avoid link test. Bug report by Rainer Tammer. Fix ltdl-libdir test for C++ compilers. * tests/ltdl-libdir.at (libdir of installed modules): Declare module function as extern "C". 2010-08-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Let `libtool' without arguments point to `--help' again. * libltdl/config/ltmain.m4sh (func_check_version_match): Remove duplicate and wrong error check. * tests/help.at (standard command line options): Extend test. Report by Rainer Tammer. Avoid syntax error due to shift of nonexistent parameter. * libltdl/config/ltmain.m4sh <command-line handling>: Only shift if there is a positional parameter to shift. Fixes `libtool --help' when dash is used. Report by Rainer Tammer. Fix testsuite errors due to shell quoted parameter expansion issue. * tests/getopt-m4sh.at (_LT_AT_GETOPT_M4SH_SETUP): Insert space between double-quoted and unquoted shell parameter, as bash 4.0.28 doesn't add one in its output if the expansion of the second one starts with a space. (short option splitting, enhanced shell short option splitting) (long option splitting, XSI long option splitting): Add space in expected output. Fixes testsuite failures on AIX, FreeBSD, etc. Report by Rainer Tammer. 2010-08-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix build failure with AIX sh due to shell quoting error. * libltdl/config/ltmain.m4sh (func_append_quoted): Document that this function inserts a separator space. (func_mode_compile): Do not pass extra space here. Fixes regression introduced in v2.2.10-49-gc13532a. Report by Rainer Tammer. 2010-08-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix pic_flag test unportabilities. * tests/pic_flag.at (override pic_flag at configure time): Skip test if the compiler produces a warning containing `fpic'. Do not use nonportable `grep -e', for Solaris. Report by Charles Wilson. 2010-08-01 Paolo Bonzini <bonzini@gnu.org> Fix bug in postdeps computation * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Actually concatenate $prev and $p. 2010-07-26 Charles Wilson <libtool@cwilson.fastmail.fm> Don't always skip XSI tests * tests/getopt-m4sh.at: Use new signature as implemented by de8a0992b21b76a13c302cf48588ad5f6042595c, when determining whether to test Extended-shell functions. 2010-07-18 Peter Rosin <peda@lysator.liu.se> * tests/stresstest.at: Link with main.lo when liba is shared and linking main with -no-install. 2010-07-18 Peter Rosin <peda@lysator.liu.se> * tests/stresstest.at [MSVC]: dllimport all imported variables. 2010-07-17 Peter Rosin <peda@lysator.liu.se> dllimport the variable for MSVC in link-order.at * tests/link-order.at [MSVC]: Makes the test pass by dllimporting imported variables when working with shared libraries. 2010-07-08 Peter Rosin <peda@lysator.liu.se> Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Make preloading heed libname_spec. Fixes testsuite failure for lt_dladvise.at on MSYS/MSVC. * libltdl/ltdl.c (libprefix): New static variable describing the prefix of static archives. (try_dlopen): Use libprefix. * libltdl/m4/ltdl.m4 (_LTDL_SETUP): Export prefix of static archives to config.h. Also fix assignment of LTDLOPEN to be more efficient and less error prone while at it. 2010-07-08 Gary V. Vaughan <gary@gnu.org> Rename _LT_PROG_XSI_REPLACE macro to _LT_PROG_FUNCTION_REPLACE. * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Rename to _LT_PROG_REPLACE_SHELLFNS. (_LT_PROG_XSI_REPLACE): Rename to _LT_PROG_FUNCTION_REPLACE. (_LT_PROG_FUNCTION_REPLACE): Change decorator comment to use 'Extended shell' rather than 'XSI' on successful replacement. * libltdl/config/general.m4sh (func_dirname, func_basename) (func_dirname_and_basename, func_stripname): Change decorator comment to use 'extended shell' rather than 'XSI' on fallback implementations. * libltdl/config/getopt.m4sh (func_split_short_opt) (func_split_long_opt): Ditto. * libltdl/config/ltmain.m4sh (func_append, func_append_quoted) (func_arith, func_len, func_lo2o, func_xform): Ditto. * tests/getopt-m4sh.at (_LT_AT_XSI_FUNC_EXTRACT): Rename to _LT_AT_EXTENDED_SHELL_FUNC_EXTRACT. (_LT_AT_EXTENDED_SHELL_FUNC_EXTRACT): Change regular expression to match new replacable function decorator comments. 2010-07-08 Peter Rosin <peda@lysator.liu.se> Optimize assignment of output_la. * libltdl/config/ltmain.m4sh (func_mode_link): Save two fork/exec instances. Report by Ralf Wildenhues. 2010-07-08 Gary V. Vaughan <gary@gnu.org> Fix a cut-n-pasto in "2010-07-07 Charles Wilson" patch. * libltdl/config/ltmain.m4sh (func_mode_link): Remove spurious variable dereference. 2010-07-07 Gary V. Vaughan <gary@gnu.org> Tidy m4 comment header underline. * libltdl/m4/libtool.m4 (_LT_CHECK_SHAREDLIB_FROM_LINKLIB): Make sure hyphens in function name comment header underline line up. 2010-07-07 Charles Wilson <libtool@cwilson.fastmail.fm> [cygwin|mingw] fix dlpreopen with --disable-static * libltdl/config/general.m4sh (func_tr_sh): New function. * libltdl/config/ltmain.m4sh (func_generate_dlsyms) [cygwin|mingw]: Obtain DLL name corresponding to import library by using value stored in unique variable libfile_$(transliterated implib name). If that fails, use $sharedlib_from_linklib_cmd to extract DLL name from import library directly. Also, properly extract dlsyms from the import library. (func_mode_link) [cygwin|mingw]: Prefer to dlpreopen DLLs over static libs when both are available. When dlpreopening DLLs, use linklib (that is, import lib) as dlpreopen file, rather than DLL. Store name of associated la file in unique variable libfile_$(transliterated implib name) for later use. (func_win32_libid): Accomodate pei-i386 import libs as well as pe-i386. (func_cygming_dll_for_implib): New function. (func_cygming_dll_for_implib_fallback): New function. (func_cygming_dll_for_implib_fallback_core): New function. (func_cygming_gnu_implib_p): New function. (func_cygming_ms_implib_p): New function. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Adjust sed expressions for lt_cv_sys_global_symbol_to_c_name_address and lt_cv_sys_global_symbol_to_c_name_address_lib_prefix as trailing space after module name is optional. (_LT_LINKER_SHLIBS) [cygwin|mingw][C++]: Set exclude_expsyms correctly for $host. Simplify regular expression in export_symbols_cmds. (_LT_LINKER_SHLIBS) [cygwin|mingw|pw32][C]: Set exclude_expsyms correctly for $host. Enable export_symbols_cmds to identify DATA exports by _nm_ prefix. (_LT_CHECK_SHAREDLIB_FROM_LINKLIB): New macro sets sharedlib_from_linklib_cmd variable. (_LT_DECL_DLLTOOL): New macro ensures DLLTOOL is always set. 2010-07-05 Peter Rosin <peda@lysator.liu.se> * tests/export.at [MSVC]: dllimport all imported variables. 2010-07-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Peter Rosin <peda@lysator.liu.se> Support for response files with $NM. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) <nm_file_list_spec>: New tag variable. Set it to '@' if input files can be passed to $NM in a file named with the '@' option. * libltdl/config/ltmain.m4sh (func_mode_link): When nm_file_list_spec is nonempty, use it to avoid skipped_export. * doc/libtool.texi (libtool script contents): Document new variable. 2010-07-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix ccache test for MSVC. * tests/static.at (ccache -all-static): Ignore compiler stderr. Reported by Peter Rosin. 2010-07-03 Charles Wilson <libtool@cwilson.fastmail.fm> Avoid false failures caused by filesystem interaction * tests/dlloader-api.at (dlloader API): Use uglified names for pseudo-modules. 2010-07-03 Peter Rosin <peda@lysator.liu.se> Fix typo in "Add func_append_quoted and do..." * libltdl/config/ltmain.m4sh (func_mode_compile): Use func_append_quoted instead of func_append. 2010-07-02 Peter Rosin <peda@lysator.liu.se> Don't trigger file name expansion when embedding manifests. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ cygwin, mingw, cegcc ] <cl*>: Remove all spaces in the case statement of postlink_cmds to make file name expansion more unlikely. (_LT_LANG_CXX_CONFIG): Likewise, but also add the missing |. 2010-07-01 Peter Rosin <peda@lysator.liu.se> Fix regression caused by "Add func_append_quoted and do..." * libltdl/config/ltmain.m4sh (func_mode_link): Remove leftover "_libs" trash. 2010-06-28 Peter Rosin <peda@lysator.liu.se> For MSVC, embed the manifest as a resource in the executable. Fixes a lot of testsuite failures with MSVC 2003 (v8.0) and above (and perhaps also MSVC .Net) related to running programs that have been moved (e.g. installed) without their manifests also having been moved. * libltdl/m4/libtool.m4 (_LT_PATH_MANIFEST_TOOL): New macro that locates the Manifest Tool (mt) and verifies that it is indeed the manifest tool. The result is stored in the new variable MANIFEST_TOOL. (_LT_LINKER_SHLIBS) <postlink_cmds>: New tag variable. [ cygwin, mingw, cegcc ] <cl*>: Embed the manifest file as a resource. Make sure the embedding work regardless of if the @OUTPUT@ file name includes a trailing $EXEEXT. (_LT_LANG_CXX_CONFIG): Likewise. (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Require the above _LT_PATH_MANIFEST_TOOL. * libltdl/config/ltmain.m4sh (func_mode_link): After linking a program, replace @OUTPUT@ in $postlink_cmds and then execute the commands. * doc/libtool.texi (libtool script contents): Document new postlink_cmds variable. (LT_INIT): Add that the MANIFEST_TOOL environment variable can be used to override the manifest tool to use. * tests/exeext.at: New. Make sure linking with both -o prog and -o prog$EXEEXT works. * Makefile.am (TESTSUITE_AT): Update. (TESTS_ENVIRONMENT): Propagate $(MANIFEST_TOOL) to the testsuite. * NEWS: Add note of the new MANIFEST_TOOL environment variable. 2010-06-24 Peter Rosin <peda@lysator.liu.se> Add MSVC support. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [mingw, cygwin]: Add support for the Microsoft C/C++ Compiler (cl) relying on help from the compile script in Automake. * NEWS: Add note of the above. 2010-07-01 Gary V. Vaughan <gary@gnu.org> Skip `enhanced shell option appending' test when not available. * tests/getopt-m4sh.at [enhanced shell option appending]: _LT_AT_XSI_FUNC_EXTRACT will not be able to find the enhanced libtool func_append function if the replacement wasn't substituted by configure, since the decorator comments will be different - in that case simply skip the test. 2010-06-30 Gary V. Vaughan <gary@gnu.org> Add func_append test cases for smart and retarded implementations. * tests/getopt-m4sh.at (_LT_AT_FALLBACK_FUNC_EXTRACT): New macro to extract a fallback function implementation from ltmain.m4sh. [option appending]: Use it for a test of the fallback implementation of func_append. [enhanced shell option appending]: And also test the enhanced implementation. * libltdl/config/ltmain.m4sh (func_append_quoted): Fix missing \\ to escape a quoted space for eval. * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Fix missing $ in dereference of func_append inline replacement for retarded shells. 2010-06-29 Gary V. Vaughan <gary@gnu.org> Correct func_split_short_opt comment cut-n-pasto. * libtool/config/getopt.m4sh (func_split_short_opt): Fix the function comment. Use a real XSI compliant func_split_short_opt substitution. * libtool/m4/libtool.m4 (_LT_CHECK_SHELL_FEATURES): Remove test ${foo:n:m} substrings, instead adding a ${foo%??} check to the existing XSI tests. (_LT_PROG_XSI_SHELLFNS): Remove the ${foo:n:m} based func_split_short_opt substitution in favour of a properly XSI compliant substitution. Suggested by Paolo Bonzini. 2010-06-28 Gary V. Vaughan <gary@gnu.org> Add func_append_quoted and do inline func_append substitutions. * libtool/config/ltmain.m4sh: Replace all occurrences of `foo="$foo bar"' with func_append. No decorator comment was added since /func_append [a-zA-Z0-9_]* "/ is already an excellent match regexp, and additional comments would only complicate things. (func_append_quoted): New function that quotes a value with func_quote_for_eval before appending it. To avoid quoting the whitespace in the passed value, a single whitespace is added automatically. Changed callers where possible. * libtool/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Perform a `+=' implementation substitution for func_append_quoted. More importantly, systematically replace matching func_append calls with inline `+=' when supported (for maximum speed), and longhand `foo="$foo bar"' otherwise to avoid the function overhead. Add an XSI replacement for func_split_short_opt, with test cases. * libltdl/config/getopt.m4sh (m4go_shortnoargs): Remove 'v' now that getopt.m4sh doesn't steal that letter for the --version short option. * libltdl/config/ltmain.m4sh (M4SH_GETOPTS): We can now use 'v' as a short option for '--verbose'. * libltdl/config/getopt.m4sh (m4go_printopts): Add back in the leading '-' for remaining non-argument short options. (func_split_short_opt): Use the correct sed script variable. * libltdl/m4/libtool.m4 (_LT_CHECK_SHELL_FEATURES): Also ensure that XSI substring extraction is supported. (_LT_PROG_XSI_SHELLFNS): Use XSI substring extraction to split short options to avoid unnecessary forks if the host shell supports that. * tests/getopt-m4sh.at: New tests for getopt.m4sh coverage. * Makefile.am (TESTSUITE_AT): Add getopt-m4sh.at. (TESTS_ENVIRONMENT): Pass M4SH and SED for substition into the m4sh expansion performed in tests/getopt-m4sh.at. 2010-06-27 Gary V. Vaughan <gary@gnu.org> Add missing case branch terminators. * libltdl/config/ltmain.m4sh: Fixed everal case branches with missing ';;' terminators. Use TAB-SPACE in preference to SPACE-TAB. * libltdl/m4/libtool.m4 (_LT_PROG_XSI_REPLACE): Some editors might optimise away the SPACE in SPACE-TAB sequences, so use TAB-SPACE just in case. Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Amend a missed opt_mode rename instance in ltmain.m4sh. * libltdl/config/ltmain.m4sh <mode>: Rename to opt_mode. Fix portability regressions in today's earlier changeset. * libltdl/m4/libtool.m4 (_LT_PROG_XSI_REPLACE): `sed -i' is not portable; use `mv -f ...|| cp -f ...' instead. Add an initial backslash to sed `c' substitutions with leading whitespace, so that indentation is not removed by some non-POSIX compliant sed implementations. (_LT_PROG_XSI_SHELLFNS): Display a diagnostic warning message if one or more XSI function replacements failed. getopt.m4sh generated libtool option parser, and XSI improvements. * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Moved portable shell versions of various utility functions from here... * libltdl/config/getopt.m4sh (func_split_long_opt): ...to here... * libltdl/config/general.m4sh (func_dirname, func_basename) (func_dirname_and_basename, func_strip_name): ...here... * libltdl/config/ltmain.m4sh (func_append, func_arith, func_len) (func_lo2o, func_xform): ...and here. * libltdl/config/libtool.m4 (_LT_PROG_XSI_REPLACE): New macro that expands into a sed command for replacing the contents of a suitably decorated shell function with an alternate XSI implementation. (_LT_PROG_XSI_SHELLFNS): Use it to replace the portable shell versions of the functions above with equivalent XSI implementations that avoid unnecessary forks if the host shell supports that. * libltdl/config/ltmain.m4sh: Replace hand written shell code with a call to M4SH_GETOPTS. Rename some option variables in the client code to match the generated option parser settings. * libltdl/config/general.m4sh (func_echo, func_error) (func_warning): Use $opt_mode instead of obsoleted $mode in message leader. * libltdl/config/getopt.m4sh (m4_version_prereq): This file requires m4sugar.m4 from Autoconf-2.61 or newer. 2010-06-24 Charles Wilson <libtool@cwilson.fastmail.fm> [cygwin] Refactor C++ exception handling for Win32 correctness * tests/exception.at (common.h): New file, refactored from (module.h): Move declaration of modexc to libcommon. Include common.h. Use explicit import/export markings for symbols when building on win32 or cygwin. (common.cpp): New file. (module.cpp): Ensure correct symbols markings when including module.h. (lib.h): Use explicit import/export markings for symbols when building on win32 or cygwin. (lib.cpp): Ensure correct symbol markings when including lib.h. (main.cpp): Include common.h. (commands): Ensure correct symbol markings when compiling main.cpp, and lib.cpp, and module.cpp. Add command to compile common.cpp, and to link libcommon.la. Add libcommon.la when linking module.la and main. Add command to install libcommon.la. 2010-06-21 Gary V. Vaughan <gary@gnu.org> Ensure getopts.m4sh is compatible with Autoconf-2.61 and newer. * libltdl/config/getopt.m4sh (m4_chomp): Ensure this macro is implemented even if Autoconf's m4sugar.m4 doesn't provide it. (m4go_expand): New macro based on Autoconf-2.64 m4_expand. Use it everywhere incase m4sugar.m4 doesn't have an implementation. (m4_ifnblank): Replace all uses with m4_ifval, which was available long before m4_ifnblank was introduced. 2010-06-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix clean mode for HP-UX 11.31 sh. * libltdl/config/ltmain.m4sh (func_mode_uninstall): Do not try to match a null string in a case pattern, even with surrounding spaces. Fixes `lt_dlopenadvise library loading' test. Add comment for exception handling module unloading issue. * tests/exceptions.at (C++ exception handling): Add comment for last patch. Fix flags test failure when ld is used as linker. * tests/flags.at (passing CC flags through libtool): When $LD is used for linking libraries, ensure flags passed with `-Wc,' are not passed through to $LD, but flags passed with `-Wl,' use $wl when linking programs. Fixed testsuite failure on HP-UX 10.20. 2010-06-19 Charles Wilson <libtool@cwilson.fastmail.fm> [cygwin] Fix segfault in C++ exception handling test * tests/exceptions.at (main.cpp:exceptions_in_module): Move dlclose outside catch block; otherwise __cxa_end_catch (part of the cygwin g++ ABI) accesses pointers to data inside unloaded DLL. This is a platform ABI-specific bug, but is likely common to many platforms' g++ and/or other C++ compilers. 2010-06-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix srcdir computation for manual runs of old tests. * tests/defs.m4sh: Strip trailing `/tests' from srcdir, to allow `$srcdir/tests/FOO.test' to be run from the top build directory. Clean up @var handling in the manual. * doc/libtool.texi: Throughout the manual, replace @var with @samp or @code as appropriate, ensure the argument of remaining @var uses are lower-case. Let the bootstrap script fail upon errors. * bootstrap: Enable errexit. Fix execute mode test for OSF/1 5.1. * tests/execute-mode.at (execute mode): Do not use grep -F with an empty pattern. * THANKS: Update. Report by Jay K. Use config.cache variable for PIC flag, to allow override. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) <lt_prog_compiler_pic>: Save result, and allow override, through cache variable lt_cv_prog_compiler_pic{,_CXX,_F77,_FC}. The cache variable needs to contain an eventual -DPIC. * tests/pic_flag.at (override pic_flag at configure time): New file, new test. * Makefile.am (TESTSUITE_AT): Update. * NEWS, THANKS: Update. Suggestion by Joakim Tjernlund and Paolo Bonzini. 2010-06-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Optimize func_ltwrapper_scriptname to assume a cwrapper. * libltdl/config/ltmain.m4sh (func_ltwrapper_scriptname): Do not call func_ltwrapper_executable_p again here, this function is documented to allow being called with wrapper executables. Fix bootstrap script to cope with changed AC_INIT arguments. * bootstrap: When extracting PACKAGE and VERSION from AC_INIT arguments, be sure to remove a 'GNU ' prefix and lowercase the package name for PACKAGE. Also set PACKAGE_NAME and PACKAGE_URL appropriately for GNU software. Pass these variables to the make commands creating tests/package.m4 and other files. * Makefile.am (edit): Fix substitution of PACKAGE_NAME and PACKAGE_STRING. * libltdl/config/announce-gen.m4sh: Use @PACKAGE@ not @PACKAGE_STRING@. 2010-06-15 Peter Rosin <peda@lysator.liu.se> On Windows, find potential libs regardless of file name case. * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD), libltdl/config/ltmain.m4sh (func_mode_link): On Windows, find potential libs regardless of file name case. * tests/nocase.at: New test, to check for regressions of the above. * Makefile.am: Add above new test. * doc/libtool.texi (libtool script contents): Document new variables. * NEWS: Updated. 2010-06-15 Philip Allison <philip.allison@smoothwall.net> (tiny change) Avoid GCC -Wall compiler warning in dlopen self test. * libltdl/m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): Fix unused variable warning in test program. * THANKS: Update. 2010-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix cleaning of uninstalled w32 shell wrapper in subdirs. * libltdl/config/ltmain.m4sh (func_mode_uninstall): Do not override global objdir variable, instead use odir for the directory of to-be-removed files. Drop unneeded origobjdir. Report by Charles Wilson. 2010-06-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Enable colored Autotest testsuite output if available. * tests/testsuite.at: Move AT_INIT call down to late in the file, all prior code can go beforehand. Call AT_COLOR_TESTS if defined. 2010-06-14 Peter O'Gorman <peter@pogma.com> Pass resident test with --disable-shared too. * tests/resident.at: use LTDL_SET_PRELOADED_SYMBOLS. 2010-06-13 Peter O'Gorman <peter@pogma.com> Test with --disable-shared at release time too. * HACKING: Note it. Avoid failure for --disable-shared. * tests/lt_dladvise.at: Hack. Use LTDL_SET_PRELOADED_SYMBOLS to avoid failure. * tests/exceptions.at: Use it. 2010-06-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Print Libtool project URL in program --help output. * configure.ac (AC_INIT): Set PACKAGE argument to `GNU Libtool', so Autoconf knows this is GNU software. For Autoconf < 2.64, if AC_PACKAGE_URL is not defined, substitute PACKAGE_URL. * Makefile.am (edit): Substitute PACKAGE_URL. ($(srcdir)/tests/package.m4): Also depend on Makefile.am. Define AT_PACKAGE_URL, for `tests/testsuite --help' output. * libltdl/config/getopt.m4sh (func_help): Also extract comment lines that mention a home page and general GNU help. * libltdl/config/ltmain.m4sh: Use @PACKAGE_BUGREPORT@ instead of hard-coded list address. Also mention Libtool home page and general GNU help web page. * libtoolize.m4sh: Likewise. 2010-06-12 Peter Rosin <peda@lysator.liu.se> Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Improve libdir usage from within ltdl on MinGW. * libltdl/ltdl.c (parse_dotla_file) [__WINDOWS__]: Read the libdir entry in the .la file, but accept it only if it is not a unix-style absolute name. * tests/ltdl-libdir.at: New test that checks if ltdl finds an installed module via the libdir variable in the .la file. On MinGW, use a Windows-style libdir name including drive spec. * Makefile.am: Add above. 2010-06-11 Peter O'Gorman <peter@pogma.com> Skip bindir install test if we're not building shared. * tests/bindir.at: Skip install test if necessary. * THANKS: Update. Report by Michael E Faenza. 2010-06-11 Gary V. Vaughan <gary@gnu.org> Use getopt.m4sh to generate libtoolize option parser. * libtoolize.m4sh: Replace hand written shell code with a call to M4SH_GETOPTS. Move some premature initialization from the preamble to the main part of the script. Exit with an error on spurious additional non-option arguments. (envopts): Integrate LIBTOOLIZE_OPTIONS pre-parsing into the main option parsing loop. (opt_copy): Use in place of and in the reverse sense of the old opt_link variable. 2010-06-10 Peter O'Gorman <peter@pogma.com> Create reloadable object files with non-pic objects too. * libltdl/config/ltmain.m4sh: When not building a shared library, use the non-pic objects to create a reloadable object, because pic objects do not exist. 2010-06-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Ensure libltdl is up to date for check-local. * Makefile.am (LTDL_BOOTSTRAP_DEPS): New variable. (all-local): Use it to simplify dependencies. (testsuite_deps_uninstalled): Add $(LTDL_BOOTSTRAP_DEPS). Report by Peter Rosin. 2010-06-10 Gary V. Vaughan <gary@gnu.org> Support shell tracing inside functions even with ksh. * libltdl/config/getopt.m4sh: Set $opt_debug to be either `:' or `set -x' depending on whether --debug was parsed to match usage in libtoolize.m4sh and ltmain.m4sh. * clcommit.m4sh, libltdl/config/announce-gen.sh: Instead of `$opt_debug && ...', use `test "$opt_debug" != ":" && ...'. * clcommit.m4sh, libltdl/config/announce-gen.m4sh, libltdl/config/getopt.m4sh, libltdl/connfig/mailnotify.m4sh: Execute at the start of functions to cater to ksh, which resets `-x' inside shell functions. Fix a typu in HACKING. * HACKING (Release Procedure): s/Makeflie/Makefile/. 2010-06-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Factorize testing gcj installation in the testsuite. * tests/testsuite.at (LT_AT_TAG): For the GCJ tag, actually try to compile a .java file when deciding whether to skip. (LT_AT_EXEC_TAG): New macro, to also ensure runnability. * tests/convenience.at (Java convenience archives): Use LT_AT_EXEC_TAG, simplify accordingly. * tests/flags.at (passing lt_tag flags through libtool): Use m4_defn for tag so LT_AT_TAG works. * tests/infer-tag.at (GCJ inferred tag): Simplify. * THANKS: Update. Report by Warren Dodge. 2010-06-09 Peter O'Gorman <peter@pogma.com> Skip demo-nopic tests if SELinux policy will cause failure. * tests/demo-nopic.test: Check SELinux policy and skip if necessary. 2010-06-09 Gary V. Vaughan <gary@gnu.org> Set SCM version number to 2.2.11a. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.11a. * NEWS: Updated. GNU Libtool 2.2.10 was released. Prepare for next release. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.10. * NEWS: Update version number. Fix a quoting bug with ./commit -a 'A U Thor'. * clcommit.m4sh (func_commit): Use func_show_eval when calling git, so that the previously func_quote_for_eval()ed $git_flags is expanded properly. 2009-09-15 Peter Rosin <peda@lysator.liu.se> Don't try the MSYS libdir path on MinGW. * libltdl/ltdl.c (parse_dotla_file) [mingw]: The absolute libdir path in the .la file is recorded as an MSYS (POSIX style) path. Make sure it isn't tried when locating the shared library. * NEWS: Updated. 2010-06-09 Gary V. Vaughan <gary@gnu.org> Simplify license variations, and add missing license texts. * ChangeLog, ChangeLog.1996, ChangeLog.1997, ChangeLog.1998, ChangeLog.1999, ChangeLog.2000, ChangeLog.2001, ChangeLog.2002, ChangeLog.2003, ChangeLog.2004, ChangeLog.2005, ChangeLog.2006, ChangeLog.2007, ChangeLog.2008, ChangeLog.2009, NEWS: Add all-permissive license. * HACKING, README, README.alpha, TODO: Relax license to RMS encouraged all-permissive terms. * libltdl/README: Ditto. I added the original license text in 2007, and there's no need for it to be so long for such a trivial file. * libltdl/config/getopt.m4sh, libltdl/general.m4sh: Cvs-utils is dead, and I am the author of these files, so consolidated license terms to match regular Libtool licensing. * HACKING (Licensing Rules): Update wording, and list of files for the all permissive license. (GPL with CVS-Utils exception clause): Removed. No files have these license any more. (GPL with Libtool exception clause): Ditto, only libltdl/README used to be distributed with this variation. * AUTHORS: Add GPL license text. Fix a type in the 2.2.8 release notes. * NEWS: s/ romoted/ promoted/ in the 2.2.8 release notes. Don't warn about the blank line inserted into git commit message. * clcommit.m4sh: When searching for accidental commits of mutliple changes, ignore the second line of the message, which we inserted earlier to support "git log --oneline". Enable correct extraction of multiline copyright from --version. * libltdl/config/getopt.m4sh: Wrap copyright notice at 76 columns. (func_version): Don't omit spaces when merging multiline copyright notices. * clcommit.m4sh, libtoolize.m4sh: Wrap copyright notice at 76 columns. * NEWS (2.2.8): BlueGene compiler tests were performed on BG/P systems, not BG/L. Reported by Christian Rössel <christian.roessel@gmx.de> 2010-06-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix testsuite helper macros to not hide failure. * tests/testsuite.at (LT_AT_CONFIGURE, LT_AT_MAKE): Do not wrap AT_CHECK in a subshell, so that failures are properly propagated; instead, move environment changes inside the AT_CHECK code. Report and analysis by Peter Rosin. Avoid autom4te warning about unnamed diversion. * libltdl/config/getopt.m4sh: Use diversion name KILL not -1. 2010-06-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Make versioning test stricter for w32, enable shared libs. * tests/versioning.at (versioning): Add -no-undefined to LDFLAGS. (test_uninstalled): Also move $bindir out of the way temporarily. Fix versioning test for LDFLAGS=-Wl,--as-needed. * tests/versioning.at (versioning): For the library update hypotheses, ensure the unchanged library libb isn't accidentally relinked against the new liba, by not reinstalling libb. Fixes testsuite failure for the incompatible update case with LDFLAGS=-Wl,--as-needed. * THANKS: Update. Report by Ryan Hill. 2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Rewrite manual intro to be gender-neutral. * doc/libtool.texi (Introduction): Use gender-neutral formulation when addressing developers. 2010-06-05 Gary V. Vaughan <gary@gnu.org> Update and simplify all m4sh scripts to use latest getopt.m4sh. * clcommit.m4sh, libltdl/config/mailnotify.m4sh: Rewrite option parsing loop over M4SH_GETOPTS macro, and adjust all clients of option variables to use generated option names. Add missing quote for literal ? in a shell case statement. * libltdl/config/getopt.m4sh (m4go_shortnoargs): Quote initial ? correctly for use in a shell case statement. Quote command line arguments after --rcfile properly. * libltdl/config/announce-gen.m4sh (--rcfile): Quote remaining arguments shell variable expression correctly for eval. Shift correctly in numbered option argument collection. * libltdl/config/getopt.m4sh (_m4go_option): Argument list also needs to be `shift'ed in the shell option loop after processing a numbered argument collection. Fetch from new upstream host for config.guess and config.sub. * Makefile.maint (WGET_CGIT): Location of newest config.guess and config.sub upstream. (fetch): Fetch config.guess and config.sub from WGET_CGIT, rather than no-longer-updating WGET_SGO location. Update generated upload directive file format to v1.1. * Makefile.maint (git-dist, diffs): Update to generate v1.1 format directive files for ftp://ftp-upload.gnu.org/incoming/ftp. Fix web manual generation details in release instructions. * HACKING (Release Procedure): Move the instruction for generating web manuals for a new release to before the instruction that bumps the version numbers to the post release values. Set SCM version number to 2.2.9a. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.9a. * NEWS: Updated. GNU Libtool 2.2.8 was released. Prepare for next release. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.8. * NEWS: Update version number. * INSTALL, libltdl/config/install-sh, libltdl/config/config.guess, libltdl/config/config.sub, libltdl/config/texinfo.tex: Updated from canonical source. Provide an m4sh reimplementation of announce-gen. * libltdl/config/getopt.m4sh (M4SH_GETOPTS): New macro that takes a quoted m4 list of command line options to be parsed, and generates the shell code to parse those options and collect the results into appropriately named 'opt_xxx' shell variables. Also, add some private supporting macros, and improve the comments radically. * libltdl/config/announce-gen.m4sh: New file, to generate and optionally post (an enhancement over the gnulib perl script of the same name) a release announcement. * Makefile.maint (announce-gen): Build a new announce-gen script in the build directory, from the contents of libltdl/config/announce-gen.m4sh. * HACKING (Release Procedure): Update the instructions to use announce-gen. (Alpha release note template, Full release note template): Removed. 2010-05-22 Gary V. Vaughan <gary@gnu.org> Support "git log --oneline" in generated commit messages. * clcommit.m4sh (func_check_commit_msg): Insert an empty line between the ChangeLog entry summary line and the ChangeLog entry body, so that "git log --oneline" works properly. Bump copyright and version number. Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2010-05-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * HACKING: Set Reply-To: in announcement emails. 2010-05-21 Gary V. Vaughan <gary@gnu.org> Set SCM version number to 2.2.7c. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.7c. * NEWS: Updated. GNU Libtool 2.2.7b was released. Prepare for next release candidate. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.7b. * libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4, libltdl/m4/ltoptions.m4, libltdl/m4/lt~obsolete.m4: These files have been updated without a serial bump since the last release. * libltdl/Makefile.inc (LTDL_VERSION_INFO): Bump Revision, to account for bugfixes since the last release. * libltdl/config/install-sh, libltdl/config/config.guess, libltdl/config/config.sub, libltdl/config/texinfo.tex, INSTALL: Updated from canonical source. * NEWS: Update with missing entries from ChangeLog. * HACKING: Note workaround for developer tool-path leakage bug. Skip some tests in --disable-ltdl-install mode. * tests/dlloader-api.at, tests/exceptions.at, tests/lalib-syntax.at, tests/loadlibrary.at, tests/lt_dlopenext.at, tests/resident.at: Detect when these tests try to link against the not installed libltdl.la, and skip rather than FAIL. 2010-05-05 Peter Rosin <peda@lysator.liu.se> Clarify versioning algorithm documentation. * doc/libtool.texi (Updating version info): Be explicit about setting age to zero on interface change. Reported by Jef Driesen <jefdriesen@hotmail.com> 2010-05-04 Peter O'Gorman <peter@pogma.com> Ranlib is required with -force_load and fat archives. * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Run ranlib. Reported by Jeremy Huddleston <jeremyhu@apple.com> 2010-04-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix incompatible struct declarations. * doc/libtool.texi (Dlpreopening): Remove broken documentation of lt_dlsymbol and lt_dlsymlist. Document typedef lt_dlsymlist and symbol lt_preloaded_symbols according to the implementation. * tests/demo/dlmain.c (lt_symlist): Make struct anonymous ... (lt_dlsymlist): ... and typedef to this name. (lt_preloaded_symbols, main): Adjust. * tests/pdemo/longer_file_name_dlmain.c: Likewise. 2010-04-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Use linker_flags not compiler_flags with $LD. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [linux] <archive_cmds, archive_expsym_cmds>: With xlf and bgxlf compilers, when linking with $LD, use $linker_flags not $compiler_flags. 2010-03-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Add FAQ, and FAQ entry for flags stripped at library link time. * doc/libtool.texi (FAQ, Stripped link flags): New nodes. (Wrapper executables): Replace bug address with macro. (Compile mode, Link mode): Document `-Wc,' and `-Xcompiler ' semantics better. * libltdl/config/ltmain.m4sh (func_mode_link): Rewrite comment for the flags that are passed through. Prompted by reports from Simon Richter <Simon.Richter@hogyros.de>, Török Edwin <edwintorok@gmail.com> and Åke Sandgren <ake.sandgren@hpc2n.umu.se>. 2010-03-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix preloader symbol list declaration in libltdl. * libltdl/ltdl.c (preloaded_symbols): Fix declaration to include array brackets. (lt_dlinit): Do not take address of preloaded_symbols. Fix typo in libtool --help output. * libltdl/config/ltmain.m4sh (func_mode_help): Fix typo in help output. Fix a couple of documentation errors. * doc/libtool.texi (Autoconf macros): Improve hyphenation. (Using libltdl): libltdl uses the Lesser General Public License, not the Library General Public License. Do not use @sc nor @acronym in the manual. * doc/libtool.texi: Remove all usage of @sc. 2010-03-19 Chris Demetriou <cgd@google.com> Sort output of 'find' to enable deterministic builds. * libltdl/config/ltmain.m4sh (func_extract_archives): Sort output of 'find'. * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Likewise. * THANKS: Update. 2010-03-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Unconditionally normalize LC_ALL, LANGUAGE in libtool script. * libltdl/config/ltmain.m4sh: Unconditionally set LC_ALL and LANGUAGE to 'C', to avoid semantic differences on MinGW under Chines locale. SCO issues with e.g. LANG=C are not known to be relevant today any more. Report by Pete Batard <pbatard@gmail.com> and Xiaofan Chen <xiaofanc@gmail.com>. 2010-03-17 Peter Rosin <peda@lysator.liu.se> Preserve the last error when restoring the error mode. * libltdl/loaders/loadlibrary.c (wm_open): Don't rely on SetThreadErrorMode (or SetErrorMode) to not clobber the last error. Report by Ralf Wildenhues. Use Get/SetThreadErrorMode if they are available. * libltdl/loaders/loadlibrary.c (wrap_geterrormode): Replaced... (wrap_getthreaderrormode): ...by this function that checks first for GetThreadErrorMode, then GetErrorMode and makes use of either of those or... (fallback_getthreaderrormode): ...else falls back to this replacement function that implements the old workaround, which was previously implemented in... (fallback_geterrormode): ...this now renamed function. (geterrormode): Replaced... (getthreaderrormode): ...by this function pointer that points at either of wrap_getthreaderrormode, GetThreadErrorMode, GetErrorMode or fallback_getthreaderrormode. (wrap_setthreaderrormode): New function that checks if SetThreadErrorMode is supported by the system and makes use of it if it is. (fallback_setthreaderrormode): New function that is used otherwise that implements the old version using SetErrorMode. (setthreaderrormode): New function pointer that points at either of wrap_setthreaderrormode, SetThreadErrorMode or fallback_setthreaderrormode. (vm_open): Adjust to the above. 2010-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Detect Sun compiler suite with 'sun'-prefixed names. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LANG_CXX_CONFIG) (_LT_SYS_HIDDEN_LIBDEPS) [solaris]: Accept compiler names sunCC, sunf77, sunf90, sunf95 in addition to CC, f77, f90, f95. * NEWS: Update. Report by Vadim Zeitlin. 2010-02-28 Pierre Ossman <ossman@ossman.lkpg.cendio.se> (tiny change) Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix deplibs check fallback for 64-bit Windows and Windows CE. * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): Accept file formats 'pe-arm-wince' and 'pe-x86-64'. Add note about consistency with ... * libltdl/config/ltmain.m4sh (func_win32_libid): ... the respective pattern here; sync pattern from the former. * tests/deplibs-mingw.at (deplibs without file command): New file, new test. * Makefile.am (TESTSUITE_AT): Update. * NEWS: Update. 2010-02-24 Scott McCreary <scottmc2@gmail.com> (tiny change) Update search path on Haiku for legacy system directory. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [haiku] <sys_lib_dlsearch_path_spec>: Replace legacy /boot/beos/system/lib directory with /boot/system/lib. * THANKS: Update. 2010-02-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> manual: fix detailmenu ordering. * doc/libtool.texi (Top): Add section for `Linking executables' in the detailmenu. 2010-02-21 Charles Wilson <libtool@cwilson.fastmail.fm> Guard against strerror()==NULL * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src:main): Check return value of strerror() using nonnull(). (func_emit_cwrapperexe_src:find_executable): Ditto. (func_emit_cwrapperexe_src:chase_symlinks): Ditto. 2010-02-21 Charles Wilson <libtool@cwilson.fastmail.fm> Document wrapper changes. * NEWS: Indicate new feature and incompatibility. * doc/libtool.texi [detailmenu]: Add reference to subsection 'Wrapper executables for programs', in Platform Quirks category. [Linking executables]: Mention wrapper executables, in addition to wrapper scripts. Add menu referencing subsection 'Wrapper executables for programs'. [Wrapper executables for programs]: New subsection. Documents cwrapper rationale and command line options. 2010-02-21 Charles Wilson <libtool@cwilson.fastmail.fm> Add --lt-* options to shell wrapper * libltdl/config/ltmain.m4sh (func_emit_wrapper): Call func_parse_lt_options early. Use func_exec_program. (func_emit_wrapper:func_parse_lt_options): New function. (func_emit_wrapper:func_lt_dump_args): New function. (func_emit_wrapper:func_exec_program_core): New function. (func_emit_wrapper:func_exec_program): New function. 2010-02-21 Charles Wilson <libtool@cwilson.fastmail.fm> Enable runtime cwrapper debugging; add tests * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): Update comments. Initialize program_name. Eliminate _LENGTH variables for string constants. In debug mode, print a banner with known content before any other output. Remove LTWRAPPER_DEBUGPRINTF macro. Add constants and variables to support new --lt-debug option. (func_emit_cwrapperexe_src:ltwrapper_debugprintf): Renamed to... (func_emit_cwrapperexe_src:lt_debugprintf): this. Only print messages if lt_debug != 0. Ensure appearance of messages conforms to GCS. (func_emit_cwrapperexe_src:lt_fatal): Ditto. (func_emit_cwrapperexe_src:lt_error_core): Ditto. (func_emit_cwrapperexe_src): Update all callers to lt_fatal. Update all users of LTWRAPPER_DEBUGPRINTF (()) to call lt_debugprintf () directly. (func_emit_cwrapperexe_src:main): Consolidate option parsing. Ensure first use of lt_debugprintf occurs after option parsing. Add stanza to parse for --lt-debug and set lt_debug variable. Use strcmp rather than strncmp, where safe. * tests/cwrapper.at: Add new tests for --lt-debug and -DLT_DEBUGWRAPPER. 2010-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Use --email with gendocs.sh. * Makefile.maint (web-manual): Pass bug reporting address to gendocs.sh. Make testsuite code C++ clean again. * tests/resident.at (resident modules): Fix for C++. 2010-01-29 Peter Rosin <peda@lysator.liu.se> Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Testsuite exposure for dlloader API. * tests/dlloader-api.at: New file, new test. * Makefile.am (TESTSUITE_AT): Update. 2010-01-29 Peter Rosin <peda@lysator.liu.se> * tests/loadlibrary.at: Fix C++ issues. 2010-01-20 Peter Rosin <peda@lysator.liu.se> Report proper errors from the loadlibrary loader. * libltdl/loaders/loadlibrary.c (loadlibraryerror): New helper function that returns the latest Windows error as a string, or the provided default string on failure to do so. (LOADLIB_SETERROR): New macro that wraps previous to make it easy to use. (vm_open, vm_close, vm_sym): Make use of previous. (LOCALFREE): New macro to help free the Windows error string. (vl_exit): Make use of previous. * tests/loadlibarry.at: New file, new test that makes sure the loadlibrary loader reports non-standard error messages. * Makefile.am (TESTSUITE_AT): Add above test. 2010-01-02 Peter Rosin <peda@lysator.liu.se> Use GetErrorMode if it is available. * libltdl/loaders/loadlibrary.c (wrap_geterrormode): New function that checks if GetErrorMode is supported by the system and makes use of it if it is. (fallback_geterrormode): New function that is used otherwise that implements the old workaround. (geterrormode): New function pointer that points at either of the above or directly at GetErrorMode. (vm_open): Make use of the above. 2010-01-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Ensure functions from resident modules work in atexit handlers. * tests/resident.at (resident modules): New file, new test. * Makefile.am (TESTSUITE_AT): Adjust. Report by Bob Friesenhahn. Testsuite exposure for relative output file names and deplibs. * tests/deplib-in-subdir.at (deplib in subdir): New file, new test. * Makefile.am (TESTSUITE_AT): Update. Prompted by report from Bob Friesenhahn. 2010-01-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Bob Friesenhahn <bfriesen@simple.dallas.tx.us> Testsuite exposure for C++ exception handling. * tests/exceptions.at (C++ exception handling): New file, new test. * Makefile.am (TESTSUITE_AT): Update. Report by Bob Friesenhahn. 2010-01-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Bump copyright years. * ChangeLog.2009: New, rotated from ... * ChangeLog: ... here. * Makefile.am (EXTRA_DIST): Add ChangeLog.2009. * NEWS, libltdl/config/ltmain.m4sh: Bump copyright years. * libltdl/m4/libtool.m4 (_LT_COPYING, LT_OUTPUT): Likewise. * libtoolize.m4sh: Likewise. 2009-12-30 Peter Rosin <peda@lysator.liu.se> * libltdl/ltdl.c (lt_dlerror): Remove meaningless conditional. 2009-12-29 Peter Rosin <peda@lysator.liu.se> * libltdl/ltdl.c (file_not_found): Fix typos in code comment. 2009-12-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Replace last __oline__ instance. * libltdl/m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): Replace last __oline__ instance with $LINENO. 2009-12-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Improve parsing of .la files in libltdl. * libltdl/ltdl.c (trim): Do not dump core upon missing quote in module .la file. * tests/lalib-syntax.at (syntax of .la files): New file, new test. * Makefile.am (TESTSUITE_AT): Add tests/lalib-syntax.at. Report by Bob Friesenhahn. 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Sane fallback initialization of $ECHO from $as_echo. * libltdl/config/general.m4sh: Use 'printf %s\n' if $as_echo is unset. * tests/testsuite.at: Likewise. * THANKS: Update. Report by Vadim Zeitlin and Peter Rosin. 2009-12-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> lt_dlloader_remove and lt_dlloader_find accept const arguments. * libltdl/lt_dlloader.c (lt_dlloader_remove, lt_dlloader_find): Accept `const char *' arguments, as documented. Cast them to `void *' for the slist machinery. * libltdl/libltdl/lt_dlloader.h: Adjust prototypes. Test and fix slist.c. * libltdl/libltdl/slist.h: Include stddef.h, for size_t. (slist_remove): Return pointer to SList, not void. * libltdl/slist.c: Include stdlib.h, for malloc and free. (slist_remove): Adjust prototype as above. (slist_sort): Do not loop forever on one-item list. * tests/slist.at (SList functionality): New file, new test. * Makefile.am (TESTSUITE_AT): Add tests/slist.at. 2009-11-30 Peter Rosin <peda@lysator.liu.se> Please C++ compilers when calling strrchr. * libltdl/ltdl.c (has_library_ext): Match the return type of strrchr with the first argument to please C++ compilers. Report by Peter O'Gorman. 2009-11-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix bindir and dlopen tests for C++ compilers (CC=g++). * tests/bindir.at (bindir basic lib test, bindir install tests): Include stdlib.h rather than declaring abort. * tests/lt_dlopenext.at (lt_dlopenext error messages): Use `extern "C"' annotation for dlsym'ed function in C++ mode. 2009-11-25 Peter Rosin <peda@lysator.liu.se> Fix cross build issue in execute mode test. * tests/execute-mode.at: Skip test for cross builds. 2009-11-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Enable symbol versioning with the GNU gold linker. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS): Accept 'GNU gold' in the version string. * NEWS, THANKS: Update. Report by Peter Fritzsche. Tighten regex for Portland C++ compiler for version 10. * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [linux]: Match a dot after version 1 through 5, so 10 and up don't match, and use weak symbols. * THANKS: Update. Report by Jeff Squyres and Brent Leback. 2009-11-16 Peter O'Gorman <peter@pogma.com> Update libltdl version to match 2.2.6b release. * libltdl/Makefile.inc: Make version 9:1:2 2009-11-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> Don't load module.la from current directory by default. * libltdl/ltdl.c (try_dlopen): Do not attempt to load an unqualified module.la file from the current directory (by default) since doing so is insecure and is not compliant with the documentation. * tests/testsuite.at: Qualify access to module.la file in current directory so that test passes. 2009-11-14 Peter O'Gorman <peter@pogma.com> Only use preopen loader to load preopened archives * libltdl/ltdl.c: Limit checking of .a to preopen loader. * tests/lt_dlopen_a.at: Add test. * Makefile.am: Add test. 2009-11-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Recognize `pgfortran' as Portland compiler. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS): Accept `pgfortran*' too. Report by Jeff Squyres. 2009-11-04 Alexandre Oliva <aoliva@redhat.com> Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix verbose link extraction for multiply reconfigured GCC. * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) <output_verbose_link_cmd>: Drop GCC lines "Configured with" that may contain unrelated flags. 2009-11-02 Eric Blake <ebb9@byu.net> Allow gcc builds with -Wall -Werror. * libltdl/ltdl.c (try_dlopen): Use strlen rather than LT_STRLEN on an array that will never be NULL. 2009-11-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix func_normal_abspath sed script for Solaris. * libltdl/config/general.m4sh (pathcar, pathcdr, removedotparts) (collapseslashes, finalslash): Use single quotes, for clarity. (removedotparts): Avoid \{N,M\} after subexpression \(...\), for Solaris /bin/sed. Improve versioning algorithm documentation. * doc/libtool.texi (Updating version info): Repeat the algorithms in different, hopefully simpler terms. * THANKS: Update. Prompted by Richard B. Kreckel. 2009-11-01 Ingo Weinhold <ingo_weinhold@gmx.de> (tiny change) Support for the Haiku operating system. * libltdl/config/ltmain.m4sh (func_mode_link): Add cases for `*-*-haiku*' alongside `*-*-beos*'. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_CHECK_MAGIC_METHOD, LT_LIB_M, _LT_COMPILER_PIC) (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Add cases for `haiku*'. * NEWS, THANKS: Update. 2009-11-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix quoting of AS, DLLTOOL, and OBJDUMP for the libtool script. * libltdl/m4/ltoptions.m4 (AC_LIBTOOL_DLOPEN): Quote values of $AS, $DLLTOOL, and $OBJDUMP, so they can contain arguments. * THANKS: Update. Report by Matthijs Kooijman. 2009-09-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Initial support for the Cuda Compiler Driver on Linux. * libltdl/config/ltmain.m4sh (func_mode_compile): Accept source file extensions `.cu' and `.cup'. * libltdl/m4/libtool.m4 (_LT_COMPILER_NO_RTTI, _LT_COMPILER_PIC) (_LT_LINKER_SHLIBS): Support for `nvcc' compiler driver. * NEWS, THANKS: Update. Report by Mahesh Narayanamurthi. 2009-09-12 Dave Korn <dave.korn.cygwin@googlemail.com> Control where win32 DLLs get installed. * libltdl/config/general.m4sh (func_normal_abspath): New function. (func_relative_path): Likewise. * libltdl/config/ltmain.m4sh (func_mode_help): Document "-bindir". (func_mode_link): Accept new "-bindir" option and use it, if supplied, to place Windows DLLs. * tests/bindir.at: New file for install tests using "-bindir". * Makefile.am (TESTSUITE_AT): Add bindir.at. * doc/libtool.texi (Link Mode): Update documentation. * NEWS, THANKS: Update. 2009-09-11 Akim Demaille <demaille@gostai.com> libtool: clean libconftest.a. * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Here. 2009-09-10 Peter Rosin <peda@lysator.liu.se> func_win32_libid doesn't work with MS dumpbin * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): The $NM interface is assumed to be BSD nm in func_win32_libid, so check for that before using it. 2009-09-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Allow dlopen self test to work with gcc's -fvisibility=hidden. * libltdl/m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): Declare default visibility for the symbol we are going to test dlopen (NULL) when a GCC version is used that understands the visibility attribute, under the assumption that if -fvisibility=hidden will be used, the user code will be sufficiently annotated for visibility of needed symbols from the main executable. * THANKS: Update. Report by Josh Hursey against OpenMPI. Fix and split recent testsuite addition for compile/link flags. * tests/flags.at (passing flags through libtool): Split into ... (passing CC flags through libtool) (passing CXX flags through libtool) (passing F77 flags through libtool) (passing FC flags through libtool) (passing GCJ flags through libtool): ... these five tests, factorized with m4_foreach. Fix F77 and FC compile and link commands; add GCJ tag. Use LT_AT_TAG to correctly skip tags for which no compiler exists. Use $EXEEXT where appropriate. Drop unneeded use of reload_cmds. Reports by Peter Rosin and Peter O'Gorman. 2009-09-07 Peter O'Gorman <peter@pogma.com Fix redirect in test case. * tests/darwin.at: Fix stderr redirect. Use darwin's -force_load flag if available for whole_archive_flag_spec * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Check for -force_load and use it if there. * tests/darwin.at: Add a simple test. 2009-09-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Testsuite keyword 'interactive' and check-* rules. * Makefile.am (testsuite_deps, testsuite_deps_uninstalled): New variables. (check-local, installcheck-local): Use them. (check-interactive, check-noninteractive): New rules. * tests/link-order2.at (Link order of deplibs), tests/static.at (static linking flags for programs): Add keyword `interactive'. * doc/libtool.texi (Test descriptions): Document all keywords used in the Libtool test suite. * NEWS: Update. Fix failure test in the presence of --with-pic or -prefer-pic. * tests/fail.at (Failure tests): Run non-PIC failure test only if pic_mode is 'default' or 'no', rather than 'default' or 'yes' and also -prefer-pic has not been passed in $CFLAGS. * THANKS: Update. Report by Donn Washburn. Add testsuite exposure for passing of compiler and linker flags. * tests/flags.at (passing flags through libtool): New file, new test, for bug fixed in previous commit. * Makefile.am (TESTSUITE_AT): Add tests/flags.at. 2009-09-04 Peter Rosin <peda@lysator.liu.se> Make -Wc,FLAG behave like -Xcompiler FLAG in link mode. * libltdl/config/ltmain.m4sh (func_mode_link): Remove "-Wc," instead of replacing it with "$wl" when linking programs through the compiler driver, just as is the case when linking libraries. * NEWS: Update. 2009-08-23 Lennart Poettering <lennart@poettering.net> (tiny change) Shut up prototype warnings with recent GCC and -Wstrict-prototypes. * libltdl/config/ltmain.m4sh (func_generate_dlsyms): Use recent GCC's diagnostic pragma to override a -Wstrict-prototypes setting for the symbol list code. * THANKS: Update. 2009-08-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Remove __oline__ from macros, for less spurious configure diffs. * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK, _LT_COMPILER_OPTION) (_LT_COMPILER_C_O, LT_PATH_NM): Replace __oline__ instances with $LINENO. * NEWS: Update. 2009-07-24 Roumen Petrov <bugtrack@roumenpetrov.info> (tiny change) Fixup 'execute mode' test for w32. * tests/execute-mode.at (execute mode): Add missing $EXEEXT. (LDFLAGS): Add -no-undefined. 2009-07-01 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> (tiny change) Charles Wilson <libtool@cwilson.fastmail.fm> [CXX] Use correct export_dynamic_flag_spec for PE-COFF $hosts * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [cygwin*|mingw*|pw32*|cegcc*]: Define export_dynamic_flag_spec as -Wl,--export-all-symbols here as well (see commit 5f2bbb494a2753afb2878c399cfd8316b7403a5b). 2009-06-29 Charles Wilson <libtool@cwilson.fastmail.fm> [mingw] Improve sys_lib_search_path_spec detection. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Fix handling of dos-style paths when parsing $CC -print-search-dirs output. 2009-06-28 Charles Wilson <libtool@cwilson.fastmail.fm> Finish adding alias for obsoleted AC_LIBTOOL_RC macro. * libltdl/m4/libtool.m4: Add reminder comment concerning aclocal-1.4 backwards compatibility. * libltdl/m4/lt~obsolete.m4: Remove unnecessary AC_DEFUN. 2009-06-27 Charles Wilson <libtool@cwilson.fastmail.fm> Add alias for obsoleted AC_LIBTOOL_RC macro. * libltdl/m4/libtool.m4: Add alias for obsoleted macro AC_LIBTOOL_RC. 2009-06-21 Charles Wilson <libtool@cwilson.fastmail.fm> Remove unneeded functions and options from cwrapper * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) [lt_opt_process_env_set]: Remove. [lt_opt_process_env_prepend]: Remove. [lt_opt_process_env_append]: Remove. [lt_split_name_value]: Remove. [file scope]: Don't declare removed functions. Remove constants and defines related to eliminated commandline options. [main]: Remove code related to eliminated commandline options --lt-env-set, --lt-env-prepend, --lt-env-append. 2009-06-19 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> (tiny change) Charles Wilson <libtool@cwilson.fastmail.fm> Ensure LT_PATH_LD works when called before LT_INIT * libltdl/m4/libtool.m4 (LT_PATH_LD): AC_REQUIRE _LT_PROG_ECHO_BACKSLASH. 2009-06-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Add versioning tests. * tests/versioning.at (versioning): New file, new test. * Makefile.am (TESTSUITE_AT): Adjust. Prompted by bug report from Mike Gorchak. 2009-06-14 Mike Gorchak <mike@malva.ua> (tiny change) Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix versioning computation for QNX. * libltdl/config/ltmain.m4sh (func_mode_link): Set `$current' and `$age' properly for version_type `qnx'. 2009-06-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Avoid spurious localization testsuite failure on HP-UX/ia64. * tests/localization.at (localized compiler messages): Skip test if the compiler warning output contains `locale', for HP-UX. 2009-06-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix concurrent extraction of convenience libraries on Darwin. * libltdl/m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE): New libtool variable `lock_old_archive_extraction', set to `yes' on darwin. * doc/libtool.texi (libtool script contents): Document it. * libltdl/config/ltmain.m4sh (func_extract_an_archive): Lock `ar x' invocation if `lock_old_archive_extraction' is yes. * tests/darwin.at (darwin concurrent library extraction): New test. * NEWS: Update. Report by Akim Demaille. 2009-06-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix testsuite failure of lt_dlopenadvise test on FreeMiNT. * tests/lt_dladvise.at (lt_dlopenadvise library loading): Do not build moddepend for systems without shared libraries. Report by Alan Hourihane. testsuite: avoid failures due to old Automake. * tests/configure-iface.at (installable libltdl) (--with-ltdl-include/lib, --with-included-ltdl): Speficy libmodule_la_SOURCES in Makefile.am as the default source file naming scheme changed in Automake 1.8. * tests/nonrecursive.at (_LT_AT_LTDL_SETUP): Require Automake 1.9.6. * THANKS: Update. Report by Robert Garron. testsuite: add missing @LIBS@ in a link command line. * tests/old-m4-iface.at (AC_WITH_LTDL): Use @LIBS@ when linking. Report by Patrice Fromy. testsuite: cope when some installed libltdl.la has been removed. * tests/old-m4-iface.at (AC_WITH_LTDL): Pass --with-included-ltdl to configure, to ensure we do not accidentally link against a previously installed libltdl.so where the corresponding .la file has been removed, thus we do not add a run path, and the runtime linker then fails to find libltdl.so.7. * tests/configure-iface.at (--with-ltdl-include/lib): Remove -L flags from LDFLAGS to avoid picking up an installed libltdl outside of the default locations. * THANKS: Update. Prompted by report from Patrice Fromy. 2009-06-07 Vincent Torri <vtorri@univ-evry.fr> (tiny change) Fix C wrapper invocation for ceGCC hosts (cegcc and mingw32ce). * libltdl/config/ltmain.m4sh (func_mode_link): do not generate C wrapper for cegcc and mingw32ce hosts. (func_emit_cwrapperexe_src): remove useless check on __MINGW32CE__. 2009-06-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Don't pick up double-quotes from /etc/ld.so.conf on Ubuntu. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ] <sys_lib_dlsearch_path_spec>: Remove embedded double quotes from paths picked up from /etc/ld.so.conf. Fixes libltdl compile failure on Ubuntu 7.10. * THANKS: Update. Report by Camilo La Rota. 2009-06-06 Richard Sandiford <richards@transitive.com> Fix GNU nm invocation for AIX. * libldtl/m4/libtool.m4 (_LT_LINKER_SHLIBS) <export_symbols_cmds>: Modify the GNU-nm-on-AIX version so that it adds weak defined symbols to the export list. Build AIX shared libraries with binutils 2.19.50+. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) <lt_use_gnu_ld_interface>: New variable to control whether the GNU ld or native ld interface is used. Set to "no" for GNU ld 2.19.50+ on AIX, otherwise mirror $with_gnu_ld. Update the warning message that is printed when using GNU ld on AIX. Adjust the whole_archive_flag_spec value for GNU ld on AIX. * NEWS, THANKS: Update. 2009-05-27 Peter O'Gorman <peter@pogma.com> Don't run compiler checks twice. libltdl/m4/libtool.m4 (_LT_PROG_FC, _LT_PROG_F77, _LT_PROG_CXX): Remove these macros. libltdl/m4/lt~obsolete.m4: Add removed macros here. libltdl/m4/libtool.m4 (_LT_LANG_FC_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_CXX_CONFIG): Remove references to removed macros, and move functionality here. NEWS: Update. 2009-05-05 Rainer Emrich <r.emrich@de.tecosim.com> (tiny change) Peter Rosin <peda@lysator.liu.se> Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix cross compilation for HPPA/64 with a BSD file command. * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD) [hpux10.20*, hpux11*, !ia64] <lt_cv_deplibs_check_method>: Match the dot in `PA-RISC 2.0' literally. Adjust hppa*64* pattern to also match BSD `file' output, used in cross compilation setups. * THANKS: Update. Report and initial patch by Rainer Emrich, refined by Peter Rosin. 2009-05-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> libtoolize: ignore trailing junk on scriptversion line. * libtoolize.m4sh (func_install_update): Ignore semi-colon or comment-sign and all following characters when parsing a `scriptversion' line in one of the auxiliary scripts; recent Automake-provided script have a stylized comment to induce Emacs to use UTC. Exposed by the `libtoolize config files serial update' test. 2009-05-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Skip localization test when setlocale is not functional. * tests/localization.at (localized compiler messages): Skip test when there is a warning about `LC_ALL'. * THANKS: Update. Report by Maciej Helminiak. 2009-05-02 Alan Hourihane <alanh@fairlite.co.uk> (tiny change) Improved support for FreeMiNT. * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN) [mint]: Hard-code command line length limit to 8192, to avoid long test. * NEWS, THANKS: Update. 2009-05-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Initial port for BlueGene BG/L. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG) [linux]: Detect bgxl*, bgf*, mpixl* compilers. * NEWS, THANKS: Update. Report, feedback and testing by John R. Cary and Christian Rössel. manual: fix grammaros. * doc/libtool.texi (Dlpreopening): Fix grammaro. (C header files): Remove duplicate word. Allow through -tp=* at link time, for pgcc. * libltdl/config/ltmain.m4sh (func_mode_link): Portlant Group pgcc uses `-tp=PROCESSOR' for target processor selection; allow the flag through at link time. Report by Ethan Mallove. Fix quoting of eval'ed variable. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Double-quote $lt_cv_sys_global_symbol_pipe for eval, like we do in ltmain, in order to preserve TABs and multiple adjacent whitespace. Report by Bruno Haible. 2009-04-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Cope better with missing `makeinfo' in `bootstrap'. * bootstrap: Update `./doc/notes.txt' last so missing `makeinfo' does not cause a broken tree. * THANKS: Update. Report by Christian Rössel. 2009-03-29 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> (tiny change) Charles Wilson <libtool@cwilson.fastmail.fm> [cygwin] Improve operation with gcc4 * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [cygwin*]: Add w32api to sys_lib_search_path_spec without overriding gcc's own search path. 2009-03-29 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> (tiny change) Charles Wilson <libtool@cwilson.fastmail.fm> Use correct export_dynamic_flag_spec for PE-COFF $hosts * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin*|mingw*|pw32*|cegcc*]: Define export_dynamic_flag_spec as -Wl,--export-all-symbols, as required by GNU ld for PE-COFF. 2009-03-29 Charles Wilson <libtool@cwilson.fastmail.fm> Improve compatibility with older automake * libltdl/m4/lt~obsolete.m4: Add AC_DEFUNs for _LT_PREPARE_SED_QUOTE_VARS and _LT_PROG_ECHO_BACKSLASH. Report by Yaakov Selkowitz. 2009-03-20 Peter Rosin <peda@lysator.liu.se> LT_OUTPUT should always create the libtool script. * libltdl/m4/libtool.m4 (LT_OUTPUT): Make LT_OUTPUT ignore the --no-create configure option, and assume that the user wants to use an up-to-date libtool script if the LT_OUTPUT macro is present. * tests/early-libtool.at: Make sure we do not regress. 2009-01-26 Peter Rosin <peda@lysator.liu.se> Don't settle for any dumpbin/link program as name lister. * libltdl/m4/libtool.m4 (LT_PATH_NM): When locating dumpbin or link -dump, check if they appear to really be capable of name listing, in order to eliminate e.g. link from coreutils. This makes the name lister decision fall back on nm as the default if no acceptable candidate is found, which mainly happens on (arguably broken) cross compiles. * NEWS: Update * THANKS: Update Reports by Rudolf Leitgeb and Peter Kjellerstedt. 2009-03-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Document INNER_TESTSUITEFLAGS, drop leading space. * README: Document INNER_TESTSUITEFLAGS. * tests/cmdline_wrap.at (Run tests with low max_cmd_len): When using INNER_TESTSUITEFLAGS on the testsuite invocation, drop leading space after "-k libtool", so that the user may further limit the set of tests to be run. 2009-03-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix low max_cmd_len template test on UnixWare. * libltdl/config/ltmain.m4sh (func_mode_link): When expanding $reload_cmds, always put objects in $reload_objs rather than adding them to the command line, to allow more general command lines in reload_cmds. Ensure $reload_objs contains a leading space. * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [sysv5*, sco3.2v5*, sco5v6*] <reload_cmds>: For CC, invoke prelinker before creating reloadable object. (_LT_CMD_RELOAD) <reload_cmds, reload_flag>: Declare as _LT_TAGDECL, not _LC_DECL. (_LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG) (_LT_LANG_GCJ_CONFIG) <reload_cmds, reload_flag>: Initialize from default (C tag) value. * THANKS: Update. Report and analysis by Tim Rice and John Wolfe. 2009-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * doc/libtool.texi (Distributing libltdl, Test descriptions): Add missing parentheses. 2009-02-28 Tim Rice <tim@multitalents.net> Fix C++ template handling for old archives on UnixWare 7.1.4. * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [sysv5*, sco3.2v5*, sco5v6*] <old_archive_cmds>: For CC, add template prelink step before archiving. Fixes template.at test failures. 2009-02-28 Török Edwin <edwintorok@gmail.com> (tiny change) Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Do not add bogus directory arguments to link command lines. * libltdl/config/ltmain.m4sh (func_mode_link): Ensure $path is always initialized before it is used. Reported for zsh, for which $path contains $PATH entries even after "emulate sh", see <http://bugs.debian.org/517501>. 2009-02-28 Andreas Schwab <schwab@suse.de> Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Remove remaining references to CVS. * bootstrap: Remove references to CVS. * README.alpha: Likewise. * clcommit.m4sh: Likewise. * doc/libtool.texi: Bump copyright years. (libtool script contents): Describe macro_revision as revision without reference to CVS. 2009-02-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Do not pass $INSTALL via TESTS_ENVIRONMENT. * Makefile.am (TESTS_ENVIRONMENT): Set lt_INSTALL, not INSTALL, so that a bogus relative path to the install-sh script in the source tree is not propagated to the configure scripts of the old test suite. * tests/testsuite.at: Adjust. * tests/install.at (Install tests): Likewise. 2009-02-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Kurt Roeckx <kurt@roeckx.be> New test for lt_dlopenext error message. * tests/lt_dlopenext.at (lt_dlopenext error messages): New file, with new test, with sources taken from the Autobook example. * Makefile.am: Update. 2009-02-03 Kurt Roeckx <kurt@roeckx.be> lt_dlopenext sets error upon successful library load. * libltdl/ltdl.c (lt_dlopenadvise): Fix bogus error on successful loading of library with lt_dlopenext. Report by Kaiwang Chen in <http://bugs.debian.org/510006>. 2009-02-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix sed script in install.at. * tests/install.at (Install tests): Fix typo in sed script, fixes test failure on HP-UX. Fix $INSTALL in testsuite with relative path to install-sh. * tests/testsuite.at: If `$INSTALL' points to in-tree install-sh, override a possibly-relative path to it with an absolute one. install mode: do not pass `-m $install_override_mode' to cp. * libltdl/config/ltmain.m4sh (func_mode_install): New variable $install_cp, factor test when `cp' is used for installation. Do not pass mode override to cp. Fixes `libtool --mode=install cp ...' on HP-UX; cp should not be used for libraries that might be needed by programs invoked during the installation process. Fix sed script portability issue in func_version. * libltdl/config/getopt.m4sh (func_version): Remove space in `/\./! {' sed command, to please HP-UX sed. 2009-01-31 Jeff Squyres <jsquyres@cisco.com> Ralf Wildenhues <Ralf.Wildenhues@gmx.de> New test for bogus lt_dlopen error message. * tests/lt_dlopen.at (lt_dlopen error messages): New file, new test, marked as XFAIL for now. * Makefile.am: Adjust. Report and reproducible test case by Jeff Squyres. 2009-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> execute mode: do not transform *.lo or *.la arguments. * libltdl/config/ltmain.m4sh (func_mode_execute): Do not check arguments matching *.lo or *.la for script wrappers. * tests/execute-mode.at (execute mode): Add tests. * NEWS, THANKS: Update. Report by Paul Biggar. Nonexistent `main' does not guarantee link failure. * tests/fail.at (Failure tests): Use an unresolved symbol, rather than non-presence of `main', to provoke a link failure also on QNX. Only check for failure of the libtool script if the link without libtool would have failed, too. Report by Mike Gorchak. Use AT_CHECK more liberally in duplicate members test. * tests/duplicate_members.at (duplicate members in archive tests): Wrap link commands in AT_CHECK, they might fail, as seen on QNX. * THANKS: Update. Report by Mike Gorchak. 2009-01-30 Akim Demaille <demaille@gostai.com> Fix cwrapper warnings from MSVC 2005. * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) [file scope]: define _CRT_SECURE_NO_DEPRECATE. 2009-01-29 Akim Demaille <demaille@gostai.com> Fix bootstrap with older libtool.m4 in reach of aclocal. * libltdl/m4/lt~obsolete.m4: Add stub definitions for _LT_REQUIRED_DARWIN_CHECKS and _LT_AC_PROG_CXXCPP. Fix func_exec_init. * tests/defs.m4sh (func_exec_init): Instead of using the undefined my_dir, call func_dirname_and_basename and use its result. (func_make): For consistency, don't use the useless local variable my_dir. 2009-01-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Document --mode short-hands better, and test them. * doc/libtool.texi (Invoking libtool): Give examples for using the `--mode=MODE' short-hand `MODE', or abbreviations thereof. * libltdl/config/ltmain.m4sh: Mention the short-hand for MODE in the --help output. * tests/help.at (mode short-hands): New test group. Suggestion by Bruno Haible. func_version copes with multi-line copyright headers. * libltdl/config/getopt.m4sh (func_version): Slurp in copyright lines until a period is found. * libltdl/config/ltmain.m4sh: Multi-line copyright is ok to use now. * tests/help.at (standard command line options): New file, new tests. Make this test group the first one for libtool tests, moving the banner ... * tests/duplicate_members.at: ... from here. * Makefile.am (TESTSUITE_AT): Add tests/help.at. 2009-01-29 Akim Demaille <demaille@gostai.com> Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Normalize compiler output due to compiler wrappers. * tests/testsuite.at (LT_AT_NORMALIZE_COMPILER_OUTPUT): New macro, to normalize ccache and distcc output. * tests/localization.at (localized compiler messages): Use it. 2009-01-29 Peter Rosin <peda@lysator.liu.se> Make modified libtool script in cwrapper test executable * tests/cwrapper.at: Make modified libtool script executable. Report by Roumen Petrov. 2009-01-28 Akim Demaille <demaille@gostai.com> Clean space uses. * libtoolize.m4sh: Remove trailing spaces. Use <tab><sp>, as some editors remove "useless" spaces in <sp><tab>. 2009-01-26 Peter Rosin <peda@lysator.liu.se> AWK is required, make sure it is set. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS: Make sure AWK is set (automake brings it in, but is not always used). Fixes old-m4-iface.at on MSYS/MSVC. 2009-01-25 Mike Frysinger <vapier@gentoo.org> Fix typo in libtool install mode documentation. * libltdl/config/ltmain.m4sh (func_mode_help): Change -inst-prefix to -inst-prefix-dir. * doc/libtool.texi (Install mode): Likewise. 2009-01-24 Charles Wilson <libtool@cwilson.fastmail.fm> Add -Wall to cwrapper tests. * tests/cwrapper.at: Add -Wall existing tests. Add additional round of tests with -Wall alone. 2009-01-24 Charles Wilson <libtool@cwilson.fastmail.fm> [cygwin|mingw] cwrapper cleanups. * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) [file scope]: re-organized includes and portability macros. Avoid oldnames on MINGW32 and MSVC for setmode/stat/chmod/getcwd/putenv. Declare _putenv on MINGW32 when -ansi. Use namespaced macro LT_DEBUGWRAPPER. 2009-01-24 Peter Rosin <peda@lysator.liu.se> Expand exit status test in LT_AT_NOINST_EXEC_CHECK correctly * tests/testsuite.at (LT_AT_NOINST_EXEC_CHECK): STATUS is argument $3, not $2. 2009-01-23 Charles Wilson <libtool@cwilson.fastmail.fm> Add tests for cwrapper with -std=c89 and -std=c99 * tests/cwrapper.at: New file. * Makefile.am: Add tests/cwrapper.at. 2009-01-22 Peter Rosin <peda@lysator.liu.se> Unify line endings in localization test. * tests/testsuite.at: Update copyright year. (LT_AT_UNIFY_NL): Add macro that unifies line endings on platforms that suffer from such confusion. * tests/localization.at: Use it. Update copyright year. Fixes the test on MSYS/MSVC. 2009-01-21 Charles Wilson <libtool@cwilson.fastmail.fm> [cygwin|mingw] Fix compile warnings when -std=c89. * libltdl/config/ltmain.m4sh (func_emit_wrapper_part1): move contents to... (func_emit_wrapper_part2): move contents to... (func_emit_wrapper): here. (func_emit_cwrapperexe_src) [file scope]: Remove variables script_text_part1 and script_text_part2. (func_emit_cwrapperexe_src) [lt_dump_script]: New function. (func_emit_cwrapperexe_src) [main]: Call it. 2009-01-21 Charles Wilson <libtool@cwilson.fastmail.fm> Minor cygwin cleanup * libltdl/config/ltmain.m4sh (func_generate_dlsyms): Correct case pattern for cygwin. 2009-01-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Avoid failure due to Cygwin path detection bug. * tests/execute-mode.at (execute mode): Ignore noise on stderr; Cygwin might consider `d\"e' to be a DOS-style path and warn. Report by Charles Wilson. 2009-01-19 Robert Millan <rmh@aybabtu.com> Support GNU/kOpenSolaris. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG) [kopensolaris*-gnu]: Recognize GNU/kOpenSolaris. * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Likewise. * NEWS, THANKS: Update. 2009-01-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Another LT_AT_EXEC_CHECK fixup. * tests/shlibpath.at (shlibpath_overrides_runpath): Use LT_AT_EXEC_CHECK instead of AT_CHECK. 2009-01-19 Roumen Petrov <bugtrack@roumenpetrov.info> (tiny change) Add missing $EXEEXT to java test. * tests/convenience.at (Java convenience archives): Add $EXEEXT. 2009-01-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Bump copyright years. * ChangeLog.2008: New, rotated from ... * ChangeLog: ... here. * Makefile.am (EXTRA_DIST): Add ChangeLog.2008. * NEWS, libltdl/config/ltmain.m4sh: Bump copyright years. * libltdl/m4/libtool.m4 (_LT_COPYING, LT_OUTPUT): Likewise. * libtoolize.m4sh: Likewise. 2009-01-14 Peter Rosin <peda@lysator.liu.se> Fix flakey mdemo-dryrun test on MSYS (again!) * tests/mdemo-dryrun.test: ls -l in MSYS sometimes shows year, not time, for really fresh files. Add sleep 1 call at yet another strategic position. Makes the test pass reliably for MSYS/MinGW. 2008-12-19 Akim Demaille <demaille@gostai.com> Fix copyright notice. * libltdl/config/ltmain.m4sh: Add missing comma. 2008-12-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Add cache variables to link tests. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_LINKER_SHLIBS): Add cache variables to tests that require the linker to work. For shlibpath_overrides_runpath, this also changes the semantics to let the result from the C compiler take precedence. * tests/no-executables.at (AC_NO_EXECUTABLES): New file. * Makefile.am: Update. * NEWS: Update. Report of shlibpath_overrides_runpath issue by Mike Frysinger, report of GCC issue by Andreas Schwab. 2008-11-28 Paolo Bonzini <bonzini@gnu.org> Fix inadvertent commit. * bootstrap: Revert. 2008-11-28 Paolo Bonzini <bonzini@gnu.org> Fix manual typo. * doc/libtool.texi (LT_INIT): Use correct config.status invocation. Reported by Akim Demaille. 2008-11-28 Paolo Bonzini <bonzini@gnu.org> Do not use $ECHO within eval-ed `...`, as %s\\n becomes %s\n. * HACKING: Document func_echo_all. * libltdl/m4/libtool.m4: Use it within backticks that appear in eval-ed variables. Reported by Akim Demaille. 2008-11-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix func_infer_tag $ECHO usage; some testsuite exposure. * libltdl/config/ltmain.m4sh (func_infer_tag): Use func_echo_all rather than $ECHO for possibly multiple arguments. * tests/infer-tag.at (inferred tag, CXX inferred tag) (F77 inferred tag, FC inferred tag, GCJ inferred tag): New file, new tests. * Makefile.am: Adjust. * tests/runpath-in-lalib.at (Runpath in libtool library files): Add $EXEEXT overlooked in patch yesterday. 2008-11-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix expout and experr line ending issues. * tests/testsuite.at (LT_AT_HOST_DATA): Renamed from.. (_LT_AT_TRANSLATE_TEXT_OUTPUT): ..this. (LT_AT_EXEC_CHECK, LT_AT_NOINST_EXEC_CHECK): Do not use _LT_AT_TRANSLATE_TEXT_OUTPUT any more. * tests/configure-iface.at: Use LT_AT_HOST_DATA instead of AT_DATA for `expout' files. * tests/lt_dladvise.at (lt_dlopenadvise library loading): Likewise. * tests/need_lib_prefix.at (enforced lib prefix): Likewise. Report by Roumen Petrov. Relax link-order2 test for systems with partial wrong order. * tests/link-order2.at (Link order of deplibs.): On w32 (and others, e.g., AIX), the wrongly linked executable picks up only one instance of the bad function instead of two; relax the test to accept this; we still require the right link order with the correctly linked executable. Reported by Roumen Petrov and others. 2008-11-23 Roumen Petrov <bugtrack@roumenpetrov.info> Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Add $EXEEXT to all linked programs in the new testsuite. * tests/convenience.at, tests/ctor.at, tests/darwin.at, tests/deplibs-ident.at, tests/duplicate_conv.at, tests/duplicate_deps.at, tests/duplicate_members.at, tests/export.at, tests/fail.at, tests/indirect_deps.at, tests/inherited_flags.at, tests/link-order.at, tests/link-order2.at, tests/lt_dladvise.at, tests/lt_dlexit.at, tests/need_lib_prefix.at, tests/runpath-in-lalib.at, tests/search-path.at, tests/shlibpath.at, tests/static.at, tests/stresstest.at, tests/template.at, tests/testsuite.at: Use $EXEEXT throughout, except in Makefile.am snippets where automake takes care of it, and in testsuite macros that take care of the extension. Reports by Roumen Petrov and Alon Bar-Lev. 2008-11-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Adjust executable run tests to cwrapper changes. * tests/testsuite.at (LT_AT_EXEC_CHECK): Accept fifth argument ARGS-OR-STATUS-ADJUST, for command-line arguments and/or exit status flattening. Rewrite to prefer the executable with the `.exe' prefix over one without. Test exit status against expected exit status, not against zero, when determining whether this may be a cross-compilation-induced result. (LT_AT_NOINST_EXEC_CHECK): Likewise. * tests/static.at (static linking flags for programs): Adjust calls. Report by Roumen Petrov. No trailing period in Autotest test group names. * tests/link-order.at (Link order test): Drop trailing period from test name. * tests/link-order2.at (Link order of deplibs): Likewise. 2008-11-23 Vincent Torri <vtorri@univ-evry.fr> (tiny change) Fix func_emit_cwrapperexe_src for WinCE: no errno support. * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) [__MINGW32CE__]: Do not use errno, do not include errno.h and remove calls related to errno when using the mingw32ce compiler. 2008-11-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> No libm in WinCE. * libltdl/m4/libtool.m4 (LT_LIB_M) [cegcc*]: This system has only a dummy libm, ignore. Report by Vincent Torri. Fix import library detection for WinCE. * libltdl/config/ltmain.m4sh (func_win32_libid): Work for pe-arm-wince import libraries. * NEWS: Update. Report by Vincent Torri. 2008-11-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Eric Blake <ebb9@byu.net> Fix $ECHO test to not influence other _AS_DETECT_SUGGESTED code. * libltdl/m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Fix test to not influence further tests registered with _AS_DETECT_SUGGESTED and do not use a PATH below /tmp, to avoid influence by a third party. 2008-11-23 Alon Bar-Lev <alon.barlev@gmail.com> (tiny change) Fix func_win32_libid for 64-bit Windows. * libltdl/config/ltmain.m4sh (func_win32_libid): Accept file format 'pe-x86-64'. * NEWS: Update. 2008-11-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Avoid newlines in some AT_CHECK commands. * tests/standalone.at (linking libltdl without autotools): Wrap lines with dnl, to avoid turning off tracing of AT_CHECK. * tests/subproject.at (linking libltdl without autotools): Likewise. Replace uses of $SED $basename. * libltdl/config/ltmain.m4sh (func_mode_link): Replace instances of `$ECHO ... | $SED' with calls to func_basename. * libtoolize.m4sh (func_copy, func_serial) (func_massage_aclocal_DATA): Likewise, replace with func_dirname_and_basename. * tests/defs.m4sh (func_configure_nofail, func_make, func_exec): Likewise. No need to prepend $progname with './'. * libltdl/config/general.m4sh (func_dirname_and_basename): $ECHO copes with leading hyphens now, so do not mangle $progname any more. Revenge of the $ECHO. Kill most uses of Xsed. * libltdl/config/general.m4sh: Replace all uses of `$ECHO "X..." | $Xsed' with `$ECHO "..." | $SED', and employ further trivial simplifications. Replace $ECHO with echo where appropriate. (func_echo_all): New function. * libltdl/config/getopt.m4sh: Likewise simplifications. * libltdl/config/ltmain.m4sh: Likewise. * libltdl/m4/libtool.m4: Likewise. (LT_CMD_MAX_LEN): Use func_fallback_echo, to ensure that the command line is passed through an exec* function. * libtoolize.m4sh: Likewise simplifications. Use func_echo_all to implement --dry-run. * tests/defs.m4sh: Likewise simplifications. * tests/quote.test: Likewise simplifications. Fix matching of Sun Fortran compiler on Linux. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ linux ]: Also match `Sun Ceres Fortran' compiler; reorder with C compiler matching. * THANKS: Update. Report by Ethan Mallove. 2008-11-21 Charles Wilson <libtool@cwilson.fastmail.fm> Fix --verbose option; add new --no-{silent|quiet|verbose} options. * libltdl/config/ltmain.m4sh (usage): Document new options --no-silent/--no-quiet and --no-verbose. (func_enable_tag): Handle new options. Modified --verbose to actually activate opt_verbose. New behavior: --silent disables both "normal" output and func_verbose output. --verbose enables both "normal" output and func_verbose output. --no-silent enables "normal" output, but does not affect func_verbose output. --no-verbose disables func_verbose output, but does not affect "normal" output. * NEWS: announce new options --no-silent/--no-quiet, and --no-verbose. * doc/libtool.texi: document new options --no-silent/--no-quiet and --no-verbose. 2008-11-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix match patterns for cegcc*. * libltdl/config/ltmain.m4sh (func_mode_link): Match '*cegcc*' instead of '*cegcc' for $host_os. * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): Likewise. * tests/lt_dladvise.at (lt_dlopenadvise library loading): Likewise. * libltdl/m4/ltoptions.m4 (AC_LIBTOOL_DLOPEN): Match '*-*-cegcc*' for $host. Ensure $ac_aux_dir is initialized for LIBTOOL_DEPS. * libltdl/m4/libtool.m4 (LT_INIT): Require AC_CONFIG_AUX_DIR_DEFAULT. * tests/old-m4-iface.at (AM_PROG_LIBTOOL): Amend test to expose this. Report, analysis, and test example by Jakub Bogusz. Check for bogus aclocal.m4 contents in bootstrap and dist-hook. * Makefile.am (dist-hook): Bail out if shipped aclocal.m4 files contain LT_INIT, AC_PROG_LIBTOOL, or AM_PROG_LIBTOOL macro definitions. These can only come from bogus pull-ins from older installed Libtool macro files. * bootstrap: Likewise. Report by Akim Demaille. 2008-11-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix $ECHO abuse exposed by recent patch. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Require _LT_CHECK_SHELL_FEATURES, for $lt_NL2SP. Always quote argument to $ECHO. Skip sys_lib_search_path on systems without libz. * tests/search-path.at (sys_lib_search_path): Autotest needs at least one AT_CHECK executed in a test group. So if we haven't found -lz anywhere, as may happen with cross-compilers, skip the test. * THANKS: Update. Report by Alon Bar-Lev. Fix execute mode test to actually expose cwrapper failures. * tests/execute-mode.at (execute mode): Actually also test the cwrapper on the arguments. Report by Bruno Haible. 2008-11-15 Charles Wilson <libtool@cwilson.fastmail.fm> Add func_win32_import_lib_p. * libltdl/config/ltmain.m4sh (func_win32_import_lib_p): New function. 2008-11-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix archive_cmds for older cc on HP-UX 11. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [hp-ux11*, !GCC] [!hppa*64*, !ia64*] <archive_cmds>: Older releases of the HP-UX 11.00 C compiler do not support -b yet; use a link test to decide whether $LD should be used for library creation. * THANKS: Update. Report by Daniel Richard G. 2008-11-12 Paolo Bonzini <bonzini@gnu.org> * configure.ac: Bump Autoconf requirement. * libltdl/config/general.m4sh: Use $as_echo as default $ECHO. * tests/testsuite.at: Use $as_echo as default $ECHO. * libltdl/m4/libtool.m4 (LT_INIT): Add _LT_SHELL_INIT to work around Autoconf <2.64 bug. (_LT_OUTPUT_LIBTOOL_COMMANDS_INIT): Add func_fallback_echo. Eliminate lt_ECHO requoting. (_LT_SHELL_INIT): Use a public M4sh diversion. (_LT_PROG_ECHO_BACKSLASH): Rewrite. (LT_CMD_MAX_LEN): Do not use --fallback-echo. * libltdl/config/ltmain.m4sh: Remove --no-reexec and --fallback-echo handling. (func_fallback_echo): New. (func_emit_wrapper_part1): Quote ECHO. Remove --no-reexec and --fallback-echo handling. (Execute mode): Do not set qecho. 2008-11-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Use -no-undefined in install tests. * tests/install.at (Install tests): Use `-no-undefined'. 2008-11-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Do not use `test ... -a ...'. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [hpux10, hpux11]: Replace test -a with test && test. 2008-11-11 Roumen Petrov <bugtrack@roumenpetrov.info> (tiny change) Fix destdir tests in cross compile mode. * tests/destdir.at (Simple DESTDIR install) (DESTDIR with in-package deplibs): Use $EXEEXT throughout. * THANKS: Update. 2008-11-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Simplify cwrapper handling a bit. * libltdl/config/ltmain.m4sh (func_emit_wrapper_part1) (func_emit_wrapper_part2, func_to_host_path) (func_to_host_pathlist, func_emit_wrapper): Simplify using default argument, func_append. 2008-11-10 Paolo Bonzini <bonzini@gnu.org> Separate part of _LT_SETUP into other macros, detect ECHO sooner. * libltdl/m4/libtool.m4 (_LT_PREPARE_SED_QUOTE_VARS): New macro, extracted from... (_LT_SETUP): ... here. Require _LT_PROG_ECHO_BACKSLASH sooner. 2008-11-10 Paolo Bonzini <bonzini@gnu.org> Fix quoting when config.status generates libtool config. * libltdl/m4libtool.m4 (_LT_OUTPUT_LIBTOOL_COMMANDS_INIT): Double quote ECHO-ed variables. 2008-11-10 Paolo Bonzini <bonzini@gnu.org> Use documented M4sh interfaces. * clcommit.m4sh: Do not unset CDPATH, use AS_INIT and M4sh diversions. * libltdl/config/mailnotify.m4sh: Likewise. * libtoolize.m4sh: Likewise. * tests/defs.m4sh: Likewise. * tests/testsuite.at: Move AT_INIT invocation at the top. * libltdl/m4/libtool.m4 (_LT_INIT_GENERATED): New. (LT_OUTPUT): Use it. * libltdl/config/general.m4sh (M4SH_IN_HEADER): New. (progpath): Move setting before $0 could be clobbered. * libltdl/config/ltmain.m4sh (M4SH_IN_HEADER): New. 2008-11-10 Paolo Bonzini <bonzini@gnu.org> Run sh.test on the M4sh source. * tests/defs.m4sh (scripts): Point to pre-m4 sources. 2008-11-10 Paolo Bonzini <bonzini@gnu.org> Avoid that autom4te complains about unexpanded macros. * libtoolize.m4sh: Allow occurrences of "dnl" and use quadrigraphs to protect other m4 macros. 2008-11-11 Bruno Haible <bruno@clisp.org> Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix cwrapper argument mangling on w32. * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): On mingw, preprocess the argument vector through prepare_spawn. * tests/execute-mode.at (execute mode): Output args newline-separated. Extend tests by more argument pairs that contain special characters, where the w32 cwrapper fails. Also test a real compiled program, linked against an uninstalled library, to expose cwrapper issues. * NEWS: Update. 2008-11-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Update to GFDL 1.3. * doc/fdl.texi: Update to GFDL 1.3. * doc/libtool.texi: Adjust. * NEWS: Update. 2008-11-09 Alexei Sheplyakov <varg@theor.jinr.ru> (tiny change) Fix cross compilation with wine for the case SHELL != bash. * libltdl/config/ltmain.m4sh (func_to_host_path): Avoid escape sequence interpretation by 'echo', for w32-style paths. * THANKS: Update. 2008-10-28 Michael Haubenwallner <michael.haubenwallner@salomon.at> (tiny change) Fix checks for unsupported allow_undefined_flag. * tests/tagdemo-undef.test: Match allow_undefined_flag correctly, for SKIPping. * tests/cdemo-undef.test: Likewise. 2008-10-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/testsuite.at (_LTDL_PROJECT_FILES): Fix dependencies for parallel make. * libtoolize.m4sh (func_nonemptydir_p): Fix typo in error message. 2008-10-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix Autoconf 2.59 incompatibilty. * libltdl/m4/ltdl.m4 (_LTDL_SETUP): m4_pattern_allow `LT_LIBEXT'; Autoconf 2.59's AC_DEFINE* macros didn't do this automatically yet. * NEWS, THANKS: Update. Report by Marcel Loose. 2008-10-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Atomic shared library install permissions on HP-UX. The HP-UX 11 runtime linker fails to mmap shared libraries without execute permissions. Fixing them with postinstall_cmds may be too late, as ln, sed, and chmod may link against the library being installed. * libltdl/m4/libtool.m4 (install_override_mode): New LT_DECL. (_LT_SYS_DYNAMIC_LINKER) [hpux9*, hpux10*, hpux11*]: Set it. * libltdl/config/ltmain.m4sh (func_mode_install): Build a second command line, $install_shared_prog, for the installation of the shared library. Override resp. set the permission mode if install_override_mode is nonempty. * doc/libtool.texi (libtool script contents): Document it. * tests/install.at (Install tests): New test. * Makefile.am (TESTSUITE_AT): Adjust. (TESTS_ENVIRONMENT): Pass INSTALL. Report by Bruno Haible. 2008-09-26 Eric Blake <ebb9@byu.net> Avoid gcc warning. * libltdl/loaders/loadlibrary.c (vm_open): Don't check for array being a NULL pointer. 2008-09-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Man pages for libtoolize and libtool, new command line option --help-all. * Makefile.am (dist_man1_MANS, update_mans): New macros. ($(srcdir)/doc/libtool.1, $(srcdir)/doc/libtoolize.1): New rules. Use --help-all for libtool. (MAINTAINERCLEANFILES): New macro. Add dist_man1_MANS. (BUILT_SOURCES): Add libtoolize. * configure.ac: Check for help2man, set HELP2MAN. * doc/libtool.texi: Add @direntry for libtool-invocation. (Invoking libtool): Document -h, --help-all. Reorder mode description for consistency. (Compile mode): Do not document -Wl,FLAG and -XCClinker here. (Link mode): Document -Wc,FLAG here, reformat a bit. * libtoolize.m4sh: Reformat --help output a bit, to help help2man. * libltdl/config/ltmain.m4sh: Likewise. Also, set PROGRAM to `libtool', not `ltmain.sh', so the former is used in the man page. New argument `--help-all'. If given, call func_help and func_mode_help several times, beating output in shape with sed. (func_mode_help): Do not exit here. * libltdl/config/getopt.m4sh (func_usage): Work with different indentations, but require comment hash in first column, when grepping for '-h' in usage to end short help. (func_help): Accept optional argument to not exit. * NEWS, THANKS: Update. Suggestion by Karl Berry. 2008-09-08 Gary V. Vaughan <gary@gnu.org> Use `-version-info 9:0:2' for one added iface since 2.2.4. * libltdl/Makefile.inc (LTDL_VERSION_INFO): Make the libltdl version number match 2.2.6a rerelease. Add ./commit option for pushing tags back to origin. * clcommit.m4sh (opt_tags): New --tags push option. (func_commit): Run `$GIT push --tags' if --tags was passed. * HACKING (Release Procedure): Note the requirement to pass --tags to ./commit for new release tag to be push back to origin. 2008-09-07 Gary V. Vaughan <gary@gnu.org> Retire gnu.org news.html in favour of savannah news. * HACKING (Release Procedure): Add instructions for sending a web release announcement to http://planet.gnu.org via the savannah news manager. Add untested git push conflict testing to commit script. * clcommit.m4sh (func_check_conflicts): Test return status of 'git push --dry-run', and display an error on non-zero. Enable release procedure to work with lzma OLDRELEASE file. * Makefile.maint (diffs, prev-tarball, new-tarball): If lzma tarballs are present use them to generate the diffs, otherwise use gz tarballs if they are present, or else complain if both are missing. Set SCM version number to 2.2.7a. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.7a. * NEWS: Updated. GNU Libtool 2.2.6 was released. Fix typo in Makefile.maint. * Makefile.maint (git-news): Renamed to check-news, since it doesn't actually run git. Adjust all dependees. Run `git commit -a' when no files are passed. * clcommit.m4sh (func_commit): Add -a argument if necessary. Prepare for next stable release. * libltdl/Makefile.inc (LTDL_VERSION_INFO): Update. * libltdl/m4/libtool.m4: Bump serial number to account for changes since 2.2.4 release. * INSTALL, config/config.guess, config/texinfo.tex: Updated from canonical source. * configure.ac (AM_INIT_AUTOMAKE): Specify dist-lzma, which was introduced after automake-1.10 was released. (abs_top_srcdir, abs_top_builddir): No need to substitute these from configure anymore, since we require automake 1.10.1, which does perform the substitutions properly. (TIMESTAMP): Normal releases were displaying the long-form timestamp. Fix to show the short release timestamp as per alpha release numbers. * NEWS: Update with missing entries from ChangeLog. * HACKING (Release Procedure): We release lzma tarballs now but no xdeltas. * Makefile.maint: Updated to match Release Procedure instructions in HACKING. Convert mailnotify headers to git. * clcommit.m4sh: Improve mailnotify contents. Make ./commit useful again. * clcommit.m4sh: Major overhaul and simplification for git. 2008-09-06 Gary V. Vaughan <gary@gnu.org> Fix 'DISTCHECK_CONFIGURE_FLAGS=--program-prefix=g' bug. * tests/testsuite.at (_LIBTOOLIZE_TRANSFORM): Fix test failures with --program-prefix, where the test case output contains the transformed name somewhere other than the beginning of a line. * libtoolize.m4sh (func_check_macros): Be sure to always use the transformed name in output messages. 2008-09-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Do not remove .gcno files when linking. * libltdl/config/ltmain.m4sh (func_mode_link): When removing potential output files before linking, do not remove *.gcno profile information GCC outputs next to object files in `.libs'. Report by Vincent Torri. 2008-09-01 Peter O'Gorman <peter@pogma.com> Revert 75142db4f8afc65ba7aae0ed80ea0b35bd9cc382 (AIX libltdl dlopen(NULL) * libltdl/m4/ltdl.m4: Remove LTDL_DLOPEN_SELF_WORKS define. * libltdl/loaders/dlopen.c: Remove LTDL_DLOPEN_SELF_WORKS check. * libltdl/m4/libtool.m4 [aix]: Set export_dynamic_flag_spec to -Wl,-bexpall. This is a temporary workaround until a real fix is implemented. * NEWS: document it. 2008-08-26 Peter O'Gorman <peter@pogma.com> Allow for extensions other than .a for preloaded modules. * libltdl/m4/ltdl.m4 (_LTDL_SETUP): Define LT_LIBEXT. * libltdl/ltdl.c (lt_dladvise_preload): Use it. Reported by Ralf Wildenhues. 2008-08-26 Peter O'Gorman <peter@pogma.com>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Remove unnecessary global argz functions. * libltdl/argz.c (argz_add,argz_count): Remove. * libltdl/argz_.h (argz_add,argz_count): Remove. * NEWS: Announce it. * tests/ltdl-api.at: Test so we don't repeat it. * Makefile.am: Add new test. 2008-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Initial support for Lahey Fortran on GNU/Linux. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) [linux] <lf95>: Add support for Lahey Fortran 8.1. * NEWS, THANKS: Update. Suggested by Craig Tierney. 2008-08-21 Sam Thursfield <ssssam@gmail.com> (tiny change) Avoid leading separator in PATH for DLL search. * libltdl/config/ltmain.m4sh (func_mode_link) [cygwin, mingw] [ pw32, os2, cegcc]: Fix dllsearchpath not to contain leading separator. * THANKS: Update. 2008-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_mode_link): Quote $#. Disallow `-L path', do not misparse it silently. * libltdl/config/ltmain.m4sh (func_mode_link): Diagnose `-L' without argument, and `-L path', i.e., with a space. * tests/fail.at (Failure tests): Test for these failures. * THANKS: Update. Report by Olaf Lenz. 2008-08-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Avoid test failure due to broken dlpreloading of shared library. * tests/lt_dladvise.at (lt_dlopenadvise library loading): Drop some newlines in AT_CHECK commands, for better 'testsuite -x' output. Only create a static installable libpreload.la, to avoid exposing the bug libtool currently has with preloading of shared libraries. Add a note to revisit this later. 2008-08-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Parallel make testsuite fixes. * tests/configure-iface.at (installable libltdl) (--with-ltdl-include/lib, --with-included-ltdl): Add dlopened libmodule.la to main_DEPENDENCIES. * tests/old-m4-iface.at (AC_WITH_LTDL): Likewise, let ltdldemo depend upon module.la and libltdl/libltdlc.la. * tests/testsuite.at (LT_AT_MAKE): Invoke each target in turn, default to 'all'. * tests/early-libtool.at (config.lt): Define 'all' target. * HACKING: Update for git, fix some minor nits. 2008-08-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Remove use of exit in configure test sources. * libltdl/m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): Return from main, to avoid using undeclared exit. Report against OpenMPI from Coverity via Jeff Squyres. * tests/configure-iface.at (convenience libltdl): Ignore warning from parallel make. 2008-08-07 DJ Delorie <dj@redhat.com> * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [tpf] <library_names_spec>: Fix typo in variable name. 2008-08-06 Steve Ellcey <sje@cup.hp.com> Use -fPIC with GCC on HP-UX/ia64. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) [ia64-*-hpux*]: Specify -fPIC when using GCC to build shared libraries. 2008-08-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * NEWS: Minor fixups. 2008-08-01 Gary V. Vaughan <gary@gnu.org> Bring NEWS up to date. * NEWS: Add missing summaries since 2.2.4 release. Implement lt_dlopening of only preloaded modules. * libltdl/m4/ltdl.m4 (LTDL_INIT): Check for a libltdl that provides lt_dladvise_preopen when deciding if installed libltdl is 'new enough'. * libltdl/libltdl/lt__private.h (lt__advise): Add a new is_preload flag. * libltdl/ltdl.c (lt_dladvise_preload): New api call to set it. (try_dlopen): If it is set, and the search of preloaded modules didn't return a match, don't bother searching the filesystem. * libltdl/ltdl.h (lt_dladvise_preload): Declare it. * doc/libtool.texi (Libltdl Interface): Document it. * tests/lt_dladvise.at: Test it (and incidentally add some test coverage for `libtool -dlpreopen'). * NEWS: Announce it. 2008-08-01 Vincent Torri <doursse@users.sf.net> Add cegcc (Windows CE/PocketPC) support. * libltdl/config/ltmain.m4sh: Add 'cegcc' case where needed. * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN, LT_SYS_DLOPEN_SELF) (_LT_SYS_DYNAMIC_LINKER, _LT_CHECK_MAGIC_METHOD) (_LT_CMD_GLOBAL_SYMBOLS, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG): Likewise. * libltdl/m4/ltoptions.m4 (AC_LIBTOOL_DLOPEN): Likewise. * NEWS: Update. * THANKS: Update. 2008-07-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_to_host_path): Fix sh.test failure. Report by Paolo Bonzini. 2008-07-31 Paolo Bonzini <bonzini@gnu.org> * ltmain.m4sh (func_emit_cwrapperexe_src): Factor multiple closed braces into the next cat command. 2008-06-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] <icc, icpc>: Use -fPIC, newer Intel compilers (icc 10, ifort 9) reject -KPIC. * tests/localization.at: Skip test if the compiler fails merely due to the locale setting. * THANKS: Update. Report by Vincent Lefevre. 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * doc/libtool.texi (Linking executables, Static libraries) (Modules for libltdl, Distributing libltdl): Remove TABs from the manual. 2008-06-13 Peter O'Gorman <peter@pogma.com> Support ifort on darwin. * libltdl/m4/libtool.m4 (_LT_DARWIN_LINKER_FEATURES): Build shared libraries with ifort. Reported by Christopher Hulbert. 2008-06-01 Charles Wilson <libtool@cwilson.fastmail.fm> [mingw] fix cross-compile-with-wine case * libltdl/config/ltmain.m4sh (func_to_host_path) [host=mingw, build!=mingw|cygwin]: check that winepath stdout is non-empty and exit code is 0, instead of checking stderr. Reported by: Roumen Petrov 2006-06-01 Stas Maximov <smaximov@ieee.org> (tiny change) Check only regular files, not devices, for lalibs. * libltdl/config/ltmain.m4sh (functions func_lalib_p) (func_lalib_unsafe_p): Only read regular files and not device files. Avoids blocking libtool executing gdb, when a pseudo-terminal device /dev/pts/NN is given as one of the arguments to gdb, as in: libtool --mode=execute gdb -q -nw -i mi -tty /dev/pts/4 prog 2008-05-31 Peter O'Gorman <peter@pogma.com> Skip darwin test if fat link fails. * tests/darwin.at: Skip if we can not link a fat program. Reported by Daniel Macks <dmacks@netspace.org> 2008-05-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> libtoolize should not remove config.guess, config.sub. * libtoolize.m4sh (all_pkgconfig_files): Do not list config.guess nor config.sub. We don't install them without --install, and the project may not be using Automake. Report by Andreas Schwab. Simplify argument parsing in cwrapper. * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): Use NULL where appropriate. Do not compute length of arguments needlessly. 2008-05-25 Charles Wilson <libtool@cwilson.fastmail.fm> [mingw] Add cross-compile support to cwrapper * libltdl/config/ltmain.m4sh (func_to_host_path) [$host=mingw]: If present, use winepath to convert from $build to $host if $build is neither mingw (msys) nor cygwin. Use unconverted path as fallback when conversion fails. Also update comments. (func_to_host_pathlist) [$host=mingw]: Ditto. For fallback case, use simplistic ':' to ';' path separator translation. 2008-05-25 Charles Wilson <libtool@cwilson.fastmail.fm> Cwrapper should not eat -- arguments * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) [file scope]: Defined all option strings in terms of macro LTWRAPPER_OPTION_PREFIX. Similarly defined all option string lengths in terms of macro LTWRAPPER_OPTION_PREFIX_LENGTH. [main]: Modified option parsing algorithm to pass -- on to target, and to not stop processing arguments when -- is seen. Added check for unrecognized options in reserved namespace defined by LTWRAPPER_OPTION_PREFIX. 2008-05-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix ifort settings again. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] <ifort>: Unlike icc and ecc, not all ifort versions understand `-KPIC', e.g. version 10.1, so use `-fPIC' instead. Report by Jeff Squyres. 2008-05-20 Eric Blake <ebb9@byu.net> Resynchronize argz whitespace changes from gnulib. * libltdl/m4/argz.m4: Kill trailing whitespace. * libltdl/argz.c: Likewise. 2008-05-19 Eric Blake <ebb9@byu.net> Fix regression from two days ago. * libltdl/m4/ltdl.m4 (_LT_LIBOBJ): Don't refer to deleted macro. 2008-05-17 Eric Blake <ebb9@byu.net> Speed up bootstrap by improving lt_combine. * libltdl/m4/ltsugar.m4 (lt_combine): Mirror Autoconf 2.62 improvements. Includes a semantic change where the separator can now be empty, and where an empty fourth argument is now treated as a valid suffix. * libltdl/m4/libtool.m4 (_lt_decl_varnames_tagged): Adjust to new semantics of lt_combine. (lt_decl_varnames_tagged): Fix quoting and optimize. Kill _LT_LIBSOURCES; it wasn't checking anything useful. * libltdl/m4/ltdl.m4 (_LT_LIBSOURCES): Delete. (LTDL_INIT): Ignore arguments to AC_LIBSOURCES during _LTDL_SETUP, on the assumption that libtoolize correctly installed them. 2008-05-13 Charles Wilson <libtool@cwilson.fastmail.fm> [mingw|cygwin] Modify cwrapper to invoke target directly. * libltdl/config/ltmain.m4sh (func_to_native_path): New function. If $host is mingw, and $build is mingw or cygwin, convert path to mingw native format. (func_to_native_pathlist): New function. Ditto, for :-separated pathlists. (func_emit_cwrapperexe_src) [__CYGWIN__ && __STRICT_ANSI__]: Ensure putenv and setenv are declared. Define HAVE_SETENV. (func_emit_cwrapperexe_src) [main]: Add new constants to hold desired PATH settings; initialize and use functions above to convert to $host format if necessary. Add new command-line options --lt-env-set, --lt-env-prepend, and --lt-env-append. No longer emit wrapper script as integral part of launching child. Remove support for (now) unnecessary $TARGETSHELL. Exec actual target executable directly. (func_emit_cwrapperexe_src) [lt_setenv, lt_extend_str] [lt_split_name_value, lt_opt_process_env_set] [lt_opt_process_env_prepend, lt_opt_process_env_append] [lt_update_exe_path, lt_update_lib_path]: New functions. 2008-05-11 Charles Wilson <libtool@cwilson.fastmail.fm> Ensure cwrapper compiles without warnings under -std=c99. * libltdl/config/ltmain.m4sh (func_emit_wrapper_part1): new function. (func_emit_wrapper_part2): new function. (func_emit_wrapper): delegate to new functions. (func_emit_cwrapperexe_src) [__CYGWIN__ && __STRICT_ANSI__]: ensure realpath is declared. (func_emit_cwrapperexe_src): declare two different strings to each hold part of the wrapper script content. Initialize using new func_emit_wrapper_partX functions. (func_emit_cwrapperexe_src) [main]: when emitting wrapper script content, use both strings. Reported by Yaakov Selkowitz. 2008-05-06 Charles Wilson <libtool@cwilson.fastmail.fm> Ensure $OBJDUMP is defined * libltdl/m4/libtool.m4 (_LT_DECL_OBJDUMP): new macro ensures that $OBJDUMP is always defined sanely. (_LT_SYS_DYNAMIC_LINKER): call it. (_LT_CHECK_MAGIC_METHOD): call it. 2008-05-05 Gary V. Vaughan <gary@gnu.org> Fix libtoolize test failure with aclocal < 1.10.1 * tests/libtoolize.at (verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIR): Older aclocal requires a space between -I and the directory argument. Reported by Daniel Macks <dmacks@netspace.org> 2008-05-04 Gary V. Vaughan <gary@gnu.org> Set SCM version number to 2.2.5a. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.5a. * NEWS: Updated. GNU Libtool 2.2.4 was released. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.4. * libltdl/Makefile.inc (LTDL_VERSION_INFO): C:R+1:A because the interfaces are unchanged, even though we improved the code some more. * NEWS: Updated. Macro file serial updates for next stable release. * libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4, libltdl/m4/ltoptions.m4, libltdl/m4/lt~obsolete.m4: Bump serial numbers to account for changes since 2.2.2 release. Make libtoolize tests work with distcheck. * tests/testsuite.at (_LIBTOOLIZE_TRANSFORM): When $tst_aclocal is set, transform paths that use it to generic /usr/local/share/aclocal in time for AT_CHECK comparisons. 2008-05-03 Gary V. Vaughan <gary@gnu.org> Don't trip over outdated acinclude.m4. * libtoolize.m4sh (all_pkgconfig_files, all_pkgmacro_files) (all_pkgltdl_files): New variables listing all files ever maintained by any release of libtoolize. (func_install_pkgconfig_parent, func_install_pkgltdl_files) (func_install_pkgconfig_subproject, func_install_pkgmacro_parent) (func_install_pkgmacro_subproject): Carefully clean up any files that may have been installed by previous libtoolize releases. * tests/libtoolize.at: New test for libltdl/acinclude.m4 removal. Reported by Andreas Schwab <schwab@suse.de>. 2008-05-02 Peter O'Gorman <peter@pogma.com> It helps to close quotes. * libltdl/config/ltmain.m4sh (func_mode_link): Add closing '. 2008-05-01 Peter O'Gorman <peter@pogma.com> Use AC_CHECK_TOOL for otool and otool64. * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Check. * libltdl/config/ltmain.m4sh (func_mode_link): Use. Reported by Richard Purdie <rpurdie@rpsys.net> 2008-04-30 Eric Blake <ebb9@byu.net> Support cygwin 1.7.0 in loadlibrary loader. * libltdl/m4/ltdl.m4 (LT_LIB_DLLOAD) <cygwin>: Check for modern function. * libltdl/loaders/loadlibrary.c (vm_open): Avoid deprecated cygwin_conv_to_full_win32_path. 2008-04-29 Gary V. Vaughan <gary@gnu.org> New libtoolize --no-warn option and LIBTOOLIZE_OPTIONS parsing. * libltdl/config/general.m4sh (opt_warning): New option. (func_warning): Only display a warning message if $opt_warning is true. * libtoolize.m4sh: Accept options in LIBTOOLIZE_OPTIONS environment variable. (--no-warn): Parse new option. (func_serial_update_check, func_keyword_update): Use func_warning. (func_check_macros): Bail out before style issues nags when $opt_warning is false. * doc/libtool.texi (Invoking Libtoolize): Document it. * tests/libtoolize.at: Test it. * NEWS: Updated. Fix libtoolize test failure with aclocal-1.10.1. * tests/libtoolize.at (verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIR): Force aclocal to search the source tree for latest libtool macros. 2008-04-24 Eric Blake <ebb9@byu.net> Fix bug in 2008-04-21 type improvements. * libltdl/ltdl.c (load_deplibs): Fix casting bug. 2008-04-23 Michael Haubenwallner <michael.haubenwallner@salomon.at> Use /nonexistent as destination for files not to be installed. * tests/darwin.at (darwin fat compile): Fix typo. * tests/inherited_flags.at (inherited_linker_flags): Change -rpath to /nonexistent. This helps to avoid accidentally picking up libraries below /usr/local. * tests/template.at (simple template test): Likewise. Fixes test failure for additional incompatible libstdc++ in /usr/local. * tests/testsuite.at (configure_options): Add --prefix=/nonexistent. 2008-04-23 Gary V. Vaughan <gary@gnu.org> * libtoolize.m4sh (rerun_aclocal): Remove unused variable. Reported by Olly Betts <olly@survex.com> 2008-04-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/static.at (ccache -all-static): Ignore link warnings. Report by Gary V. Vaughan. 2008-04-22 Gary V. Vaughan <gary@gnu.org> Libtoolize now advises AC_CONFIG_MACRO_DIR use where appropriate. * libtoolize.m4sh (func_check_macros): Always advise use of AC_CONFIG_MACRO_DIR when not able to copy libtool macros into the project tree. * tests/libtoolize.at: New test for correct diagnosis of mismatch between AC_CONFIG_MACRO_DIR and ACLOCAL_AMFLAGS. Update expected output of other tests. * NEWS: Updated. 2008-04-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix regression over 1.5.26 with ccache $CC -all-static. * libltdl/config/ltmain.m4sh (func_mode_link): Add $link_static_flag to compile_command and link_command only later, instead of right after a possible compiler wrapper. * tests/static.at (ccache -all-static): New test. * THANKS: Update. Report by Richard Purdie. 2008-04-22 Andreas Schwab <schwab@suse.de> Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix default argument for AC_LIBLTDL_CONVENIENCE. * libltdl/m4/ltdl.m4 (AC_LIBLTDL_CONVENIENCE): Default argument to libltdl. (AC_LIBLTDL_INSTALLABLE): Likewise. * tests/configure-iface.at (convenience libltdl): New test. 2008-04-21 Gary V. Vaughan <gary@gnu.org> Only complain that files are up-to-date with --force. As a side effect, this also means that when `aclocal' copies the libtool macros into `aclocal.m4' libtoolize complains only about the macro files that are missing or not up-to-date. * libtoolize.m4sh (func_echo_once): New function that prints the contents of a named variable only on the first call. (func_aclocal_update_check): New function that compares serial numbers of libtool macros in aclocal.m4 and only diagnoses the missing files. (func_copy, func_copy_cb, func_copy_some_files, func_serial_update) (func_keyword_update, func_ltmain_update, func_config_update) (func_install_update): Accept a new argument naming a variable containing a header string to print with func_echo_once iff any body text is output by this function. (func_install_pkgmacro_subproject, func_install_pkgmacro_parent) (func_install_pkgltdl_files, func_install_pkgconfig_subproject) (func_install_pkgconfig_parent: Set and pass a suitable header string variable for the above functions. (func_serial_update_check): Don't advise rerunning `libtoolize --force' when aclocal.m4 is not m4_including libtoolize installed macro files. * tests/testsuite.at (_LIBTOOLIZE_TRANSFORM): Transform generic /usr/local/share/aclocal paths to point into the uninstalled libtool macro directory. * tests/libtoolize.at: Update tests that were checking for old behaviour of outputing `file is already up to date' even when --force was not passed. * tests/libtoolize.at: New tests to prevent regressions of these smarter messages. * NEWS: Updated. Reported by Olly Betts <olly@survex.com> Capture lt~obsolete.m4 serial number correctly in libtoolize. * libltdl/m4/lt~obsolete.m4: Add the filename to the #serial marker so that libtoolize's serial number checks can find it in a non-include using aclocal.m4. * NEWS: Updated. Reported by Olly Betts <olly@survex.com> Allow better compile time type checking for lt_dladvise. * libltdl/lt__private.h (lt__handle, lt__advise): Typedefs removed in favour of... * libltdl/ltdl.h (lt_dlhandle), libltdl/libltdl/lt_dlloader.h (lt_dladvise): ...changing from void* to forward declarations. * libltdl/loaders/dlopen.c, libltdl/loaders/loadlibrary.c, libltdl/lt_dlloader.c, libltdl/ltdl.c: Remove many redundant type casts. * NEWS: Updated. Suggested by Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2008-04-21 Peter O'Gorman <peter@pogma.com> basename does not take a list of strings. * libltdl/config/ltmain.m4sh(func_extract_archives): Use sed $basename. * tests/darwin.at: New. Check that we can built fat program, shared library and convenience library. * Makefile.am: Add test. Reported by LiKai Liu <liulk@cs.bu.edu> Use AC_CHECK_TOOL for lipo too. * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Check. * libltdl/config/ltmain.m4sh (func_extract_archives): Use. 2008-04-20 Gary V. Vaughan <gary@gnu.org> Fix misleading lt_dlopenadvise documentation. * doc/libtool.texi (lt_dlopenadvise): The last parameter is of type lt_dladvise, not lt_dladvise*. (my_dlopenext): Correct the example too. * NEWS: Updated. Reported by Gary Kumfert <kumfert@llnl.gov> 2008-04-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix testsuite cleanup warnings on AIX with NFS. * tests/testsuite.at [ aix ]: Set file mode creation so that 'others' have no permissions. Shared libraries are kept in memory on AIX after use if they are world-readable, which means on NFS mounts cleanup of test group directories will fail later. * THANKS: Update. Report and analysis by Michael Haubenwallner. Fix nonportable use of expr. * libltdl/config/ltmain.m4sh (func_mode_link) <Transforming deplibs into only shared deplibs>: Fix expr portability issues, noted on FreeBSD. While at it, simplify and avoid forking. Report by Bob Friesenhahn. Exploit shell arithmetic expansion and ${#var}. * libltdl/m4/libtool.m4 (_LT_CHECK_SHELL_FEATURES): Also check for arithmetic expansion, and ${#var}. (_LT_PROG_XSI_SHELLFNS): Define func_arith and func_len accordingly, falling back on 'expr'. Note that the argument to func_len may not start with a hyphen. In the pre-Posix fallback, take care not to rely on the exit status of the variable assignment (not portable), but set the length to $max_cmd_len instead. * libltdl/config/ltmain.m4sh (func_mode_link): Use func_arith and func_len throughout for integer arithmetic, fixing quadratical amount of counting for reloadable object and piecewise archive linking. Change all comparisons with max_cmd_len to test for smaller, non-equal length. * THANKS: Update. Suggested by Roland Mainz. * libltdl/config/ltmain.m4sh (func_mode_compile): Avoid redundant removal of old output files before compilation. Do not remove $obj until we have successfully grabbed the lockfile (in case the compiler doesn't grok `-c -o'), because it might be identical to $output_obj. At the end of the function, before we remove the lockfile, update $removelist so that if the trap hits after the lockfile has been removed, we do not accidentally remove $output_obj that does not belong to us. (func_write_libtool_object): Use $MV instead of mv. 2008-04-18 Andreas Schwab <schwab@suse.de> * libltdl/m4/ltoptions.m4 (AC_ENABLE_SHARED): Check optional argument. (AC_ENABLE_STATIC): Likewise. (AC_ENABLE_FAST_INSTALL): Likewise. 2008-04-16 Eric Blake <ebb9@byu.net> Make ChangeLog merges easier. * .gitattributes: New file. * HACKING: Mention how it helps. 2008-04-15 Peter O'Gorman <peter@pogma.com> Allow bootstrap from git repository. * Makefile.am: Pass srcdir as an argument to mkstamp and expect only 2 fields in mkstamps output. * clcommit.m4sh: Ditto. * configure.ac: Ditto. * libltdl/config/mkstamp: return a revision and date based on the number of lines which look like dates in all the ChangeLog* files in the directory we got as arg 1. 2008-04-11 Eric Blake <ebb9@byu.net> Fix usage of setmode without declaration on cygwin. * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): Ensure setmode has prototype for both mingw and cygwin. 2008-04-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Move non-XSI definition of func_dirname_and_basename ... * libltdl/config/general.m4sh (func_dirname_and_basename): ... here, to use it for the other scripts that use general.m4sh (and as portable fallback for libtool). Add marker for early insertion of generated shell functions (into libtool, not the other scripts) here. Use func_dirname_and_basename to compute progname, progpath. * libltdl/config/ltmain.m4sh (func_mode_help): Remove marker for insertion of generated shell functions. * tests/sh.test: Adjust function definition test to not match function call. * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS) <func_xform>: New function. * libltdl/config/ltmain.m4sh (func_mode_compile): Use it to avoid two forks with XSI shells. * tests/suffix.test: Also test a file with multiple dots. 2008-04-10 Peter O'Gorman <peter@pogma.com> * libltdl/config/ltmain.m4sh (func_win32_libid, func_generate_dlsyms, func_extract_an_archive, func_extract_archives, func_mode_help): move these so they appear after func_mode_compile. * tests/nomode.test: Check that --mode=link --help works. Reported by Josh Triplett <josh@freedesktop.org> 2008-04-07 Gary V. Vaughan <gary@gnu.arg> * doc/libtool.texi (Libltdl interface): Add missing documentation for lt_dlopenavise. Reported by Anton Erti <anton@mips.complang.tuwien.ac.at> * configure.ac, libltdl/configure.ac (AM_INIT_AUTOMAKE): Use gnu rather than gnits standards so that version number 2.2.3a is not rejected! Reported by Olly Betts <olly@survex.com> 2008-04-01 Gary V. Vaughan <gary@gnu.arg> * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.3a. GNU Libtool 2.2.2 was released. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.2. * libltdl/Makefile.in (LTDL_VERSION_INFO): C:R+1:A because the interfaces are unchanged, even though we improved the code some more. * NEWS: Updated. * libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4, libltdl/m4/ltoptions.m4: Bump serial numbers to account for changes since 2.2 release. 2008-03-27 Peter O'Gorman <peter@pogma.com> * libltdl/m4/libtool.m4 [_LT_REQUIRED_DARWIN_CHECKS]: Fix the test for -single_module and log it to config.log. Reported by Torok Edwin and Nigel Home. 2008-03-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Document that disable-static plus -all-static is not portable. * doc/libtool.texi (Link mode): -all-static does not go well with disable-static on most systems. * tests/static.at (static linking flags for programs) [!aix]: With --disable-static but nonempty link_static_flag, skip the m-all-static link. Do not skip it on AIX, as there the enable_static is self-inflicted, and thus expected to work. * THANKS: Update. Report by Nix. 2008-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_CHECK_BUILDDIR): No need to escape backticks in argument to AC_MSG_WARN or AC_MSG_ERROR. * libltdl/m4/ltdl.m4 (_LTDL_INSTALLABLE, LTDL_INIT): Likewise. 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (NLS nuisances): Fix quoting of localization variables for shell-active characters. * tests/localization.at (localized compiler messages): Extend test. * THANKS: Update. Report by Mike Frysinger. 2008-03-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/defs.m4sh (func_get_config): Build egrep regex to speed up extracting several variables at once. Use it to extract all default variables at once. Also extract build_alias and host_alias from the libtool script. (func_configure_nofail): Use build_alias and host_alias for --build and --host, respectively. Pass each if nonempty. * tests/testsuite.at: Pass --build if build_alias is nonemtpy. * tests/quote.test: Extract ECHO and wl at once. * libltdl/m4/ltoptions.m4 (AC_LIBTOOL_WIN32_DLL): Require AC_CANONICAL_HOST. * THANKS: Update. Report by Jakub Bogusz. 2008-03-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * NEWS: Update. 2008-03-12 Charles Wilson <libtool@cwilson.fastmail.fm> * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) [file scope]: additional #includes and #defines to support... (func_emit_cwrapperexe_src) [main]: ensure stdout is set to binary mode for cygwin|mingw builds. Ensure temporary script file is written in binary mode for cygwin|mingw builds. (func_mode_link) [cygwin|mingw]: cross-build support - only use cwrapper to generate shell wrapper if building native; otherwise use func_emit_wrapper() 2008-03-12 Henning Nielsen Lund <hnl_dk@amigaos.dk> * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) [amigaos]: Port to AmigaOS4 shared libraries on powerpc. * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS) [amigaos]: Likewise. * THANKS, NEWS: Update. 2008-03-09 Bruno Haible <bruno@clisp.org> and Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix compiler output to be in the user locale. * libltdl/config/general.m4sh (func_show_eval_locale): New function, for running commands in the user locale. * libltdl/config/ltmain.m4sh (func_mode_compile): Use it for compiling. * tests/localization.at (localized compiler messages): New test. * Makefile.am: Adjust. Report by Bruno Haible. 2008-03-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix several test failures on Cygwin and MinGW. * tests/nonrecursive.at: Use -no-undefined for foo.la. * tests/recursive.at: Likewise. * tests/subproject.at: Likewise. * tests/lt_dladvise.at: For systems where undefined symbols are not allowed, to not try to load the module libdepend. [ mingw ]: Add to list of such systems. * tests/testsuite.at (_LT_AT_TRANSLATE_TEXT_OUTPUT): New macro, to translate line ending of expout and experr files suitable for host executables. (LT_AT_CHECK, LT_AT_NOINST_EXEC_CHECK): Use it. Report by Bob Friesenhahn. Fix installcheck dependencies, fix for --program-transform-name. * Makefile.am (installcheck-local): Depend upon tests/atconfig and $(srcdir)/$(TESTSUITE). * tests/testsuite.at (_LIBTOOLIZE_TRANSFORM): New macro. (LT_AT_CHECK_LIBTOOLIZE): Use it to transform expout and experr files suitably. * HACKING: Update. Drop usage of obsolete macros AC_EXEEXT and AC_OBJEXT. * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK, _LT_COMPILER_OPTION) (_LT_COMPILER_C_O, LT_PATH_NM, _LT_CMD_GLOBAL_SYMBOLS, _LT_SETUP): Drop usage of obsolete AC_OBJEXT and AC_EXEEXT. * tests/am-subdir.at (C++ subdir-objects): Likewise. 2008-03-07 Peter O'Gorman <peter@pogma.com> * tests/convenience.at (Java convenience archives): Skip test if gcj cannot compile a working executable from .java files. Report by Nelson H. F. Beebe. * libltdl/m4/libtool.m4 (_LT_LANG_GCJ_CONFIG): Need to set LD. Reported by Nelson H. F. Beebe. 2008-03-06 Peter O'Gorman <peter@pogma.com> * libltdl/m4/libtool.m4 (_LT_PROG_FC): Undo commit - bad idea. * libltdl/m4/libtool.m4 (_LT_PROG_FC): Report FC=no if the FC compiler is not a GNU compiler and the CXX compiler is a GNU compiler. Reported by Nelson H. F. Beebe. 2008-03-06 Gary V. Vaughan <gary@gnu.org> * Makefile.maint (TSDEPS_DIST): Removed. No longer used. (TSDEPS): libtool.m4 has long since moved to libltdl. (cvs-dist): Don't put the suffix dot in twice. 2008-03-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/convenience.at (Java convenience archives): Skip test if gcj cannot compile a .java file. Report by Nelson H. F. Beebe. 2008-03-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_lalib_unsafe_p): redirect and restore from stdin, not stdout. * tests/execute-mode.at (execute mode): Adjust test to catch this. Report by Roberto Bagnara. 2008-03-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix libltdl to not skip dlopen on systems with several loaders, such as HP-UX, Cygwin. * libltdl/slist.c (slist_concat): When appending to the tail of a list, do not drop items off the beginning of the list. * NEWS: Update. * libltdl/config/ltmain.m4sh (func_mode_execute): Replace only arguments we have identified as shell or C wrappers. (func_emit_wrapper): Output error message on stderr. * tests/execute-mode.at: New file, with --mode=execute tests. * Makefile.am: Adjust. * NEWS: Update. Fixes 2.2 regression. Report by Roberto Bagnara. * libltdl/m4/libtool.m4 (_LT_CONFIG): Drop misleading `GNU' prefix before the host package name in the "Generated by" line for the libtool script. * THANKS: Update. Reports by Peter Rosin and Roberto Bagnara. * doc/libtool.texi (Module loaders for libltdl): Fix typo. * libltdl/loaders/dld_link.c (vl_exit): New function, zero out ... (vtable): ... this new file static variable split out from ... (get_vtable): ... here. Initialize vtable, register vl_exit as dlloader_exit function. * libltdl/loaders/dlopen.c: Likewise. * libltdl/loaders/dyld.c: Likewise. * libltdl/loaders/load_add_on.c: Likewise. * libltdl/loaders/loadlibrary.c: Likewise. * libltdl/loaders/shl_load.c: Likewise. * libltdl/loaders/preopen.c: Likewise; vl_exit existed here already. * tests/lt_dlexit.at (lt_dlexit unloading libs): Update test. * NEWS: Update. Report by Andreas Schwab. 2008-03-01 Gary V. Vaughan <gary@gnu.org> * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.3a. GNU Libtool 2.2 was released. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2. * NEWS: Updated. * tests/lt_dladvise.at, tests/lt_dlexit.at, tests/need_lib_prefix.at: Skip these tests when called from `make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install'. The tests try to link against the dummy installed libltdl.la from .../_inst/lib/libltdl.la, which does not exist when configured with --disable-ltdl-install. 2008-02-29 Gary V. Vaughan <gary@gnu.org> * libltdl/m4/argz.m4 (AC_CHECK_FUNCS): Also use our replacement argz if the system argz_add or argz_count are missing. Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>. 2008-02-26 Karl Berry <karl@freefriends.org> * libltdl/argz.c (argz_add, argz_count): New functions. * libltdl/argz_.h: Declare them. Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>. 2008-02-20 Peter O'Gorman <peter@pogma.com> * libltdl/m4/libtool.m4 (_LT_LANG_GCJ_CONFIG): Do not call the _LT_SYS_DYNAMIC_LINKER macro here. Reported by Mike Frysinger <vapier@gentoo.org> 2008-02-15 Peter O'Gorman <peter@pogma.com> * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Fix typo. 2008-02-14 Peter Breitenlohner <peb@mppmu.mpg.de> * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): better handling of predefined values for lt_cv_sys_lib_search_path_spec and lt_cv_sys_lib_dlsearch_path_spec. 2008-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libtoolize.m4sh (func_install_pkgconfig_files): Only call func_install_pkgconfig_parent if $seen_autoconf. * tests/standalone.at (compiling softlinked libltdl) (compiling copied libltdl, installable libltdl) (linking libltdl without autotools): Use checked libtoolize calls to catch warnings. 2008-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/configure.ac: Bump package version. * HACKING: Reminder to do it next time, too. 2008-02-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/mdemo/Makefile.am (@LIBLTDL@): Update outdated dependencies. ($(top_distdir)/libltdl/libtool): Remove. Fixes spurious mdemo-dryrun failure with OpenBSD make. 2008-02-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] <ifort>: Treat like icc and ecc, for fixed `-Wl,' and `-KPIC' settings. 2008-02-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/archive-in-archive.at (static library contains static library): Test also the actual broken link command, and the following install command, as UnixWare ar rightly refuses to put an archive into an archive. Report by Tim Rice. 2008-02-06 Peter O'Gorman <peter@pogma.com> * libltdl/m4/ltoptions.m4 (_LT_SET_OPTIONS): Only set default LT_INIT values for LT_INIT, not LTDL_INIT. Reported by Jochem Huhmann <joh@revier.com> 2008-02-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/testsuite.at (LT_AT_TAG): For the CXX tag, if $CXX is g++, check that `g++ -v' works; AC_PROG_CXX may have set that as default value even if it found no C++ compiler. Report by Andreas Schwab. 2008-02-02 Gary V. Vaughan <gary@gnu.org> * libltdl/Makefile.inc (EXTRA_DIST): Now that we're not using Autoconf's AC_SOURCES macro, Automake can't trace our extra source files argz, lt__dirent.c and lt__strl.c. List them manually here to make sure they are distributed. * NEWS: Updated. Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2008-02-01 Gary V. Vaughan <gary@gnu.org> * configure.ac (AC_INIT): Bump version number to 2.1c. GNU Libtool 2.1b was released. * configure.ac (AC_INIT): Bump version number to 2.1b. * libltdl/Makefile.inc (LTDL_VERSION_INFO): Increment to account for new interfaces since the last libltdl update. * HACKING (Release Procedure): Note that LTDL_VERSION_INFO is now kept in libltdl/Makefile.inc. 2008-02-01 Gary V. Vaughan <gary@gnu.org> * tests/cdemo, tests/depdemo, tests/fcdemo, tests/pdemo, tests/demo, tests/f77demo, tests/mdemo, tests/tagdemo (distclean-local): Remove compiler file droppings left by Autoconf tests that prevent make dist from finishing on several machines including Mac OS 10.5. 2008-02-01 Gary V. Vaughan <gary@gnu.org> Unfortunately, the autoconf implementation of AC_LIBOBJ and friends requires all libobjs to be in the same directory, as declared by AC_CONFIG_LIBOBJ_DIR. That might prevent using either recursive or nonrecursive libltdl if the parent project has libobjs of its own, except that this patch tracks libltdl's libobjs in another namespace: * libltdl/m4/ltdl.m4 (_LT_LIBOBJ, _LT_LIBSOURCES): Versions of AC_LIBOBJ and AC_LIBSOURCES that save missing sources in a ltdl_LIBOBJS automake macro, instead of the global LIBOBJS automake macro. Content of the macros inspired by code from gnulib-tool. (_LTDL_MODE_DISPATCH): Initialise lt_libobj_prefix in nonrecursive mode. (LTDL_INIT): Push and pop the new definitions around potential sites that call AC_LIBOBJ. Also, using lt_libobj_prefix, initialise ltdl_LIBOBJS and ltdl_LTLIBOBJS. * libtoolize.m4sh (func_fixup_Makefile): Substitute ltdl_LIBOBJS and ltdl_LTLIBOBJS for LIBOBJS and LTLIBOBJS during copying either Makefile.am or Makefile.inc, depending on ltdl_mode. Reported by Eric Blake <ebb9@byu.net> 2008-01-30 Gary V. Vaughan <gary@gnu.org> There are 5 distinct batches of files that libtoolize might install into a project, depending on whether libltdl is being installed in subproject mode, and in that case whether the parent project shares the config and macro directories with the subproject ltdl. Make a separate function for each of those 5 batches (4 new functions below, plus the recently factored func_install_pkgltdl_files), and make a clearer distinction between when each of them is needed: * libtoolize.m4sh (func_install_pkgmacro_subproject): New function for installing and reporting on m4 files copied to a subproject ltdl directory. (func_install_pkgmacro_parent): Similar new function for m4 files copied solely for the use of the parent project, including serial checking. (func_install_pkgconfig_subproject): New function for installing and reporting on config helper files copied to a subproject ltdl directory. (func_install_pkgconfig_parent): Similar new function for config helper files copied solely for the use of the parent project, including serial checking. (func_install_pkgmacro_files, func_install_pkgconfig_files): Rewritten in terms of the above functions. * tests/libtoolize.at: Adjust test expout's to match newly regularized libtoolize output. Move parent project pkgconfig files to build-aux directory so that progress messages show an obvious difference to pkgconfig files installed to subproject `config' directory. (nonrecursive ltdl with AC_CONFIG_MACRO_DIR): New test. (diagnose missing LT_CONFIG_LTDL_DIR): New test. (subproject ltdl with non-shared directories): New test. Reported by Eric Blake <ebb9@byu.net> 2008-01-29 Peter O'Gorman <peter@pogma.com> * libltdl/m4/libtool.m4 [darwin]: Changes to glob pattern matching to be safer. Search the compiler path too. * libltdl/m4/libtool.m4 (compiler_lib_search_dirs): New variable. * libltdl/config/ltmain.m4sh: Use it. Reported by Maynard Johnson 2008-01-28 Gary V. Vaughan <gary@gnu.org> * libtoolize.m4sh (func_check_macros): Correct typo with '$opt_quiet ||' where '$opt_quiet &&' that was preventing func_check_macros from running! * libtoolize.m4sh: Set opt_ltdl whenever seen_ltdl is set so that libtoolize behaves as though --ltdl was passed even if it wasn't as long as LTDL_INIT (or equivalent) was seen in configure.ac. Adjust redundant '$opt_ltdl || $seen_ltdl' to simply '$opt_ltdl'. Reported by Eric Blake <ebb9@byu.net> * libtoolize.m4sh (func_check_macros): Check opt_quiet in the function itself to simplify calling it. Also move the definition of the function. * libtoolize.m4sh (func_scan_files): Be sure to set the default libltdl mode to 'subproject' when libtoolize is executed before configure.ac has been updated. 2008-01-27 Gary V. Vaughan <gary@gnu.org> * libtoolize.m4sh (func_install_pkgconfig_files) (func_install_pkgmacro_files, func_install_pkgltdl_files): Factored out from the 'Main' section of the file. * libtoolize.m4sh (subproject_auxdir, subproject_macrodir): New variables to hold the default locations for auxfiles and macrofiles in a subproject libltdl. (ac_auxdir, ac_macrodir): New variables to hold the values passed by AC_CONFIG_AUX_DIR and AC_CONFIG_MACRO_DIR resp. (auxdir, macrodir): Adjust to contain the values to be used by libtoolize at runtime. * libtoolize.m4sh (func_fixup_Makefile) (func_massage_aclocal_DATA, func_massage_pkgltdl_files) (func_massage_pkgconfig_files): Add missing $opt_debug. 2008-01-27 Gary V. Vaughan <gary@gnu.org> * libtoolize (func_fixup_Makefile, func_massage_aclocal_DATA) (func_massage_pkgltdl_files, func_massage_pkgconfig_files): Add missing $opt_debug. 2008-01-26 Gary V. Vaughan <gary@gnu.org> * libtoolize.m4sh (Main): Copy (or link) libltdl sources into project tree when LTDL_INIT was seen, whether or not `--ltdl' is passed. (func_check_macros): Recommend LTDL_INIT instead of LT_WITH_LTDL when `--ltdl' is used before configure.ac is upgraded. * tests/libtoolize.at: Test that it works. (_LT_AT_LTDL_SETUP): Factor out some common test setup. Reported by Eric Blake <ebb9@byu.net> 2008-01-24 Peter O'Gorman <peter@pogma.com> * doc/notes.texi: Fix errors in previous commit. * libltdl/m4/libtool.m4 (sys_lib_search_path_spec, sys_lib_dlsearch_path_spec): Allow for a cache variable lt_cv_sys_lib_... to set these at configure time. * doc/notes.texi: Short note about the above change. 2008-01-24 Eric Blake <ebb9@byu.net> Add proper quoting to doc examples. * doc/libtool.texi: Use m4 quotes where appropriate. (Test descriptions): Fix truncated sentence. 2008-01-18 Gary V. Vaughan <gary@gnu.org> * Makefile.am (DISTCLEANFILES): Remove libtool.dvi generated by 'make dvi'. 2008-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libtoolize.m4sh (func_scan_files): Avoid matching our own macro code when scanning configure.ac and aclocal.m4. Don't produce spurious output if AC_PROG_RANLIB is found. * tests/old-m4-iface.at (AM_PROG_LIBTOOL): Add a (weak) check that we don't match our own macro code when searching for user code calling us. * TODO: Updated. 2008-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> New variable LTDLDEPS for use in output_DEPENDENCIES. * libltdl/m4/ltdl.m4 (_LTDL_CONVENIENCE, _LTDL_INSTALLABLE) (LTDL_INIT): Set and substitute LTDLDEPS according to chosen method. * tests/configure-iface.at (installable libltdl) (--with-ltdl-include/lib, --with-included-ltdl): Test it. * doc/libtool.texi (Distributing libltdl): Document LTDLDEPS. * NEWS: Updated. Dependency bug exposed by Eric Blake in M4, found by Bob Proulx build daemon. 2008-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * doc/libtool.texi (Distributing libltdl): Clarify that `${top_build_prefix}' may be used in place of `${top_builddir}/'. * doc/libtool.texi (Distributing libltdl): Clarify that LTDL_INIT goes after LT_INIT; also show the latter in the respective examples. * tests/subproject.at: Adjust order. 2008-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/ltdl.m4 (_LT_ENABLE_INSTALL): Use AM_CONDITIONAL only if defined. Allows to use libltdl without aclocal. 2008-01-16 Peter O'Gorman <peter@pogma.com> * libltdl/m4/libtool.m4: Set GCC var for every tag, avoids need to set withGCC var. 2008-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * configure.ac: Set libltdl nonrecursive option, to avoid configuring libltdl inside the Libtool package. 2008-01-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Silence all non-warning output from `libtool --silent'. * libltdl/config/ltmain.m4sh (func_generate_dlsyms) (func_extract_archives, func_mode_link): Use func_verbose instead of func_echo for all non-warning output. * Makefile.maint (fetch): Update to match upstream git sources. Pull `INSTALL' from gnulib instead of from Autoconf. * doc/notes.texi: Mention AIX binutils deficiency for C++ code. Report by Rainer Tammer. Suggest using bash for configure. * libltdl/m4/ltoptions.m4 (AC_ENABLE_SHARED): Fix to use new _LT_SET_OPTION semantics. 2008-01-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/ltdl.m4 (_LTDL_SETUP): Define LTDL_DLOPEN_SELF_WORKS, depending upon lt_cv_dlopen_self. * libltdl/loaders/dlopen.c (vm_open) [!LTDL_DLOPEN_SELF_WORKS]: Fail for dlopen(NULL), so that the preopen loader is used. This fixes mdemo-exec.test failures on AIX where dlopen(NULL) succeeds but dlsym resolves no symbol. * NEWS: Update. Report by Rainer Tammer. * tests/am-subdir.at: Drop unused variables. * tests/configure-iface.at: Likewise. * tests/ctor.at: Likewise. * tests/early-libtool.at: Likewise. * tests/lt_dladvise.at: Likewise. * tests/old-m4-iface.at: Likewise. * tests/lt_dlexit.at: Likewise. Also drop unused functions. * tests/old-m4-iface.at (AM_PROG_LIBTOOL): Also copy needed lt~obsolete.m4. * libltdl/config/ltmain.m4sh (func_mode_link): Fix warning about -l and -L for archives and objects as output, to not trigger for *.la files. Non-convenience archives are diagnosed later on. * tests/configure-iface.at: Ensure LTDLINCL is expanded before CPPFLAGS, so that even CPPFLAGS=-I/usr/local/include won't make the tests prefer an installed ltdl.h over the in-package one. * tests/lt_dladvise.at, tests/lt_dlexit.at: Likewise. * tests/need_lib_prefix.at, tests/old-m4-iface.at: Likewise. Report by Bob Friesenhahn. 2008-01-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) <exclude_expsyms>: Also exclude `_GLOBAL__F[ID]_.*'. Also set for the C++ tag. Fixes esp. demo/helldl build failure with GCC on AIX. Report by Rainer Tammer. 2008-01-11 Peter O'Gorman <peter@pogma.com> * libltdl/m4/libtool.m4 [darwin]: Reorganize darwin support, use dsymutil if it is available so that debugging is possible, check for nmedit and dsymutil with AC_CHECK_TOOL, use the linker flag -exported_symbols_list in preference to nmedit if it is available. Drop support for xlc, it is probably broken. * tests/template.at [darwin]: Skip this test, I can not find a way to make it work on darwin9 with Xcode-3.0. * NEWS: Note the dropping of xlc support. 2008-01-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (LT_INIT): m4_require, not AC_REQUIRE _LT_CHECK_BUILDDIR, as it's m4_defun'ed, not AC_DEFUN'ed. Report by Peter O'Gorman. * libltdl/m4/ltdl.m4 (_LTDL_INSTALLABLE): Restore correct _LT_BUILD_PREFIX-using code. 2008-01-08 Gary V. Vaughan <gary@gnu.org> * tests/recursive.at: Remove bogus --debug option. Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/configure-iface.at: Build libltdl in a subdir so that it can be easily removed without trying to remove config.log on windows (which can't delete a file until it is closed). Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/ltdl.m4 (LTDL_INSTALLABLE): Use _LT_BUILD_PREFIX instead of ${top_builddir} for Autoconf-2.62. Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/ltdl.m4 (_LT_CONFIG_LTDL_DIR): Correct closing comment. Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * NEWS: Grammar nit. * tests/configure-iface.at, tests/nonrecursive.at, tests/recursive.at, tests/subproject.at (_LTDL_SETUP): Renamed to _LT_AT_LTDL_SETUP to avoid a nameclash with libltdl/m4/ltoptions.m4:_LTDL_SETUP from yesterday's patch. Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2008-01-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/runpath-in-lalib.at (Runpath in libtool library files): Compile program file without libtool. Report by Rainer Tammer. 2008-01-07 Rainer Tammer <tammer@tammer.net> (tiny change) Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Support AIX 6.1. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) (_LT_LANG_C_CONFIG, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG) (_LT_LANG_FC_CONFIG): Adjust case patterns to match AIX 6 through 9 as well. * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Likewise. * NEWS: Update. * THANKS: Update. 2008-01-07 Gary V. Vaughan <gary@gnu.org> Move libltdl build mode options from LT_CONFIG_LTDL_DIR to LTDL_INIT. Accept (optional) new 'convenience' and 'installable' options in lieu of LTDL_CONVENIENCE and LTDL_INSTALL macros. And also, implement --with-included-ltdl, --with-ltdl-lib and --with-ltdl-include configure-time options: * libltdl/m4/ltoptions.m4: Associate existing option settings with LT_INIT. (LT_OPTION_DEFINE): Associate options 'nonrecursive', 'recursive', 'subproject', 'installable' and 'convenience' with LTDL_INIT. (_LT_MANGLE_OPTION, _LT_SET_OPTION, _LT_IF_OPTION) (_LT_UNLESS_OPTIONS, _LT_SET_OPTIONS): Add MACRO-NAME argument to support options to named macros instead of hardcoding only LT_INIT options. * libltdl/m4/ltdl.m4 (_LTDL_CONVENIENCE): Factor common code from LTDL_CONVENIENCE and LTDL_INIT([convenience]). (_LTDL_INSTALLABLE): Factor out common code from LTDL_INSTALLABLE and LTDL_INIT([installable]). (_LTDL_SETUP): Renamed from LTDL_INIT. Support new configure-time options: --with-included-ltdl, --with-ltdl-lib, --with-ltdl-include. (LTDL_CONVENIENCE, LTDL_INSTALLABLE): Adjust. (LT_WITH_LTDL): Removed. (LTDL_INIT): Parse caller options. * libltdl/m4/libtool.m4 (LT_INIT): Declare that this macro must be expanded before LTDL_INIT, and be sure to parse caller options. * configure.ac: Call directly into internal _LTDL_SETUP macro. * libtoolize.m4sh (func_scan_files): Ltdl mode argument moved from LT_CONFIG_LTDL_DIR to LTDL_INIT. * tests/nonrecursive.at, tests/recursive.at: Use new interfaces. * tests/configure-iface.at: Test it. * Makefile.am (TESTSUITE_AT): Add configure-iface.at. * doc/libtool.texi (Distributing libltdl): Document improved LTDL_INIT interfaces. * NEWS: Updated. 2008-01-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_mode_link): When creating reloadable object files, avoid issuing plain `rm -f' without further arguments, even if the line length limit is ridiculously low as in the `Run tests with low max_cmd_len' test. This failure is exposed on NetBSD. Report by Patrick Welche. * Makefile.am (EXTRA_DIST): Add ChangeLog.2007. * ChangeLog.2007: New, rotated, from... * ChangeLog: ...here. * NEWS, README, README.alpha, Makefile.am, libtoolize.m4sh, libltdl/config/getopt.m4sh, libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4: Bump copyright years. 2007-11-30 Stefan Sperling <stsp@elego.de> (tiny change) * doc/libtool.texi (Linking executables): Reorder paragraphs. 2007-11-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ linux ]: The IBM XL 8.0 C++ compiler may also be called xlc++*, not only xlC*. Report by Nysal K Jan <jnysal@in.ibm.com>. 2007-11-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_CHECK_BUILDDIR): New macro. Warn about whitespace in the absolute build tree name. (LT_INIT): Use it. * THANKS: Update. Report by Jim Meyering. * libltdl/config/ltmain.m4sh (func_extract_an_archive) (func_extract_archives): Add some quoting. 2007-11-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Use `${top_build_prefix}' for better compatibility with non-GNU make. * libltdl/m4/ltdl.m4 (_LT_BUILD_PREFIX): New macro. If the Autoconf version used is >= 2.62, then expand to `${top_build_prefix}', otherwise to `${top_builddir}/'. (LTDL_CONVENIENCE, LTDL_INSTALLABLE): Use it for defining LIBLTDL. Fixes a build failure with AIX make in a package using convenience libltdl in nonrecursive mode. * doc/libtool.texi (Distributing libltdl): Document requirements to define `top_build_prefix' if Automake is not used. Report by Bob Friesenhahn. 2007-11-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Avoid warnings about conftest.dSYM directories on Mac OS X Leopard. * libltdl/m4/libtool.m4 (_LT_LINKER_BOILERPLATE) (_LT_LINKER_OPTION, _LT_CMD_GLOBAL_SYMBOLS): Remove conftest.dSYM directory. Report and analysis by Jeff Squyres and Peter O'Gorman. 2007-11-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/configure.ac: Drop the broken and long-disabled code to output a banner for the libltdl configure. Avoids the need to ship mkstamp with libltdl. 2007-11-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/runpath-in-lalib.at: New test. * Makefile.am: Update. Report by Benoit SIGOURE <tsuna@lrde.epita.fr>. 2007-10-16 Eric Blake <ebb9@byu.net> Speed up bootstrap by improving lt_join. * libltdl/m4/ltsugar.m4 (lt_join, _lt_join): Rewrite to mirror Autoconf 2.62's faster implementation. 2007-10-12 Eric Blake <ebb9@byu.net> Whitespace cleanup. * libltdl/m4/ltsugar.m4: Avoid space-tab in indents. * libltdl/m4/libtool.m4: Avoid trailing space. Deal with Autoconf 2.62's semantic change in m4_append. * libltdl/m4/ltsugar.m4 (lt_append): Replace broken versions of m4_append. (lt_if_append_uniq): Don't require separator to be overquoted, and avoid broken m4_append. (lt_dict_add): Fix typo. * libltdl/m4/libtool.m4 (_LT_DECL): Don't overquote separator. 2007-10-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh: Also sanitize `LANGUAGE'. (func_mode_execute): Also restore `LANGUAGE', for old glibc. Report by Paul Eggert against Autoconf. 2007-10-11 Eric Blake <ebb9@byu.net> * libltdl/.cvsignore: Ignore argz.h. 2007-10-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) <lt_cv_prog_compiler_pic_works>: Renamed from lt_prog_compiler_pic_works. <lt_cv_prog_compiler_static_works>: Renamed from lt_prog_compiler_static_works. * NEWS: Update. 2007-10-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_mode_compile): Accept extension `.sx'. * tests/suffix.test: Test it. 2007-09-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/lt_dlloader.c (loader_callback, lt_dlloader_get): Use NULL, not 0, for the benefit of too picky compilers like PGI. * slist.c (slist_tail): Likewise. Include stddef.h, for NULL. Report by Jeff Squyres. 2007-09-05 Eric Blake <ebb9@byu.net> * libltdl/ltdl.c (lt_dlcaller_get_data): Work even when no caller has set data. 2007-09-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * doc/libtool.texi (User defined module data) <lt_dlinterface_register>: Document that a NULL place matches all modules. * libltdl/lt_dlloader.c (lt_dlloader_remove): Actually iterate over all open modules when looking for modules that use it. If a resident module is found, return but do not set the error string. * libltdl/ltdl.c (lt_dlexit): When removing dlloaders, ignore errors that stem from earlier failed commands. Exposed by the lt_dladvise test. Fixes regression over branch-1-5. Memleak report as Coverity CID 19 via Jeff Squyres. 2007-09-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * NEWS: Update. * libltdl/ltdl.c (trim): Fix possible write beyond array bound. * libltdl/ltdl.c (lt_dlopenadvise): Instead of asserting, return FILE_NOT_FOUND if the filename is "". * libltdl/ltdl.c (try_dlopen): Fix computation of extension, avoids subtracting pointer from NULL pointer. * libltdl/ltdl.c (try_dlopen, lt_dlforeachfile): Do not test array address of sys_dlsearch_path against NULL, rather test for nonempty contents. Coverity reports CID 148 and CID 149 via Jeff Squyres. * libltdl/ltdl.c (tryall_dlopen_module): Fix string length computation: do not allocate more than needed. 2007-08-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/loaders/preopen.c (vm_close): `module' is unused. Coverity report CID 158 via Jeff Squyres. * libltdl/ltdl.c (parse_dotla_file): If we run out of memory, do not close the .la file twice. Coverity report CID 440 via Jeff Squyres. * libltdl/ltdl.c (has_library_ext): Remove dead code. Coverity report CID 561 against Open MPI via Jeff Squyres. 2007-08-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/slist.c (slist_remove): When a matching item is found, break out of the loop to return the first match; also fixes possible NULL dereference. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG) [ linux ]: Add support for IBM XL 8.0 C/C++ (xlc*, xlC*) and IBM XL Fortran 10.1 (xlf*) on GNU/Linux, tested on ppc, pending a $shlibpath_var related fix. (_LT_SYS_HIDDEN_LIBDEPS): Double-quote $output_verbose_link_cmd properly during evaluation, obsoleting $no_glob_subst mangling. * NEWS: Update. 2007-08-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ] [ k*bsd*-gnu ] <shlibpath_overrides_runpath>: Avoid spurious output in runpath test. 2007-08-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ mingw, cygwin ] <GCJ>: Do not use -DDLL_EXPORT. Report by Ross Ridge <rridge@csclub.uwaterloo.ca>. * Makefile.am (edit): Do not warn against manual editing for the generated files libtool, libtoolize, libltdl/m4/ltversion.m4, tests/defs, as they are still in a preferred source code form as required by GPL. Report by DJ Delorie. 2007-08-15 Dirk Mueller <dmueller@suse.de> (tiny change) Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/ltdl.c (parse_dotla_file): Avoid a strlen. When reading .la files, cope with files that are not newline-terminated. 2007-08-05 Tilman Koschnick <til@subnetz.org> (tiny change) * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LANG_CXX_CONFIG) [ linux ]: Treat pgcpp as Portland Group C++ compiler as well. 2007-08-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/ltdl.c (try_dlopen): Use `attempt' rather than `filename', as the former has the needed extension when called by lt_dlopenext. Report by Brian Barrett. 2007-07-27 Peter Rosin <peda@lysator.liu.se> * Makefile.am: Pass STRIP through to the testsuite, so that tests that run configure will use the same strip program. 2007-07-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/mdemo-exec.test: Also try absolute library names. * tests/mdemo/main.c (test_dl, main): Try lt_dlopenext as well. * THANKS: Update. Report by Brian Barrett. 2007-07-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * doc/fdl.texi: Update to GFDL 1.2. * doc/libtool.texi: Adjust. Put License in Appendix. * libltdl/config/ltmain.m4sh (func_mode_link): Remove each intermediate relinked object after use, to avoid quadratic space complexity when linking partially. Report by Isidor Zeuner <eezyy@gmx.net>. 2007-07-23 Eric Blake <ebb9@byu.net> * libltdl/config/ltmain.m4sh: Whitespace cleanup. * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) <chase_symlinks>: Avoid compiler warning. 2007-07-22 Peter Rosin <peda@lysator.liu.se> * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): Add support for Microsoft Visual C. Also, older MinGW versions seem to need stdint.h to find intptr_t. 2007-07-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [linux]: Ignore lines in ld.so.conf starting with 'hwcap '. 2007-07-16 Charles Wilson <libtool@cwilson.fastmail.fm> * tests/cdemo-exec.test: use $EXEEXT where appropriate to correct mingw cross-compile issues. * demo-deplibs.test: Ditto. * demo-exec.test: Ditto. * demo-inst.test: Ditto. * demo-relink.test: Ditto. * depdemo-exec.test: Ditto. * depdemo-inst.test: Ditto. * depdemo-relink.test: Ditto. * f77demo-exec.test: Ditto. * fcdemo-exec.test: Ditto. * mdemo-exec.test: Ditto. * mdemo-inst.test: Ditto. * mdemo2-exec.test: Ditto. * pdemo-exec.test: Ditto. * pdemo-inst.test: Ditto. * tagdemo-exec.test: Ditto. 2007-07-14 Peter Rosin <peda@lysator.liu.se> * AUTHORS, THANKS: Peter Ekberg got married, now Peter Rosin. 2007-07-13 Charles Wilson <libtool@cwilson.fastmail.fm> * libltdl/m4/libtool.m4 (func_dirname_and_basename) <XSI>: New function. (func_dirname_and_basename) <!XSI>: New function. * libltdl/config/ltmain.m4sh (func_ltwrapper_scriptname): Call it. Also, take advantage of missed optimization using func_dirname's additional arguments. (func_mode_compile): Call it. (func_mode_install): Call it. (func_mode_link): Call it. 2007-07-12 Peter Rosin <peda@lysator.liu.se> * libltdl/config/ltmain.m4sh (func_mode_link): Strip the cwrapper using $STRIP instead of relying on the tools to support -s, which MSVC doesn't. 2007-07-06 Peter O'Gorman <peter@pogma.com> * libltdl/config/libtool.m4sh: Don't pass -msg_* through to the linker. Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2007-07-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> * libltdl/lt__alloc.c, libltdl/loaders/preopen.c, libltdl/loaders/dyld.c, libltdl/loaders/dlopen.c, libltdl/ltdl.c, libltdl/lt_error.c, libltdl/lt_dlloader.c, libltdl/lt__dirent.c: Include lt__private.h prior to any system headers. * libltdl/lt__alloc.c: Remove redundant inclusion of configuration header. 2007-07-04 Eric Blake <ebb9@byu.net> * libltdl/ltdl.c (advise_dup): Delete function no longer used after memleak fix three days ago. 2007-07-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK) [ solaris ]: Cater to old Sparc Solaris 7 ld that does not understand `-64'. Report by Vincent Lefevre <vincent@vinc17.org>. 2007-07-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/lt~obsolete.m4 (LTOBSOLETE_VERSION): New macro, to force-pull in this file by aclocal. * libltdl/m4/libtool.m4 (LT_INIT): Require LTOBSOLETE_VERSION. * tests/libtoolize.at (upgrading verbatim style aclocal.m4): Adjust. Report by H. J. Lu <hjl@lucon.org>. * libltdl/ltdl.c (tryall_dlopen): Rename argument to have typed alias of `advise' instead of allocating a copy. Fixes memleak. 2007-06-30 Peter Breitenlohner <peb@mppmu.mpg.de> * libltdl/m4/libtool.m4 (LT_SYS_DLOPEN_SELF): Correct a typo ("-dld" instead of "-ldld"). 2007-06-24 Gary V. Vaughan <gary@gnu.org> Add a test to simulate a failure visible on systems which need a library prefix like 'lib', such as BeOS. Fix a number of bugs exposed by this test in order for it to pass. Currently the prefix is hardcoded as 'lib', as I am not aware of systems that require a different prefix: * libltdl/loaders/preopen.c (lt_dlpreload_open): Move error condition out of test loop to be sure that each originator is tried, instead of erroring out if the first doesn't match. Support passing NULL as the originator to load all preloaded modules originating in the program itself. * libltdl/lt_dlloader.c (lt_dlloader_dump): New debug function. * libltdl/libltdl/lt_dlloader.h (lt_dlloader_dump): Declare it when LT_DEBUG_LOADERS is defined at compile time. * libltdl/ltdl.c (lt_dlinit): Dump loader list after successful initialisation. (tryall_dlopen): Add a new VTABLE parameter to force use of a specific loader in preference to trying every loader in turn. Adjust all callers. (try_dlopen): Always see whether a module was preloaded for module names with no directory component before searching the filesystem for a match. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Declare a new global_symbol_to_c_name_address_lib_prefix variable. (global_symbol_to_c_name_address_lib_prefix): The sed expressions to use when a lib prefix is enforced need to be slightly different to work with preloaded modules. * libltdl/config/ltmain.m4sh (func_generate_dlsyms): In order to name preloaded symbols correctly for the lookup algorithm to work when the loaded module file must be prefixed with lib. Use global_symbol_to_c_name_address_lib_prefix when need_lib_prefix is other than no. * tests/need_lib_prefix.at: New test to check for breakage on hosts where need_lib_prefix is unknown. * Makefile.am (TESTSUITE_AT): Add new test. * tests/TODO: Note missing tests that would have caught some of the latent bugs fixed by this patch. * HACKING: Document libltdl keyword. * NEWS: Updated. 2007-06-24 Gary V. Vaughan <gary@gnu.org> Reenable compilation of libltdl with C++: * libltdl/ltdl.c (tryall_dlopen): Rename the try variable to attempt, and cast explicitly. (advise_dup): Add explicit cast. 2007-06-22 Peter O'Gorman <peter@pogma.com> * libltdl/config/ltmain.m4sh (version-number) [irix]: Don't subtract 1 from major as it may be less than age. 2007-06-21 Noah Misch <noah@cs.caltech.edu> * tests/f77demo/configure.ac [--with-dist]: New option. Skip most Fortran checks when given. * tests/fcdemo/configure.ac [--with-dist]: Likewise. * Makefile.am (@DIST_MAKEFILE_LIST@): Pass --with-dist. Reported by Benoit Sigoure <tsuna@lrde.epita.fr>. 2007-06-19 Charles Wilson <libtool@cwilson.fastmail.fm> * AUTHORS: Add myself. 2007-06-18 Charles Wilson <libtool@cwilson.fastmail.fm> * libltdl/config/ltmain.m4sh: Add new magic variable for use with cwrapper. (func_ltwrapper_script_p): New function. (func_ltwrapper_executable_p): New function. (func_ltwrapper_scriptname): New function. (func_ltwrapper_p): Accomodate both wrapper scripts and wrapper executables. (func_mode_execute): Handle $file that is a wrapper script and $file that is a wrapper executable differently. (func_mode_install) [cygwin|mingw]: If $file is a wrapper executable, use func_ltwrapper_scriptname to determine wrapper script name. Afterwards, always use func_ltwrapper_script_p instead of func_ltwrapper_p. (func_emit_libtool_wrapper_script): Rename to... (func_emit_wrapper): ...this. All callers changed. (func_emit_libtool_cwrapperexe_source): Rename to... (func_emit_cwrapperexe_src): ...this. All callers changed. Embed new magic_exe variable into source. Private transient wrapper script now called foo_ltshwrapperTMP, not foo_ltshwrapper. (func_emit_cwrapperexe_src) [main, mingw]: Use _spawnv and return child's exit code manually rather than rely on broken execv. (func_mode_link) [cygwin|mingw]: Don't call dirname and basename directly; use func_dirname and func_basename when computing cwrapper names. Use cwrapper to generate wrapper script, and use pathname returned by func_ltwrapper_scriptname instead of $output. (func_mode_link) [NOT cygwin|mingw]: move wrapper script generation for non-win32 inside case statement, as default case. (func_mode_uninstall) [$name's extension != .lo|.la]: 'clean' mode must handle $file differently if it is a libtool wrapper script, or if it is a libtool wrapper executable. * tests/destdir.at [Simple DESTDIR install]: $EXEEXT fixups. * tests/destdir.at [DESTDIR with in-package deplibs]: Ditto. 2007-06-17 Noah Misch <noah@cs.caltech.edu> * AUTHORS: Add myself. 2007-06-17 Peter O'Gorman <peter@pogma.com> * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): add quotes to the test -n. 2007-06-17 Charles Wilson <libtool@cwilson.fastmail.fm> * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): ensure stderr is redirected even when getconf does not exist. 2007-06-09 Charles Wilson <libtool@cwilson.fastmail.fm> * libltdl/config/ltmain.m4sh (func_emit_libtool_wrapper_script): Take an argument to specify value assigned to WRAPPER_SCRIPT_BELONGS_IN_OBJDIR in the emitted script. (func_emit_libtool_cwrapperexe_source) [file scope]: define permission flags S_IXGRP and S_IXOTH if not already defined. (func_emit_libtool_cwrapperexe_source) [LTWRAPPER_DEBUGPRINTF]: Use C89-compatible syntax to mimic variadic macros. Adjust all callers. (func_emit_libtool_cwrapperexe_source) [check_executable]: avoid embedded #ifdefs; use S_IXGRP and S_IXOTH unconditionally. (func_emit_libtool_cwrapperexe_source) [make_executable]: ditto. (func_emit_libtool_cwrapperexe_source): don't rewrite WRAPPER_SCRIPT_BELONGS_IN_OBJDIR posthoc; instead pass correct argument when calling func_emit_libtool_wrapper_script. (func_mode_link): pass correct argument when calling func_emit_libtool_wrapper_script. 2007-06-07 Charles Wilson <libtool@cwilson.fastmail.fm> * libltdl/config/ltmain.m4sh (func_emit_libtool_cwrapperexe_source): ensure that generated source follows GCS as nearly as possible. 2007-06-07 Charles Wilson <libtool@cwilson.fastmail.fm> * libltdl/config/ltmain.m4sh (func_emit_libtool_wrapper_script): add code block to handle cases when wrapper script is in $objdir. (func_emit_libtool_cwrapperexe_source): replace DEBUG() macro with namespace-safe LTWRAPPER_DEBUGPRINTF(). Call func_emit_libtool_wrapper_script() with appropriate filters to embed script text in C char* static variable. (f_e_l_c_s: main): add new option --lt-dump-script, parse argv[] for it, and take appropriate action. Call chase_symlinks() on argv[0], in case this.exe was launched via one. Use chased value to determine full absolute pathname of wrapper script, in $objdir. Unconditionally write script out to this pathname and set permission bits. Remove extraneous ';' from debugging loop. (f_e_l_c_s: main) [mingw]: DOS-ize $SHELL before populating newargv[0]; if $TARGETSHELL environment variable is set, use it instead of $SHELL and do not DOS-ize. Ensure newargv[1] (wrapper script absolute path) uses only '/', not '\'. Make sure to call execv() with DOS-ized $SHELL (or un-DOS-ized $TARGETSHELL, if set) (f_e_l_c_s: make_executable): new function (f_e_l_c_s: chase_symlinks): new function (no-op if !S_ISLNK) 2007-06-03 Peter O'Gorman <peter@pogma.com> * libltdl/m4/libtool.m4 (old_archive_cmds): Remove old_deplibs. * tests/archive-in-archive.at: Check for archives as members of static archives. Currently XFAILS, above only eliminates one of the two static archives. * Makefile.am: Add test. Reported by Daniel Macks <dmacks@netspace.org> 2007-06-01 Steve Ellcey <sje@cup.hp.com> * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): Try using getconf to set lt_cv_sys_max_cmd_len. 2007-05-28 Peter O'Gorman <peter@pogma.com> * libltdl/config/ltmain.m4sh (func_mode_link), libltdl/m4/libtool.m4 [darwin]: Only use ${wl} in verstring with xlc. 2007-05-22 Gary V. Vaughan <gary@gnu.org> * tests/lt_dladvise.at: Use the lib prefix throughout for better portability - testing whether modules build and load without that prefix is not the domain of this test. Also, only run the test of the global hint with the depend module on hosts that can compile a module without passing -no-undefined in link mode. 2007-05-10 Noah Misch <noah@cs.caltech.edu> * tests/duplicate_deps.at: Make the XFAIL unconditional, but skip the test if the test link would succeed even without --preserve-dup-deps. * libltdl/config/general.m4sh (func_echo): Use $* instead of ${1+"$@"}. 2007-05-09 Eric Blake <ebb9@byu.net> * libltdl/libltdl/lt_error.h (LT_ERROR_LEN_MAX): Adjust, to fix buffer overflow in previous patch. 2007-05-09 Gary V. Vaughan <gary@gnu.org> * tests/lt_dladvise.at: Commit missing file from below. 2007-05-08 Gary V. Vaughan <gary@gnu.org> Without this patch, lt_dlopen always opens modules with symbol visibility set according to the underlying implementation. Here, we add lt_dlopenadvise() to allow callers to request, among other things, local or global symbol visibility from the underlying dlloader: * libltdl/ltdl.c (LT_DLRESIDENT_FLAG): Removed. (LT_DLIS_RESIDENT): Use public is_resident info field. (LT_DLIS_SYMLOCAL, LT_DLIS_SYMGLOBAL): New macros to test for module symbol visibility status. (tryall_dlopen): If vtable->module_open() was able to act on either is_symlocal or is_symglobal hints, store that in the handle flags. (lt_dlopenadvise): New function that works like lt_dlopen(), but accepts an advise type to determine whether to ask dlloaders to change default symbol visibility. (lt_dlopen, lt_dlopenext): Just call lt_dlopenadvise() with the correct parameters. (lt_dladvise_init, lt_dladvise_destroy): New functions to initialize and destroy an advise type hint. (lt_dladvise_ext, lt_dladvise_resident, lt_dladvise_local) (lt_dladvise_global): Set hints on an advise type. (openadvise): Factored out of lt_dlopenadvise. (has_library_ext): Factored out of lt_dlopenadvise. * libltdl/ltdl.h: Declare all of the above. (lt_dlinfo): New fields for advise hints. * libltdl/libltdl/lt_dlloader.h (lt_module_open): Add a new advise parameter. Adjust all callers. (lt_dladvise): New opaque type for advise hints. * libltdl/libltdl/lt__private.h (lt__advise): Declare contents of opaque lt_dladvise type. * libltdl/libltdl/lt_error.h (CONFLICTING_FLAGS): New error for attempts to have local and global symbol visibility at the same time. * libltdl/loaders/dld_link.c, libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c: Adjust. * libltdl/loaders/dlopen.c (RTLD_LOCAL, RTLD_GLOBAL): Try to define these symbols if the system has equivalents. (vmopen): If unable to act on a caller request to set symbol visibility, then unset the relevant hints in the advise type. * tests/lt_dladvise.at: New tests for the above. * doc/libtool.texi (Libltdl Interface): Updated. * NEWS: Updated. 2007-05-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_mode_link): When adding new_inherited_linker_flags to compiler_flags, remember to translate .ltframework back. Fixes bug introduced 2007-04-23. * THANKS: Update. * tests/inherited_flags.at: Amend test. Report by Christoph Egger. 2007-05-03 Reuben Thomas <rrt@sc3d.org> (tiny change) * doc/libtool.texi (Libltdl interface): Fix typo. 2007-05-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * Makefile.am (clean-ltmain-sh): Removed. (libtool, $(srcdir)/$(m4dir)/ltversion.m4) ($(srcdir)/$(auxdir)/ltmain.sh): Updated to not depend on any phony rules. Test `$?' for prerequisites that should always cause us to update the target. Fixes rebuilding rules, at the cost of sometimes updating too much with non-GNU make. 2007-04-27 Noah Misch <noah@cs.caltech.edu> * tests/ctor.at: New file. * Makefile.am (TESTSUITE_AT): Add tests/ctor.at. 2007-04-27 Charles Wilson <libtool@cwilson.fastmail.fm> * libltdl/libltdl/lt__glibc.h: Use !HAVE_WORKING_ARGZ instead of SYSTEM_ARGZ_IS_BROKEN. * libltdl/m4/argz.m4 (gl_FUNC_ARGZ): Ditto. Also, minor stylistic improvements. Report by Bruno Haible <bruno@clisp.org>. 2007-04-25 Charles Wilson <libtool@cwilson.fastmail.fm> Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/argz_.h: ensure error_t definition is obtained in same mechanism system argz.h would have. * libltdl/libltdl/lt__glibc.h: also detect if SYSTEM_ARGZ_IS_BROKEN when determining whether to re#def argz* functions. * libltdl/m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's argz facilities are known bad. Err on the side of caution if cross-compiling. 2007-04-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * README, README.alpha: Document how to test an arbitrary installed libtool script. 2007-04-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/cmdline_wrap.at: Avoid `AT_CAPTURE_FILE' if it not defined (Autoconf < 2.60). * tests/shlibpath.at: Add `libtool' keyword. * tests/indirect_deps.at: New file, with tests to ensure `link_all_deplibs=no' does not break functionality. * Makefile.am: Adjust. 2007-04-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_mode_link): Fix accumulation of `inherited_linker_flags' entries from multiple deplibs, by adding $new_inherited_linker_flags only once, only in link pass. * tests/inherited_flags: Amend test to expose this. * NEWS: Adjust: kill one regression, but add note about the feature new in 1.9b. Report by Jeff Squyres and others. 2007-04-23 Charles Wilson <libtool@cwilson.fastmail.fm> * libltdl/config/ltmain.m4sh (func_mode_link): move wrapper script generation from here... (func_emit_libtool_wrapper_script): to this new function, and write to stdout (func_mode_link): move cwrapper source code generation from here... (func_emit_libtool_cwrapperexe_source): to this new function, and write to stdout (func_mode_link): call the two new functions and redirect output to appropriate file. 2007-04-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_mode_link) <-no-install> [ darwin ]: Treat like `-no-fast-install', as we cannot hardcode. Report by Simon Josefsson. 2007-04-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * doc/libtool.texi (Link mode) <-no-install>: Mention that this still generates a wrapper script on systems without hardcoding. * tests/stresstest.at: Test `-no-install'. * THANKS: Update. Report by Simon Josefsson. 2007-03-30 Matthieu Herrb <matthieu.herrb@laas.fr> * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [ openbsd ]: Add an explicit check for shared libraries support. 2007-03-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * Makefile.am ($(srcdir)/$(m4dir)/ltversion.m4): Fix quoting error. 2007-03-28 Gary V. Vaughan <gary@gnu.org> * HACKING (Abstraction layers in libltdl): Rewritten somewhat for (hopefully) better clarity. 2007-03-26 Gary V. Vaughan <gary@gnu.org> The stamp-vcl file rules caused non-gnu make programs to rerun parts of the configuration process on each invocation. Instead of relying on a stamp file, we now compare version numbers of generated files with the ChangeLog timestamp manually in the affected make rules to decide whether regenerating is necessary: * Makefile.am (EXTRA_DIST): Remove stamp-vcl. (clean-ltmain-sh): Also remove users' obsolescent stamp-vcl. (rebuild): Keep some common code here for... (libtool, libltdl/m4/ltversion.m4, libltdl/config/ltmain.sh): Rewritten to work without reference to intermediate stamp-vcl file. * configure.ac (CONFIG_STATUS_DEPENDENCIES): Change from stamp-vcl to ChangeLog. * NEWS: Removed entry saying this fix is needed. 2007-03-25 Gary V. Vaughan <gary@gnu.org> * HACKING (LGPL with Libtool exception clause): Typo. Reported by Tim Van Holder <tim.van.holder@telenet.be> * HACKING (Licensing Rules): Explain the various license texts used for files distributed with Libtool, and update license text to match. * Makefile.am, Makefile.maint README, README.alpha, THANKS, TODO, bootstrap, clcommit.m4sh, configure.ac, libltdl/Makefile.inc, libltdl/README, libltdl/argz.c, libltdl/argz_.h, libltdl/config/general.m4sh, libltdl/config/getopt.m4sh, libltdl/config/ltmain.m4sh, libltdl/config/mailnotify.m4sh, libltdl/config/mkstamp, libltdl/configure.ac, libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h, libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h, libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c, libltdl/lt__alloc.c, libltdl/lt__dirent.c, libltdl/lt__strl.c, libltdl/lt_dlloader.c, libltdl/lt_error.c, libltdl/ltdl.c, libltdl/ltdl.h, libltdl/m4/argz.m4, libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4, libltdl/m4/ltoptions.m4, libltdl/m4/ltsugar.m4, libltdl/m4/ltversion.in, libltdl/m4/ltversion.m4, libltdl/m4/lt~obsolete.m4, libltdl/slist.c, libtoolize.m4sh, tests/am-subdir.at, tests/cdemo-conf.test, tests/cdemo-exec.test, tests/cdemo-make.test, tests/cdemo-shared.test, tests/cdemo-static.test, tests/cdemo-undef.test, tests/cdemo/Makefile.am, tests/cdemo/configure.ac, tests/cdemo/foo.c, tests/cdemo/foo.h, tests/cdemo/main.c, tests/cmdline_wrap.at, tests/convenience.at, tests/defs.m4sh, tests/demo-conf.test, tests/demo-deplibs.test, tests/demo-exec.test, tests/demo-hardcode.test, tests/demo-inst.test, tests/demo-make.test, tests/demo-nofast.test, tests/demo-noinst-link.test, tests/demo-nopic.test, tests/demo-pic.test, tests/demo-relink.test, tests/demo-shared.test, tests/demo-static.test, tests/demo-unst.test, tests/demo/Makefile.am, tests/demo/configure.ac, tests/demo/dlmain.c, tests/demo/foo.c, tests/demo/foo.h, tests/demo/hell1.c, tests/demo/hell2.c, tests/demo/hello.c, tests/demo/main.c, tests/depdemo-conf.test, tests/depdemo-exec.test, tests/depdemo-inst.test, tests/depdemo-make.test, tests/depdemo-nofast.test, tests/depdemo-relink.test, tests/depdemo-shared.test, tests/depdemo-static.test, tests/depdemo-unst.test, tests/depdemo/Makefile.am, tests/depdemo/configure.ac, tests/depdemo/l1/Makefile.am, tests/depdemo/l1/l1.c, tests/depdemo/l1/l1.h, tests/depdemo/l2/Makefile.am, tests/depdemo/l2/l2.c, tests/depdemo/l2/l2.h, tests/depdemo/l3/Makefile.am, tests/depdemo/l3/l3.c, tests/depdemo/l3/l3.h, tests/depdemo/l4/Makefile.am, tests/depdemo/l4/l4.c, tests/depdemo/l4/l4.h, tests/depdemo/main.c, tests/depdemo/sysdep.h, tests/deplibs-ident.at, tests/destdir.at, tests/duplicate_conv.at, tests/duplicate_deps.at, tests/duplicate_members.at, tests/early-libtool.at, tests/export.at, tests/f77demo-conf.test, tests/f77demo-exec.test, tests/f77demo-make.test, tests/f77demo-shared.test, tests/f77demo-static.test, tests/f77demo/Makefile.am, tests/f77demo/configure.ac, tests/f77demo/cprogram.c, tests/f77demo/foo.h, tests/f77demo/fooc.c, tests/fail.at, tests/fcdemo-conf.test, tests/fcdemo-exec.test, tests/fcdemo-make.test, tests/fcdemo-shared.test, tests/fcdemo-static.test, tests/fcdemo/Makefile.am, tests/fcdemo/configure.ac, tests/fcdemo/cprogram.c, tests/fcdemo/foo.h, tests/fcdemo/fooc.c, tests/inherited_flags.at, tests/libtoolize.at, tests/link-2.test, tests/link-order.at, tests/link-order2.at, tests/link.test, tests/lt_dlexit.at, tests/mdemo-conf.test, tests/mdemo-dryrun.test, tests/mdemo-exec.test, tests/mdemo-inst.test, tests/mdemo-make.test, tests/mdemo-shared.test, tests/mdemo-static.test, tests/mdemo-unst.test, tests/mdemo/Makefile.am, tests/mdemo/configure.ac, tests/mdemo/foo.h, tests/mdemo/foo1.c, tests/mdemo/foo2.c, tests/mdemo/main.c, tests/mdemo/mlib.c, tests/mdemo/sub.c, tests/mdemo2-conf.test, tests/mdemo2-exec.test, tests/mdemo2-make.test, tests/mdemo2/Makefile.am, tests/mdemo2/configure.ac, tests/mdemo2/main.c, tests/nomode.test, tests/nonrecursive.at, tests/objectlist.test, tests/old-m4-iface.at, tests/pdemo-conf.test, tests/pdemo-exec.test, tests/pdemo-inst.test, tests/pdemo-make.test, tests/pdemo/Makefile.am, tests/pdemo/configure.ac, tests/pdemo/foo.h, tests/pdemo/longer_file_name_dlmain.c, tests/pdemo/longer_file_name_foo.c, tests/pdemo/longer_file_name_foo2.c, tests/pdemo/longer_file_name_hell1.c, tests/pdemo/longer_file_name_hell2.c, tests/pdemo/longer_file_name_hello.c, tests/pdemo/longer_file_name_main.c, tests/quote.test, tests/recursive.at, tests/search-path.at, tests/sh.test, tests/shlibpath.at, tests/standalone.at, tests/static.at, tests/stresstest.at, tests/subproject.at, tests/suffix.test, tests/tagdemo-conf.test, tests/tagdemo-exec.test, tests/tagdemo-make.test, tests/tagdemo-shared.test, tests/tagdemo-static.test, tests/tagdemo-undef.test, tests/tagdemo/Makefile.am, tests/tagdemo/baz.cpp, tests/tagdemo/baz.h, tests/tagdemo/configure.ac, tests/tagdemo/conv.cpp, tests/tagdemo/conv.h, tests/tagdemo/foo.cpp, tests/tagdemo/foo.h, tests/tagdemo/main.cpp, tests/tagtrace.test, tests/template.at, tests/testsuite.at: Apply correct license text according to the new rules set out in HACKING. 2007-03-19 Gary V. Vaughan <gary@gnu.org> * libtoolize.m4sh: Handle argz.m4 specially like ltdl.m4, so that it isn't copied unless libltdl is being used. Copy other macro files according to their tagged serial numbers. * tests/libtoolize.at: Adjust. 2007-03-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/mdemo/Makefile.am (libmlib_la_LDFLAGS): Add `-export-symbols-regex ".*"' because the convenience libltdl uses export markers and thus turns off autoexport on w32. Fixes test failures for Cygwin and MinGW. Bug analysis by Charles Wilson. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG, _LT_SYS_HIDDEN_LIBDEPS) [ interix ]: When matching for interix, accept version range [3-9] instead of 3. * NEWS: Update. Report by Martin Koeppe <mkoeppe@gmx.de>. * libltdl/m4/libtool.m4 (LT_PROG_GCJ): Avoid M4 expansion error that caused `dnl' to be merged to the previous word. * THANKS: Update. Report by Steve Ellcey. 2007-03-09 Gary V. Vaughan <gary@gnu.org> * libtoolize.m4sh: Replace literal tab chars in help comment with spaces to align columns in --help output. 2007-03-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_mode_link): Also apply the symbol filtering for w32 and the include_expsyms feature in the case of exceeded command line length. Fixes test failure on MinGW. * tests/stresstest.at: For const data object imported from shared library, define appropriate macros to expand __declspec(dllimport) on w32. Use two different main objects and pick the right one for the link flags we are about to test. Fixes test failure on MinGW. * tests/export.at: For const data object imported from shared library, define appropriate macros to expand __declspec(dllimport) on w32. Fixes test failure on MinGW. 2007-03-05 Gary V. Vaughan <gary@gnu.org> * libtoolize.m4sh (func_check_macros): Display m4 quotes correctly in AC_CONFIG_MACRO_DIR diagnostics. * libltdl/config/general.m4sh (M4SH_VERBATIM): New macro to simplify m4sh quote quoting in blocks of raw shell code. * clcommit.m4sh, libtoolize.m4sh, libltdl/config/getopt.m4sh, libltdl/config/ltmain.m4sh, libltdl/config/mailnotify.m4sh, tests/defs.m4sh: Use it. * HACKING (Editing `.m4sh' Files): Mention M4SH_VERBATIM Macro. 2007-02-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/lt_dlexit.at: Allow test to pass on static-only systems and with disable-shared. * NEWS: Rewrite all news since 1.9f and put in categories, update. * libltdl/Makefile.inc: Fix the file description, so that it matches recursive and nonrecursive libltdl setup. * Makefile.am ($(srcdir)/libltdl/Makefile.am): Do not depend upon the exact text of the copyright header, just copy until the marker line. Remove the marker lines in the output, and adjust the description for subpackage setup. 2007-02-26 Gary V. Vaughan <gary@gnu.org> * Makefile.am ($(srcdir)/libltdl/Makefile.am): Fix regexp typo. * clcommit.m4sh: Look in the right directory for helper scripts. 2007-02-25 Gary V. Vaughan <gary@gnu.org> * Makefile.am ($(srcdir)/libltdl/Makefile.am): Fixup regex to match Copyright notice change below. * HACKING, Makefile.am, Makefile.maint, bootstrap, libltdl/Makefile.am, libltdl/Makefile.inc, libltdl/m4/libtool.m4, ltmain.c, tests/cdemo/Makefile.am, tests/demo/Makefile.am, tests/depdemo/Makefile.am, tests/depdemo/l1/Makefile.am, tests/depdemo/l2/Makefile.am, tests/depdemo/l3/Makefile.am, tests/depdemo/l4/Makefile.am, tests/f77demo/Makefile.am, tests/fcdemo/Makefile.am, tests/libtoolize.at, tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am: Update Copyright notice text to include URL for canonical GPL document. 2007-02-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/static.at: Forgot to fix PATH for the first func_test_exec invocation. So factor out into new functions func_fix_path and func_restore_path and use those. * README: Document the need for GNU make to build Libtool. Point the user to the doc/notes.txt file. In the examples, use `gmake' throughout to make it more obvious. Explain simpler way to run both testsuites and either one. Referring to individual tests needs the `tests/' prefix. * README.alpha: Likewise. * doc/notes.texi: Likewise, document need for GNU make. Comment out the FreeBSD make issue for now. * tests/static.at: Larger rewrite to make work on w32: Use three different prefixes instead of three libdirs, so the moving of the DLLs works as expected. Adjust all code. Since now $libdirI/../bin is distinct from the directory of the installed program, take care than on w32 PATH contains the needed bindirs, in appropriate order. Report by Charles Wilson. * Makefile.am (INSTALLCHECK_ENVIRONMENT): Point LTDLINCL and LIBLTDL to installed libltdl, so that it is being used by the lt_dlexit test. 2007-02-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * doc/libtool.texi (Install mode, libtool script contents): Describe current and system-specific DESTDIR limitations. * tests/destdir.at: XFAIL if `fast_install' is no. * doc/libtool.texi (LT_INIT): Fix typo. * doc/libtool.texi (Libtool test suite): Mention the new testsuite. Point to README rather than INSTALL for testing instructions. (Test descriptions): Fix more file names. Also mention cdemo-undef.test, mdemo2-conf.test, mdemo2-exec.test, mdemo2-make.test, objectlist.test, pdemo-conf.test, pdemo-exec.test, pdemo-inst.test, pdemo-make.test, tagdemo-conf.test, tagdemo-exec.test, tagdemo-make.test, tagdemo-static.test, tagdemo-shared.test, tagdemo-undef.test, f77demo-conf.test, f77demo-exec.test, f77demo-make.test, f77demo-static.test, f77demo-shared.test, fcdemo-conf.test, fcdemo-exec.test, fcdemo-make.test, fcdemo-static.test, fcdemo-shared.test. Describe what they do. (When tests fail, Troubleshooting): Mention how to pass options to the new test suite. * tests/tagdemo/README: Fix description. * bootstrap: Also set GREP, FGREP, EGREP, LN_S, when creating a preliminary ltmain.sh script. * doc/libtool.texi (Test descriptions): Track the grand test suite renaming from 2003-10-14 in the tests documentation. assign.test is merged into sh.test. Fix description of sh.test. * tests/sh.test: Likewise. * doc/libtool.texi (LT_INIT): Fix wording of intro a bit. <shared, static>: Also describe these default LT_INIT options. <AC_LIBTOOL_DLOPEN, AC_LIBTOOL_WIN32_DLL> <AC_DISABLE_FAST_INSTALL>: Mention deprecated macro names, including the respective LT_INIT replacement. <AC_DISABLE_SHARED, AC_DISABLE_STATIC, AC_ENABLE_SHARED> <AC_ENABLE_STATIC>: Document, un-deprecate. Suggest the respective LT_INIT replacement. <AM_DISABLE_SHARED, AM_DISABLE_STATIC, AM_ENABLE_SHARED> <AM_ENABLE_STATIC>: Document deprecated aliases. (Distributing libltdl) <AC_WITH_LTDL, AC_LIBLTDL_INSTALLABLE> <AC_LIBLTDL_CONVENIENCE>: Document deprecated aliases. * libltdl/m4/ltoptions.m4 (AM_ENABLE_SHARED, AM_DISABLE_SHARED) (AM_ENABLE_STATIC, AM_DISABLE_STATIC): Make these AU_ALIASes of the respective AC_* macros, so we do not recommend LT_INIT(*) in this case. (AC_ENABLE_SHARED, AC_DISABLE_SHARED, AC_ENABLE_STATIC) (AC_DISABLE_STATIC): Un-deprecate these. Remove now-superfluous aclocal-1.4 backwards compatibility comments. * tests/link-order2.at: Rewrite completely. Do not use `sin' from the math library, there are too many problems with this. Instead, use a self-written library, install it without the Libtool library file, to emulate a native library in a system directory, and adjust $shlibpat_var. Try overriding its symbol. Further, also try an installed `wrong' binary. Avoid failing test bits on AIX without runtimelinking and on Darwin in some cases, SKIP at the end in this case. Analysis by Peter O'Gorman. * doc/notes.texi: Mention MACOSX_DEPLOYMENT_TARGET issue. * tests/template.at: Only skip those tests failing on Darwin if `-flat_namespace' is used by libtool. In that case, SKIP at the end. Analysis by Peter O'Gorman. 2007-02-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix -export-symbols and -export-symbols-regex for links that exceed the command line length and use convenience archives. * libltdl/config/ltmain.m4sh (func_mode_link): Avoid grepping a nonexistent file if using reloadable objects. Do not create a linker script nor a linker input file if no objects are passed. Apply export_symbols_regex in case the command line length is exceeded. Report by Bob Friesenhahn. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) <compiler_needs_object>: New tag variable. Default to `no'. (_LT_LINKER_SHLIBS) [ linux ]: Set it to yes for Sun C 5.9. (_LT_LANG_CXX_CONFIG): Also default it to `no'. [ linux ]: Set it to `yes' for Sun C++ 5.9. * libltdl/config/ltmain.m4sh (func_mode_link): If we link no objects but only convenience archives into a library, force expansion if `compiler_needs_object' is yes. For creating a linker input filelist due to long cmdline, extract the first object if `compiler_needs_object' is yes. * doc/libtool.texi (libtool script contents): Document it. Fixes test failures of Sun compilers on GNU/Linux. Report by Terry D. Dontje. * libltdl/config/ltmain.m4sh (func_mode_link): Avoid setting `$libobjs' to a single space; set it to empty in that case. 2007-02-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_generate_dlsyms) [ osf5 ]: On Tru64 5.1, const relocations do not work well. Omit the const here. Fixes failure of demo-make after demo-shared with link editor error `seg_info_ptr: Couldnt find a seg type 2'. * Makefile.am (doc_libtool_TEXINFOS): Renamed from... (libtool_TEXINFOS): ...this, to fix dependencies. Omit from EXTRA_DIST. (check-local): Also depend upon $(bin_SCRIPTS). 2007-02-23 Ralf Menzel <menzel@ls6.cs.uni-dortmund.de> (tiny change) * libltdl/config/general.m4sh (sed_double_backslash): Fix hacky sed script to avoid limitations but retain portability to Solaris /bin/sed. Remove old obsolete cruft. 2007-02-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_mode_link): Fix the check for convenience archives when warning about linking against static libraries: test against $deplib rather than empty $lib. 2007-02-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/ltdl.m4 (LT_WITH_LTDL): Fix detection of new enough libltdl by actually checking for the declaration of lt_dlinterface_register in ltdl.h with AC_CHECK_DECL. Remove redundant configure output line. * tests/template.at: Reformat, add M4 quoting. Use $LDFLAGS consistently for link mode. 2007-02-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/static.at: Use the right names for the broken libs. 2007-02-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/deplibs-ident.at [aix, hppa*-*-hpux*, interix, openbsd]: Do not XFAIL, on these systems we happen to pass. * tests/duplicate_deps.at [aix]: Likewise. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux | k*bsd*-gnu ]: Fix eval quoting in the DT_RUNPATH test. * HACKING: Update. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ linux ] <whole_archive_flag_spec>: For Sun C/C++ 5.9, do not add /dev/null as dummy object, it fails with GNU ld version 2.16.91.0.7-amd-sles9. Report by Terry D. Dontje. * THANKS: Update. 2007-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ osf4, osf5 ] <archive_expsym_cmds>: Use `${wl}-input' not `-input', for cc. Could use `-input_to_ld'. (_LT_LANG_CXX_CONFIG) [ osf4, osf5 ] <archive_expsym_cmds>: Use `${wl}' instead of `-Wl,', for consistency. 2007-02-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix spurious testsuite failures on AIX due on NFS mounts due to shared library images that cannot be removed without `slibclean' which needs superuser privileges. * tests/testsuite.at (PREPARE_TESTS): Define $mkdir_p globally. (LT_AT_MVDIR): New macro to emulate `mv dir dest'. * tests/destdir.at: Use LT_AT_MVDIR. * tests/shlibpath.at: Likewise. * tests/static.at: Likewise. 2007-02-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/export.at: Exporting is not fully functional with -retain-symbols-file. Do not test for failure to link `broken' in this case. At the end of the test, SKIP if we are not fully functional. * tests/lt_dlexit.at: Add casts and `extern "C"' to let the test pass with a C++ compiler. * libltdl/config/ltmain.m4sh: Remove duplicate marker for generated shell functions. * tests/testsuite.at (LT_AT_NOINST_EXEC_CHECK): New macro, like LT_AT_EXEC_CHECK but uses `$LIBTOOL --mode=execute' and allows to pass `-dlopen MODULE' arguments. * tests/lt_dlexit.at: Use it. Also, do not test `-dlpreopen', that currently needs library names to begin with `lib'. 2007-02-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/export.at: New test: expose -export-symbols failure when the input consists solely of convenience archives, and failure to not export all symbols when the command line length is exceeded. * Makefile.am: Adjust. * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): New substituted function `func_lo2o', saving two fork&exec with XSI shells. * libltdl/config/ltmain.m4sh (func_mode_compile) (func_mode_install, func_mode_link): Use it for rewrites of single files. * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): New function func_opt_split, for XSI and portable shell. * libltdl/config/ltmain.m4sh: Move the insertion point for the configure-generated shell functions to before the first option parsing loop. Rewrite the separation of the long options to use func_opt_split. 2007-02-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Eliminate roughly a third of the script execution time overhead for all modes except for link/relink and uninstall/clean. * libltdl/m4/libtool.m4 (_LT_CONFIG): Remove unused `TEST SUITE MARKER', obsolete since 2005-04-17. * libltdl/config/ltmain.m4sh: Likewise, several instances. (Main): Tear apart, moving individual bits up as early in the script as possible, to help the shell to avoid parsing the rest. 2007-02-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * doc/libtool.texi: Update copyright years. 2007-02-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/general.m4sh (sed_double_backslash): Replace POSIX sed script with a hack that treats up to 10 backslashes in the input correctly and is portable to Solaris /bin/sed. 2007-02-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/testsuite.at (LT_AT_TAG): Skip also if the compiler variable is set to `no', not only if it is empty. 2007-02-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/lt_dlexit.at: Do not compile main object with libtool. * tests/cmdline_wrap.at: Pass $abs_top_srcdir and $abs_builddir to inner testsuite. * Makefile.am (TESTSUITE_AT): Move destdir.at after search-path.at so the banners fit better. * tests/convenience.at: Use $CPPFLAGS for compilation. * tests/deplibs-ident.at: Likewise. * tests/duplicate_members.at: Likewise. * tests/inherited_flags.at: Likewise. * tests/link-order.at: Likewise. * tests/stresstest.at: Likewise. * tests/early-libtool.at: Likewise. Do not quote $CC. * libltdl/ltdl.c (lt_dlexit): Add casts to fix compilation with C++ compiler again. * tests/destdir.at: Add `libtool' keyword to tests. 2007-02-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_COMPILER_BOILERPLATE) (_LT_LINKER_BOILERPLATE, _LT_SYS_MODULE_PATH_AIX) (_LT_COMPILER_C_O): Require _LT_DECL_SED. * THANKS: Update. Report by Maciej W. Rozycki. 2007-01-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/lt_dlexit.at: Use $abs_top_srcdir, not $top_srcdir, in the new testsuite. 2007-01-29 Samuel Thibault <samuel.thibault@ens-lyon.org> * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ gnu ] <archive_expsym_cmds>: Behave like Linux, so that --version-script is used for Hurd as well. 2007-01-28 Charles Wilson <libtool@cwilson.fastmail.fm> * NEWS: Update for Cygwin changes. 2007-01-28 Brian W. Barrett <bbarrett@lanl.gov> * libltdl/config/ltmain.m4sh [darwin]: Use otool64 if otool fails. 2007-01-28 Dave Brolley <brolley@redhat.com>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/ltdl.c (lt_dlexit): Make sure that 'cur' is not NULL before checking that it is still in the list. * tests/lt_dlexit.at: New test. * Makefile.am (TESTSUITE_AT): Adjust. (check-local): Also depend on libltdl/libltdlc.la. (check-recursive): Removed, unnecessary use of Automake internals. 2007-01-28 Mike Frysinger <vapier@gentoo.org> * libltdl/config/ltmain.m4sh (func_mode_link): Pass through `-p' and `-fprofile-*' for GCC. 2007-01-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/libltdl/lt_system.h: Adjust copyright years. 2007-01-28 Charles Wilson <libtool@cwilson.fastmail.fm> * libltdl/libltdl/lt__private.h (LT_GLOBAL_DATA) [__CYGWIN__]: Also define on Cygwin. * libltdl/libltdl/lt_system.h (LT_SCOPE) [__CYGWIN__]: Likewise. 2007-01-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ cygwin, mingw ] <export_symbols_cmds>: Avoid shell expansion of '/s/.*' through double expansion, in case there is a 'S:' drive. Report by Charles Wilson. 2007-01-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Introduce a new test keyword `recursive' for tests that create a modified `libtool' script and run the suite on this script. All tests with the keyword `libtool' are (by definition) suitable to be used here. * tests/cmdline_wrap.at: New test. * Makefile.am: Adjust. * tests/testsuite.at (LT_ESCAPE): New macro: clone of Autoconf AS_ESCAPE that does not escape `$'. (LT_AT_CHECK): New macro: print a command-to-be-run while expanding parameters but nothing else. * tests/stresstest.at: Use LT_AT_CHECK. Create some files to expose erroneous globbing errors with `-export-symbols-regex', similar to those reported by Charles Wilson. Use `eval' and adjusted quoting so the expansion doesn't already happen in the testsuite commands. * HACKING: Update. 2007-01-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Assume C89 for included headers, and throughout the testsuite. * NEWS: Update. * libltdl/argz.c: Do not include strings.h nor memory.h, include string.h unconditionally. Patch by Simon Josefsson <jas@extundo.com>. * libltdl/libltdl/lt__private.h: Likewise. * libltdl/m4/ltdl.m4 (LTDL_INIT): Do not check for string.h, strings.h, memory.h. * tests/cdemo/configure.ac: Assume presence of math.h. * tests/cdemo/foo.c: Likewise. * tests/demo/configure.ac: Likewise for math.h, string.h. Assume 'const'. Drop obsolete AC_EXEEXT. * tests/demo/dlmain.c: Likewise. * tests/demo/foo.c: Likewise. * tests/depdemo/configure.ac: Likewise. * tests/depdemo/l4/l4.c: Likewise. * tests/f77demo/configure.ac: Likewise. Also drop obsolete AC_OBJEXT. * tests/fcdemo/configure.ac: Likewise. * tests/mdemo/configure.ac: Likewise. * tests/mdemo/foo1.c: Likewise. * tests/mdemo/foo2.c: Likewise. * tests/mdemo2/configure.ac: Likewise. * tests/pdemo/configure.ac: Likewise. * tests/pdemo/longer_file_name_dlmain.c: * tests/pdemo/longer_file_name_foo.c: Likewise. * tests/pdemo/longer_file_name_foo2.c: Likewise. * tests/tagdemo/configure.ac: Likewise. * tests/tagdemo/foo.cpp: Likewise. 2007-01-24 Reuben Thomas <rrt@sc3d.org> (tiny change) * doc/libtool.texi (Inter-library dependencies): Fix typo. 2007-01-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw]: Use `lib -OUT' rather than `lib /OUT' to avoid MSYS path translation mangling. Report by Christopher Hulbert. * THANKS: Update. * libltdl/config/ltmain.m4sh (func_mode_compile): Accept suffixes matching `[fF][09].', for Fortran. * tests/suffix.test: Also test F90, F95, f03, F03. * Makefile.am (EXTRA_DIST): Add ChangeLog.2006. * ChangeLog.2006: New, rotated, from... * ChangeLog: ...here. 2007-01-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * doc/libtool.texi: Typo fixes. * TODO: Likewise. 2006-12-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/link-order2.at: Define our override `sin' function with C binding even if $CC is a C++ compiler. Skip the test with g++ as its command line driver reorders `-lm'. * tests/search-path.at: Declare `inflate' with C binding. * tests/stresstest.at: Avoid unused variable warnings. 2006-11-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/link-order2.at: Simplify logic to be a bit more self documenting. Suggested by Gary V. Vaughan. 2006-10-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/link-order2.at: Add missing $bindir setting. Prevent compiler optimization of sqrt call. Fix logic inversion and add some comments about this stunt. Add a test with reversed library link order that should fail if the system has a libm. Report by Patrick Welche. 2006-10-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Assume presence of a config header in all files, to provoke test failures on all systems. * libltdl/lt__alloc.c: Likewise. * libltdl/libltdl/lt__dirent.h: Likewise. * libltdl/libltdl/lt__glibc.h: Likewise. * libltdl/libltdl/lt__private.h: Likewise. * libltdl/libltdl/lt__strl.h: Likewise. * tests/recursive.at: Use AC_CONFIG_HEADERS. * tests/nonrecursive.at: Likewise. Invoke autoheader. * HACKING: Adjust. Report by Patrick Welche. 2006-10-24 Paul Eggert <eggert@cs.ucla.edu>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * doc/libtool.texi (Distributing libltdl): In recursive and nonrecursive mode, a config header is now required. * libltdl/argz.c: Remove check for HAVE_CONFIG_H, to conform to gnulib's policy of including config.h unconditionally. 2006-10-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/link-order2.at: New test to show one case where ordering of depdepls on the command line matters. * Makefile.am: Adjust. * tests/tagtrace.test: SKIP if `autoconf --trace' exits 63 or 1, for various possible (valid) error cases. Also output stderr, to help with analysis. * NEWS: Account for recent multilib fix. * tests/search-path.at: New test, to provide at least a weak test. * Makefile.am: Update. * libtoolize.m4sh (func_fixup_Makefile): Fix missing substitution for nonrecursive mode. Remove otherwise-empty continuation lines in the output file. Report by Bob Friesenhahn. 2006-10-22 Peter O'Gorman <peter@pogma.com> * libltdl/config/ltmain.m4sh: Add -F* to flags that are passed to the linker. Reported by SIGOURE Benoit <sigoure.benoit@lrde.epita.fr> 2006-10-19 Peter O'Gorman <peter@pogma.com> * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Improve multilib support. Reported by Kate Minola <kate01123@gmail.com> and others. 2006-10-13 Eric Blake <ebb9@byu.net> * libltdl/ltdl.c (load_deplibs): Avoid memory leak on failure. (unload_deplibs): Avoid memory leak on cleanup. 2006-09-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (func_mode_compile): Accept files with extension `.f9?'. * tests/suffix.test: Test `f95'. * libltdl/config/ltmain.m4sh (func_mode_uninstall): Use `func_source' consistently. 2006-09-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ] [k*bsd*-gnu ]: Fix brown paper bag: save and restore `libdir'. 2006-09-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/duplicate_deps.at: New file. Test circular depending convenience archives (currently failing). * Makefile.am: Update. Report by Stefan Traby <stefan@hello-penguin.com>. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [ openbsd ]: Set `hardcode_direct_absolute', to prefer rpath over putting absolute file names in NEEDED entries. * NEWS: Update. Reported by Jake Meuser and others. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ] [ k*bsd*-gnu ]: Test if ld sets DT_RUNPATH; in that case, set shlib_overrides_runpath to `yes'. Fixes test failure of new test on Gentoo GNU/Linux. * tests/shlibpath.at: New file, with... (shlibpath_overrides_runpath): ...new test. * Makefile.am: Update. 2006-09-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/destdir.at: New file. * Makefile.am: Adjust. 2006-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/inherited_flags.at: Drop `${parameter}' for `$parameter' where appropriate, for improved `testsuite -x' output. 2006-09-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/ltdl.c: Move LT__UNUSED before parameter name, for g++ 3.2.3 (on MinGW). * libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c: Likewise. 2006-09-04 George Bosilca <bosilca@cs.utk.edu> and Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Make libltdl work when compiled with a C++ compiler. * libltdl/lt__alloc.c, libltdl/lt_dlloader.c, libltdl/ltdl.c, libltdl/slist.c, libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt_error.h, libltdl/libltdl/slist.h, libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c, tests/stresstest.at, tests/testsuite.at, tests/f77demo/foo.h, tests/fcdemo/foo.h, tests/mdemo/foo.h, tests/mdemo/foo1.c, tests/mdemo/foo2.c, tests/mdemo/main.c: Allow sources to be compiled by a C++ compiler: Cast appropriately, add C linkage for `get_vtable' functions, do not use C++ keyword `delete'. * libltdl/config/ltmain.m4sh (func_mode_link): In the dlsym file, define a type for the symbol list, and declare the list `extern', so that it is extern even if compiled by a C++ compiler. The type definition helps avoid a compiler warning against anonymous extern struct. * libltdl/libltdl/lt_system.h: Add `extern' to `LT_SCOPE' for the same reason. * libltdl/argz_.h: It's __cplusplus, not _cplusplus. * libltdl/libltdl/slist.h: Likewise. * libltdl/libltdl/lt__glibc.h: Wrap included argz.h in `extern "C"', for broken headers on Cygwin. 2006-09-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/testsuite.at: Test `unset' on a set variable; older bash versions return 1 if the variable was not set. * tests/am-subdir.at, tests/early-libtool.at: Fix the LF vs. CRLF related failures on MinGW by grepping for good output instead of using AT_CHECK's `expout'. 2006-09-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Drop K&R support from testsuite in favor of C89. * tests/duplicate_members.at: provide declarations of used functions. * tests/testsuite.at: Drop unneeded arguments. * tests/cdemo/main.c: Assume C89. * tests/demo/dlmain.c: Likewise. * tests/demo/main.c: Likewise. * tests/depdemo/main.c: Likewise. * tests/depdemo/l1/l1.c: Likewise. * tests/depdemo/l2/l2.c: Likewise. * tests/depdemo/l3/l3.c: Likewise. * tests/depdemo/l4/l4.c: Likewise. * tests/f77demo/cprogram.c: Likewise. * tests/fcdemo/cprogram.c: Likewise. * tests/mdemo/mlib.c: Likewise. * tests/mdemo2/main.c: Likewise. * tests/pdemo/longer_file_name_dlmain.c: Likewise. * tests/pdemo/longer_file_name_main.c: Likewise. * tests/fcdemo/fooc.c: Reformat. * tests/mdemo/sub.c: Likewise. 2006-08-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/mdemo/main.c: Fix bogus line in last patch. 2006-08-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Avoid mixing functions and data pointers in callback functions. * libltdl/ltdl.c (file_worker_func): New type. (lt_dlforeachfile): Instead of passing a function pointer as a data pointer, pass a pointer to a file_worker_func pointer. (foreach_callback_func): Adjust. * tests/mdemo/main.c: Assume C89. Exercise lt_dlforeachfile. (callback, try_iterate, my_dirname): New functions. * tests/mdemo-exec.test: Check for its output. 2006-08-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/libltdl/lt__private.h (__attribute__, LT__UNUSED): New macros. * libltdl/loaders/dld_link.c: Use LT__UNUSED where appropriate. * libltdl/loaders/dlopen.c, libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c: Likewise. * libltdl/ltdl.c: Likewise. (find_file_callback): Fix declaration names to match definition. (load_deplibs) [!LTDL_DLOPEN_DEPLIBS]: Use separate definition for less preprocessor clutter. * Makefile.am (check-local, installcheck-local): Use `TESTSUITEFLAGS' rather than `TESTSUITE_FLAGS', like Autoconf. * HACKING, README, README.alpha: All uses changed. 2006-08-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code sharing with gnulib. Report by Eric Blake. * libltdl/lt__alloc.c, libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h: Likewise. * HACKING: Update. 2006-08-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_mode_link): Pass through `--coverage' and `-pg', for GCC. Report by Rainer Keller <keller@hlrs.de> and Tor Lillqvist <tml@iki.fi>. 2006-08-25 Kurt Roeckx <kurt@roeckx.be>, Aurelien Jarno <aurel32@debian.org> * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG) [k*bsd*-gnu]: kfreebsd*-gnu and knetbsd*-gnu behave like linux-gnu. * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Likewise. * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK) [x86_64-*kfreebsd*-gnu]: Add 32/64 bit bi-arch support. * NEWS: Update. 2006-08-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD) [ mingw,pw32 ]: If `file' is present, use `func_win32_libid' rather than `objdump -f', to facilitate cross-compilation. Reported by Pierre Ossman <ossman@cendio.se>. 2006-08-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_mode_link): In GNU ld script, do not quote object file names, for Intel icc 9.0 IPO link. 2006-08-22 Eric Blake <ebb9@byu.net> * libltdl/m4/ltdl.m4 (LTDL_INIT): Avoid macros marked obsolete in latest autoconf. * libltdl/m4/libtool.m4 (_lt_cv_sys_global_symbol_pipe): Work in spite of -Wmissing-prototypes. * libltdl/libltdl/lt__dirent.h: Rewrite to accomodate loss of AC_HEADER_DIRENT. * libltdl/m4/libtool.m4: Avoid space-tab. 2006-08-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_mode_execute): Also search the directory above `$objdir' for the argument of "-dlopen", as mentioned in the error message. 2006-08-03 Ralf Menzel <menzel@ls6.cs.uni-dortmund.de> * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Fix issues with previous patch. for ... do' line is superflous. Need _LT_TAGVAR not _LT_AC_TAGVAR, should be for both linux and solaris with Sun compiler. 2006-08-01 Albert Chin <china@thewrittenword.com> * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS) [ solaris ]: Don't set $postdeps to "-lCstd -lCrun" if "-library=stlport4" set in CXXFLAGS as stlport4 C++ library incompatible with Cstd C++ library. Use '-library=Cstd -library=Crun' instead of '-lCstd -lCrun'. 2006-07-28 Eric Blake <ebb9@byu.net> * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD, LT_OUTPUT): s/recognise/recognize/. 2006-07-22 Eric Blake <ebb9@byu.net> * libltdl/ltdl.c (loader_init_callback) [HAVE_LIBDLLOADER]: Protect definition to avoid compiler warnings about unused function. 2006-07-21 Eric Blake <ebb9@byu.net> * libltdl/m4/ltdl.m4 (LT_LIB_DLLOAD): Search for dlopen without depending on -ldl, required by cygwin 1.5.20. 2006-06-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_COMPILER_BOILERPLATE) ( _LT_LINKER_BOILERPLATE): Rewrite to not use unchecked `printf', for old systems like SunOS 4.1. (_LT_COMPILER_OPTION, _LT_LINKER_OPTION) (_LT_COMPILER_C_O, _LT_LINKER_SHLIBS): Likewise. (_LT_LANG_C_CONFIG): Adjust: use literal newlines in `lt_simple_compile_test_code' and `lt_simple_link_test_code'. (_LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG) (_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Likewise. Bug report by Bruce Becker and Mark Andrews. 2006-06-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix the bugs where libtoolize needs to use `dir/file' instead of `./dir/file', where ltdldir is `.', so that libtoolize correctly checks for (and suggests) `config' and `m4' instead of `./config' and `./m4' as auxiliary resp. macro directories. The change is necessary for unambiguous naming, the chosen way plays better with non-GNU make in VPATH builds. * libtoolize.m4sh (ltdlprefix): New variable, to use as prefix instead of `$ltdldir/'. (func_check_macros): Use it. Bug report by Eric Blake. 2006-06-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix several libtoolize-related bugs: - Do not symlink aclocal.m4, to work around a bug in aclocal overwriting the linked-to file instead of removing the symlink. - Have `libtoolize --copy' cause current time stamps, so that dependents will be rebuilt; for this, install files in order. - Fix list of distribution files for (non)recursive libltdl. - Fix some failure cases. * libtoolize.m4sh (func_copy_cb): If `$opt_link', still copy `aclocal.m4', so a subsequent `aclocal' will not overwrite the symlink target. In `--copy' mode, do `cp -p' and `touch' for each file, so timestamps are updated but permissions preserved. (main): Reorder installing of files to match logical order and timestamp requirements. (func_fixup_Makefile_inc): Renamed to (func_fixup_Makefile): this. Add sed scriptlet to remove non-existent files from EXTRA_DIST, for either nonrecursive or recursive mode. (main): call it to mangle also in recursive mode. * tests/libtoolize.at (expout): Adjusted. * tests/testsuite.at (tst_dist): Default to `dist'. 2006-06-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix libltdl to always have all generated files up to date. * Makefile.am (all-local): Depend on all generated files in libltdl, namely... (libltdl/aclocal.m4, libltdl/configure, libltdl/config-h.in): ...these. List explicitly, including dependencies and rebuilding rules, using... (sub_aclocal_m4_deps, sub_configure_deps): ...these new variables. Report by Dan Lacher <Dan.Lacher@Sun.Com>. 2006-06-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * Makefile.am (install-data-local): Do not use $(INSTALL_DATA) from another directory: it may use a relative path to `install-sh'. Bug report by Dan Lacher <Daniel.Lacher@Sun.COM>. 2006-06-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_mode_link): Honor `-threads', similar to `-mt'. Report by Eric Paire <eric.paire@st.com>. 2006-06-01 Charles Wilson <libtool@cwilson.fastmail.fm> * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ cygwin ]: define DLL_EXPORT for PIC objects on cygwin. 2006-05-24 Albert Chin <china@thewrittenword.com> * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [ aix4*, aix5*, hpux10*, hpux11* ]: Set hardcode_direct_absolute for CXX tag too! 2006-05-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_mode_link, shell wrapper): Do not put `"$@"' in argument to $ECHO. 2006-05-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4: Bump serial, necessary because of _LT_CHECK_SHELL_FEATURES changes. 2006-05-18 Albert Chin-A-Young <china@thewrittenword.com> * tests/early-libtool.at: Pass $CPPFLAGS and $CFLAGS to compiler when compiling for extra flags that might be needed for ANSI-compliance, 64-bit, etc. The environment we compile with should match the environment libtool was compiled with. 2006-05-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix mode=compile time regression of CVS HEAD over branch-1-5. * libltdl/m4/libtool.m4 (_LT_CHECK_XSI_SHELL): Rename to... (_LT_CHECK_SHELL_FEATURES): ...this. (_LT_SETUP): Adjust caller. (_LT_CHECK_XSI_SHELL): New libtool variables `lt_unset', `SP2NL', `NL2SP', to contain results from tests for unset, taken from AS_BOURNE_COMPATIBLE, and ASCII vs EBCDIC, taken... * libltdl/config/general.m4sh: ...from here, and used... * libltdl/config/ltmain.m4sh: ...here everywhere now. * (AS_SHELL_SANITIZE): Replace by faster, actually necessary part of its expansion, taken from current Autoconf CVS. Do not save and set all locale variables any more, but only LANG, LC_ALL, LC_CTYPE, LC_COLLATE, LC_MESSAGES. (func_mode_execute): Adjust. * libltdl/m4/libtool.m4 (_LT_CONFIG): No need to unset CDPATH here any more. * libtoolize.m4sh: Compute `SP2NL' and `NL2SP' here, too. 2006-05-17 Gary V. Vaughan <gary@gnu.org> * libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG), tests/link-order.at [ aix4*, aix5*, hpux10*, hpux11* ]: rename hardcode_direct_static to hardcode_direct_absolute. * doc/libtool.texi (libtool script contents): Adjust. * libltdl/ltdl.c (lt_dlhandle_fetch): Arguments to lt_dlhandle_iterate were in the wrong order. 2006-05-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_LINKER_OPTION): Require _LT_DECL_SED. (_LT_CMD_GLOBAL_SYMBOLS, _LT_LINKER_SHLIBS): Likewise. * libltdl/m4/ltdl.m4 (LTDL_INIT): Likewise. (_LT_DECL_SED): Set $Xsed here, using $SED. Moved from... (_LT_SETUP): ...here. Report by Eric Blake. 2006-05-17 Gary V. Vaughan <gary@gnu.org> * doc/libtool.texi (libtool script contents): Document new hardcode_direct_static variable. * tests/link-order.at: Be careful about usage of shrext_cmds. * libltdl/m4/libtool.m4 (LT_AC_PROG_SED): Declarations for compatibility with old versions of libtool, and old versions of aclocal. 2006-05-17 Albert Chin-A-Young <china@thewrittenword.com> * libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG) [ aix4*, aix5*, hpux10*, hpux11* ]: Introduce a new variable, hardcode_direct_static, which would ignore hardcode_direct=yes if the result would create a static library dependency. Static library dependencies are immune to $shlibpath_var. * tests/link-order.at: Take hardcode_direct and hardcode_direct_static into consideration when testing link order. 2006-05-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Eliminate quadratic scaling in argument parsing loop, for shells that understand `var+=value', such as Bash-3.1, or Zsh. * libltdl/m4/libtool.m4 (_LT_CHECK_XSI_SHELL): Test whether the shell understands `var+=value'. (_LT_PROG_XSI_SHELLFNS): Define `func_append' based on this. * config/ltmain.m4sh (func_mode_link): Use `func_append' for compile_command, finalize_command, libtool_args, libobjs, non_pic_objects. 2006-05-15 Bruno Haible <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG, _LT_SYS_HIDDEN_LIBDEPS) [ linux ]: Add support for Sun C 5.9, Sun C++ 5.9, and Sun Fortran 8.3 on GNU/Linux. * NEWS: Update. 2006-05-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * Makefile.am (check-local): Move `$(TESTS_ENVIRONMENT)' and `$(BUILDCHECK_ENVIRONMENT)' to be arguments of `testsuite', so that reruns will remember it; set enviroment variable `CONFIG_SHELL' so the suite will know which shell it was started with. (installcheck-local): Likewise, for `$(TESTS_ENVIRONMENT)' and `$(INSTALLCHECK_ENVIRONMENT)'. * tests/testsuite.at (LT_AT_TAG): Do not set the compiler variable here. 2006-05-14 Albert Chin-A-Young <china@thewrittenword.com> * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [ aix ]: $hardcode_direct is set twice. 2005-05-14 John Bowler <jbowler@acm.org> * libltdl/config/ltmain.m4sh (func_mode_link): For version_type `none', we still need to set `current', `age', and `revision', so that our checks don't barf. The values won't be used later. Apparently reported by several people, several times, for BeOS. * NEWS, THANKS: Update. 2006-05-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/fail.at: Use "test -x" if available, for testing of executables; code modified from Autoconf's AS_EXECUTABLE_P. Reported by Albert Chin <china@thewrittenword.com>. 2006-04-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_write_libtool_object): New function, factored out from.. (func_mode_compile): .. here. Call it to generate the libtool object file (the `.lo' file) in one step. 2006-04-03 Peter O'Gorman <peter@pogma.com> * libltdl/loaders/preopen.c: Don't allow lt_dlopen if the module has no symbols. 2006-03-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]: Avoid warning when "parsing" `/etc/ld.so.conf' and empty `/etc/ld.so.conf.d'. Reported by Orion Poplawski <orion@cora.nwra.com>. 2006-03-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * bootstrap: Actually use the correct version of the last patch. 2006-03-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * bootstrap: Enable `WORKING_LIBOBJ_SUPPORT' if we detect Autoconf-2.60+ and Automake-1.10+, or CVS versions. * libltdl/m4/argz.m4 (gl_FUNC_ARGZ): Sync with gnulib: If we define `error_t', also define `__error_t_defined', so argp.h will not typedef the former. 2006-03-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS) [ freebsd ] [ dragonfly ]: Set libltdl_cv_sys_dlopen_deplibs to yes. Fixes excessive lt_dlopen times on these systems. * NEWS, THANKS: Update. Bug reported by Peter Jeremy <peterjeremy@optushome.com.au>, patch by Joerg Sonnenberger <joerg@netbsd.org>. 2006-03-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/static.at: New tests for comprehensive test exposure of all current and proposed static linking flags for programs. * Makefile.am: Updated. * libltdl/config/ltmain.m4sh (func_mode_link) < -static-libtool-libs >: New option. * doc/libtool.texi (Link mode, Distributing libltdl): Document it. Suggested by Gary Kumfert <kumfert@llnl.gov>. 2006-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/tagdemo/foo.cpp, tests/tagdemo/main.cpp [ hpux ] <aCC>: The HPPA C++ compiler has namespace support but provides no `std' namespace; just provide it with a dummy. * libltdl/m4/libtool.m4 (AC_PROG_SED): Do not forget to reset IFS even in case of empty `$PATH'. 2006-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_mode_link): Comment out the code to remove uninstalled paths, as it is wrong here. Change the wrong shell quoting that kept it from "working" before. * THANKS: Updated. * libltdl/m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [ freebsd, dragonfly ]: Fix 1.5.22 regression caused by too strict $host_os match that stopped DragonFly from working. * THANKS: Updated. Reported by Jeremy C. Reed <reed@reedmedia.net>, patch by Todd Vierling <tv@duh.org>. 2006-02-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (startup): save all locale specific environment, variables:, LANG, LANGUAGE, LC_ADDRESS, LC_ALL LC_COLLATE, LC_CTYPE, LC_IDENTIFICATION, LC_MEASUREMENT, LC_MESSAGES LC_MONETARY, LC_NAME, LC_NUMERIC, LC_PAPER, LC_TELEPHONE, LC_TIME. (func_mode_execute): Restore them. 2006-02-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * doc/libtool.texi (Tags): Mention `FC'. (libtool script contents) <CC>: Specify more precisely as the compiler of the current tag. <LTCC, LTCFLAGS, build, build_alias, build_os, host_alias, host_os, macro_version, macro_revision, max_cmd_len>: Document these variables. 2006-02-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * doc/libtool.texi: Update copyright years. * libltdl/config/getopt.m4sh (func_help): Substitute `$host'. * libltdl/config/ltmain.m4sh (help message): Use $host not @host_triplet@, as the `@..@' substitution is done at bootstrap time already. Reported by Julien Lecomte <julien@famille-lecomte.net>. * doc/libtool.texi (Implementation issues): Note that both prefix and suffix of a library may differ. (Using libtool, Creating object files, Linking libraries): Remove last documentation traces of the age when `foo.lo' was the PIC object file and not the `libtool object' text file. (libtool script contents) <compiler_o_lo>: Remove description of this variable. It was removed from libtool in 1.5 times. 2006-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_mode_link) [ linux ]: PGI: for `reload_cmds', we not only need to get rid of `$wl', but also turn comma into space so $LD understands whole_archive_flag_spec correctly. * libltdl/config/ltmain.m4sh (func_mode_link) <shell wrapper>: Add _AS_BOURNE_COMPATIBLE code from Autoconf, to fix issues with zsh and other shells. Reported by David Gómez Espinosa <david@pleyades.net>. 2006-02-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (AC_PROG_SED): m4_defun this rather than AC_DEFUN, so that old aclocal does not pick this up. * Makefile.am ($(TESTSUITE)): Also depend on `Makefile.am'. Write to temporary file and rename. 2006-02-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * Makefile.am (EXTRA_DIST): Add `$(srcdir)/' to all generated files so that non-GNU make programs will use the rebuilding rules. * tests/testsuite.at: Add new keyword `libtoolize' for tests that exercise the `libtoolize' script that is generated at build time. * HACKING: Update testsuite mention, explain keywords. * libltdl/config/ltmain.m4sh (extracted_archives) (extracted_serial): New globals. (func_extract_archives): Use them to rename extraction archives for linking against multiple convenience libraries with the same name. * tests/duplicate_conv.at: New tests. * Makefile.am: Adjusted. Reported by Carlo Contavalli <ccontavalli@commedia.it>. * libltdl/config/ltmain.m4sh (func_mode_link) < test_compile >: Fix a couple of instances where `test .. -ne ..' would possibly compare non-numbers. Clean up a bit. * tests/convenience.at, tests/deplibs-ident.at: Add new keyword `libtool' for tests that exercise the unmodified `libtool' script that is generated at build time. * tests/duplicate_members.at, tests/fail.at: Likewise. * tests/inherited_flags.at, tests/link-order.at: Likewise. * tests/stresstest.at, tests/template.at: Likewise. 2006-02-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/fail.at: Also pass a bogus object file to the linker so it fails more reliably; AIX and IRIX linkers ignore duplicate symbol definitions. * libltdl/m4/libtool.m4 [ solaris ] (_LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG) < whole_archive_flag_spec >: Fix this once and for all, for both the SUN compiler suite (cc/CC/f77/f90/f95) and GCC. Reported by Yuri Pukhalsky <pooh@cryptopro.ru>. * tests/cdemo/Makefile.am: Remove broken use of undocumented Automake variable `$(OBJECTS)'. * tests/demo/Makefile.am, tests/depdemo/Makefile.am: Likewise. * tests/f77demo/Makefile.am, tests/fcdemo/Makefile.am: Likewise. * tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am: Likewise. * tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am: Likewise. * libltdl/config/ltmain.m4sh (func_mode_link): Fix logic for adding run paths to also add paths for installed libtool libraries in case `-static' is used. 2006-02-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * Makefile.am (TESTSUITE_AT): List testsuite files in the order in which they are to be expanded in the suite. (tests/TESTSUITE): Rebuild by passing all $(TESTSUITE_AT) files, with their path suitably adjusted. This enables us to.. * tests/testsuite.at: ..get rid of their redundant mention here. 2006-01-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * doc/libtool.texi (titlepage): Remove superfluous word. * libltdl/config/ltmain.m4sh (func_mode_link): Fix matching duplicate run path entries with the correct separator. * tests/testsuite.at (PREPARE_TESTS): Escape `^' for some older shells. * ChangeLog, HACKING, README, README.alpha, libltdl/config/ltmain.m4sh: Add vi(m) modelines, to match emacs formatting variables. 2006-01-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * Makefile.am (libltdl/Makefile.am): Fixup sed script. Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us>. 2006-01-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * Makefile.am, bootstrap, clcommit.m4sh, libltdl/config/getopt.m4sh, libltdl/config/mailnotify.m4sh, tests/sh.test, tests/testsuite.at: Bump copyright years. 2006-01-21 Eric Blake <ebb9@byu.net> * THANKS: Move myself to contributor. 2006-01-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * bootstrap: Don't use semicolons inside { } in sed scripts, as Posix says it's not portable. * Makefile.am (libltdl/Makefile.am): Likewise. * libtoolize.m4sh (all over the map): Likewise. * libltdl/config/getopt.m4sh (func_version, func_usage) (func_help): Likewise. * libltdl/config/ltmain.m4sh (func_win32_libid): Likewise. * libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Likewise. * clcommit.m4sh, libltdl/config/mailnotify.m4sh: Likewise. * tests/sh.test, tests/testsuite.at (LT_AT_TAG): Likewise. Noted by Paul Eggert <eggert@cs.ucla.edu>. * libltdl/config/ltmain.m4sh (func_mode_compile): Also transform `.obj' correctly. Reported by George Bosilca <bosilca@cs.utk.edu>. 2006-01-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC): Fix my forward port error of last commit. 2006-01-12 Leif Ekblad <leif@rdos.net> * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC): Added support for RDOS. * NEWS: Updated. 2006-01-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libtoolize.m4sh, libltdl/config/general.m4sh, libltdl/config/getopt.m4sh, libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4: Bump copyright years. 2006-01-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * Makefile.am (EXTRA_DIST): Add ChangeLog.2005. * README, README.alpha: Adjust copyright years. * ChangeLog.2005: New, rotated, from.. * ChangeLog: ..here. 2005-12-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * Makefile.am (libtoolize): Also depend on `config.status'. (tests/atconfig): Normalize path, for non-GNU make. Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us>. * libltdl/config/ltmain.m4sh (func_mode_link) <temp_rpath>: Fix position of separator for shlibpath_var setting in shell wrapper. * libltdl/lt_error.c (error_strings): Remove parentheses around string literal initializers, uncovered by `tcc'. Reported by Edward Chernenko <edwardspec@yahoo.com>. 2005-12-21 Gary V. Vaughan <gary@gnu.org> * .cvsignore, libltdl/.cvsignore, tests/.cvsignore: Ignore +build, +dest, +inst, .cvslog-tlasync, .gdb_history, .pc, libltdl/INSTALL, libltdl/stamp-mk and tests/testsuite.log. 2005-12-20 Eric Blake <ebb9@byu.net> * README.alpha: Really commit. 2005-12-19 Eric Blake <ebb9@byu.net> * HACKING (release note templates): Update anon cvs location. * README.alpha (Reporting Bugs): Likewise. 2005-12-18 Jacob Meuser <jakemsr@jakemsr.com>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_mode_link): Move library search paths that coincide with paths to not yet installed libraries to the beginning of the library search list. 2005-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * THANKS: Updated. * HACKING: `./libtool --config' is more helpful than `--help'. * libltdl/config/ltmain.m4sh <preserve_args, linknames>: Initialize properly. 2005-12-18 Kean Johnston <jkj@sco.com>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (LT_PATH_NM): Also look in /usr/ccs/bin/elf, for SCO. If we are not cross-compiling, but $ac_tool_prefix is set, also try an un-prefixed `nm'. 2005-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) <hardcode_shlibpath_var>: Initialize, to `unsupported'. 2005-12-18 Marc Espie <espie@nerim.net> * libltdl/m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [ openbsd ] <sys_lib_dlsearch_path_spec>: Set to `/usr/lib' only. 2005-12-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/old-m4-iface.at: Require Autoconf-2.50, so that Debian's autoconf wrapper will not cause 2.13 to barf over `--force'. Reported by Kurt Roeckx <kurt@roeckx.be>. * README.alpha (Reporting bugs): Suggest to also bootstrap the libltdl subdirectory -- the Makefile will enforce it anyway. (The Test Suite): Renamed to.. (The Test Suites): ..this. Introduce the new Autotest test suite, how to run each one individually, and what to report. * README (The Test Suite): Likewise. 2005-12-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> In the subpackage case, we do not install Makefile.inc. Since we have to be correct for this case, remove `Makefile.inc' from EXTRA_DIST. Recursive mode does not use it either. Since nonrecursive mode requires an Automake >= 1.7 anyway, and those versions automatically distribute included makefile fragments, we don't need to cater for that one either. * libltdl/Makefile.inc (EXTRA_DIST): Remove Makefile.inc. Reorder other entries. 2005-12-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * Makefile.am (libltdl/Makefile.in): also depend on libltdl/aclocal.m4, so that we guarantee timestamp consistency. (libltdl/stamp-mk): New target, to fix `libltdl/Makefile.in'. (EXTRA_DIST): Distribute `libltdl/stamp-mk' and `libltdl/m4/lt~obsolete.m4'. (all-local): Ensure the stamp files is up to date. (libltdl/aclocal.m4): New target, to ensure timestamp consistency. Depend on all m4 files. * HACKING: Updated. * tests/testsuite.at (PREPARE_TESTS): New variable `tst_dist', default to empty. * tests/nonrecursive.at, tests/recursive.at, tests/standalone.at, tests/subproject.at: Use it in LT_AT_BOOTSTRAP or LT_AT_MAKE, so that you can optionally test redistribution within the tests. * libltdl/m4/lt~obsolete.m4: Update documentation for aclocal versions before 1.7. Change all macros to use AC_DEFUN instead of AU_DEFUN. * (_AC_PROG_LIBTOOL, AC_LIBTOOL_SETUP, _LT_AC_CHECK_DLFCN) (AC_LIBTOOL_SYS_DYNAMIC_LINKER, _LT_AC_TAGCONFIG) (AC_DISABLE_FAST_INSTALL, _LT_AC_LANG_CXX, _LT_AC_LANG_F77) (_LT_AC_LANG_GCJ, AC_LIBTOOL_RC, AC_LIBTOOL_LANG_C_CONFIG) (_LT_AC_LANG_C_CONFIG, AC_LIBTOOL_LANG_CXX_CONFIG) (_LT_AC_LANG_CXX_CONFIG, AC_LIBTOOL_LANG_F77_CONFIG) (_LT_AC_LANG_F77_CONFIG, AC_LIBTOOL_LANG_GCJ_CONFIG) (_LT_AC_LANG_GCJ_CONFIG, AC_LIBTOOL_LANG_RC_CONFIG) (_LT_AC_LANG_RC_CONFIG, AC_LIBTOOL_CONFIG) (_LT_AC_FILE_LTDLL_C): Add new fake macros for these, they were used at one time in libtool.m4. * tests/am-subdir.at (Makefile.am): Put automake options here, in AUTOMAKE_OPTIONS. Require 1.6 because of the newer `AC_INIT(pkgname,version) AM_INIT_AUTOMAKE' scheme. * tests/nonrecursive.at, tests/recursive.at: Require 1.7, because libltdl rules use `+=' in conditionals. * tests/testsuite.at (LT_AT_AUTOMAKE): Fix indenting. (LT_AT_AUTORECONF): also detect too old Automake. 2005-12-08 Eric Blake <ebb9@byu.net> * libltdl/libltdl/lt__alloc.h (FREE): Cast away constness of argument to `free' to avoid compiler warning. 2005-12-08 Peter O'Gorman <peter@pogma.com> * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG, _LT_LINKER_SHLIBS) [darwin]: Use $LTCC $LTCFLAGS to check for -single_module. Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2005-12-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * bootstrap: always remove Makefile, to avoid triggering the autotools rebuild rules before autoreconf builds these. Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us>. 2005-12-07 Peter O'Gorman <peter@pogma.com> * libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4 [darwin]: Use -single_module by default when linking shared libraries. Can be overridden by specifying -multi-module or by setting the env var LT_MULTI_MODULE before configure. * libltdl/m4/libtool.m4 (archive_expsyms_cmds) [darwin]: Simplify. Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2005-12-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * doc/libtool.texi (References): Do not use `@/' for the benefit of older `makeinfo', break lines instead. * Makefile.am (install-data-local): No continuation here. (dist-hook): Fix copying of README.alpha to README. * tests/early-libtool.at (configure.ac): Remove `AM_INIT_AUTOMAKE', we do not use automake in these tests. * README, README.alpha, libtoolize.m4sh: Typos. * tests/am-subdir.at, tests/duplicate_members.at: Make all banners end with a dot, for symmetry. * libtoolize.m4sh (func_copy_all_files) (glob_exclude_pkgaux_files): Removed, since unused. * libtoolize.m4sh (func_copy_cb, func_copy_some_files) (func_serial_update, func_keyword_update): Fail immediately if some file we may install does not exist. Reported by Troy Benjegerdes <hozer@hozed.org>. 2005-12-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * TODO: A bunch of items fixed. :) * tests/convenience.at: Updated to expose more corner cases. * doc/libtool.texi (Invoking libtoolize): Remove mention of the nonrecursive restriction to name the directory `libltdl'. * libtoolize.m4sh (func_fixup_Makefile_inc): New function. (main): Call it in nonrecursive mode to mangle Makefile.inc. * tests/nonrecursive.at: adjusted to test this. 2005-12-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Basic support for PIE (position-independent executables). * libltdl/config/ltmain.m4sh (func_generate_dlsyms): Don't pass PIE flag for compilation of the symbol file object. (func_mode_compile): Pass PIE flag only for non-PIC objects. * NEWS: Updated. 2005-12-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/general.m4sh (func_show_eval): Rewrite use of the failure expression, because the exit status of the previous command may not be preserved in the next `eval' by some shells, such as pdksh. * libltdl/config/ltmain.m4sh (func_extract_an_archive): Use func_show_eval correctly. (func_mode_link): Likewise. Also, do not use `$status'. * tests/fail.at: New set of tests to ensure libtool fails. * Makefile.am, tests/testsuite.at: Adjusted. 2005-11-26 Peter O'Gorman <peter@pogma.com> * libltdl/m4/libtool.m4 [darwin]: Use $LTCC $LTCFLAGS to create reloadable objects. 2005-11-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/Makefile.inc (libltdl/argz.h): Create libltdl directory if it does not exist yet. Take care that munging of the file will not mess up the build rule. Reported by Peter O'Gorman <peter@pogma.com>. 2005-11-25 Eric Blake <ebb9@byu.net>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/loaders/loadlibrary.c (iface_id): New variable. (get_vtable): Get an `iface_id' from `lt_dlinterface_register'. (get_vtable): Rewrite to catch up with lt_dlhandle_iterate interface change. Append dot only after w32 path conversion so it works on cygwin managed mounts. * libltdl/ltdl.h, libltdl/ltdl.c (lt_dlinterface_free): New function. * doc/libtool.texi (User defined module data): Document it. 2005-11-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 [aix] <archive_expsym_cmds> (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Always move -bnoentry before $compiler_flags, so it can be overridden. * libltdl/config/ltmain.m4sh (func_mode_link): Allow GCC response files through. 2005-11-25 Peter O'Gorman <peter@pogma.com> * libltdl/config/ltmain.m4sh (func_mode_link): Pass through -isysroot for cross architecture builds on darwin. 2005-11-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_mode_uninstall): In clean mode, don't remove non-existent libfoo.lai. 2005-11-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * Makefile.am (aclocalfiles): Also install lt~obsolete.m4. * libtoolize.m4sh (func_check_macros): Updated. * tests/libtoolize.at: Adjusted. 2005-11-20 Eric Blake <ebb9@byu.net>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * bootstrap (--help): Provide some help. 2005-11-20 Todd Vierling <tv@netbsd.org>, Thorsten Glaser <tg@mirbsd.org> * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN, _LT_SYS_DYNAMIC_LINKER) (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG) [ interix3 ]: Support for Interix/Microsoft Services for Unix. * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Likewise. * NEWS: Updated. 2005-11-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/link-order.at [ interix ]: Skip command line grep. * tests/deplibs-ident.at [ interix ]: Not broken here. Reported by Thorsten Glaser <tg@66h.42h.de>. 2005-11-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libtoolize.m4sh (func_copy_all_files) (func_massage_aclocal_DATA, func_massage_pkgltdl_files) (func_massage_pkgconfig_files): Work around ksh limitation. Reported by Thorsten Glaser <tg@66h.42h.de>. 2005-11-14 Albert Chin <china@thewrittenword.com> * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [ hpux11 ]: Pass +nodefaultrpath when linking on ia64*. 2005-11-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Testsuite portability update round. * tests/inherited_flags: skip when shared libs are disabled. * tests/deplibs-ident.at [ aix ]: No unexpected failure here. * tests/libtoolize.at: Fix for distcheck (readonly sources). * tests/nonrecursive.at, tests/recursive.at, tests/subproject.at (foo.c): Actually export a symbol, for AIX. * tests/old-m4-iface.at: Use AC_LIBTOOL_DLOPEN, for AIX. * tests/nonrecursive.at: Set foo_la_SOURCES, for automake-1.7. * tests/subproject.at: Require automake-1.9, we use indirect subdirs. * tests/am-subdir.at: Move AT_KEYWORDS settings.. * tests/testsuite.at: ..here, in respective macros. (LT_AT_AUTOMAKE): Skip if we detect failure due to old version. (PREPARE_TESTS): Set autotool variables to `no' if not present. (LT_AT_ACLOCAL, LT_AT_AUTOCONF, LT_AT_AUTOMAKE) (LT_AT_AUTOHEADER, LT_AT_AUTORECONF): Use to XFAIL tests. Reported by Tim Rice <tim@multitalents.net>. (LT_AT_MAKE): Do not use `make -e'. (_LTDL_PROJECT_FILES): Adjust sub-make call. Work around `make' which does not set `MAKE' or `SHELL'. Fix for user-set `CONFIG_SHELL'. Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>. * libltdl/m4/lt~obsolete.m4 (_LT_CC_BASENAME) (_LT_COMPILER_BOILERPLATE, _LT_LINKER_BOILERPLATE): Added because they were added to branch-1-5 AC_DEFUNed. * HACKING: Add note about lt~obsolete.m4. * Makefile.am, libltdl/Makefile.inc (INSTALL_LTDL): For nonrecursive mode, add to include_HEADERS as well. * doc/libtool.texi (Invoking libtoolize, Distributing libltdl), tests/nonrecursive.at: Adjusted, and removed TABS from .texi. * libtoolize.m4sh: Revert use of `$tst_aclocaldir'. 2005-11-13 Eric Blake <ebb9@byu.net> * libltdl/ltdl.c (lt_dlhandle_iterate): Fix endless loop. (lt_dlinterface_register): Fail if lt__strdup did. 2005-11-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_LANG_C_CONFIG): Removed `lt_prog_cc_shlib' cruft, not needed any more. 2005-11-13 Kean Johnston <jkj@sco.com>, Tim Rice <tim@multitalents.net> * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) (_LT_LANG_C_CONFIG, _LT_LANG_CXX_CONFIG) [ sco3.2v5, sysv4, sysv4.3, sysv5, sco3.2v5, sco5v6, unixware, OpenUNIX, sysv4*uw2 ]: Complete overhaul of SCO support. * THANKS: Updated. 2005-11-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/quote.test: Do not fail on harmless shell bug present in some ksh versions. Reported by Tim Rice <tim@multitalents.net> and others. 2005-11-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/ltoptions.m4 (_LT_SET_OPTION): Use m4_warning instead of m4_warn. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC): `wl' is tagged here. * libltdl/m4/libtool.m4 (LT_SYS_DLOPEN_SELF, _LT_COMPILER_PIC): Make sure `$wl' is properly expanded for tests involving `export_dynamic_flag_spec', `lt_prog_compiler_static'. * tests/defs.m4sh (func_configure): Actually pass options (like --disable-shared) to func_configure_nofail. 2005-11-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ freebsd ]: Fix shlibpath_overrides_runpath settings. Reported by Dave Benson <daveb@idealab.com>. 2005-09-10 Charles Wilson <cygwin@cwilson.fastmail.fm> * libltdl/config/ltmain.m4sh (func_win32_libid): use $SED not sed. 2005-11-10 Albert Chin-A-Young <china@thewrittenword.com> * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [ hpux10, hpux11 ] <hppa*64,ia64, aCC,g++>: Use C++ compiler for linking rather than ld. 2005-11-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/ltsugar.m4 (lt_join, lt_combine, lt_dict_filter): Rewrite to eliminate tail recursion; use .. (lt_unquote): New trivial helper macro. * libltdl/m4/libtool.m4 (_lt_decl_filter): Document. 2005-11-10 Gary V. Vaughan <gary@gnu.org> * tests/testsuite.ac (macrodir): Don't set it here... * Makefile.am (BUILDCHECK_ENVIRONMENT, INSTALLCHECK_ENVIRONMENT): ...set it here to pick up files from the right place in context. * tests/libtoolize.at, tests/old-m4-iface.at: Adjust. * libtoolize.m4sh: Take tst_aclocaldir into account when running inside the test harness. 2005-11-10 Gary V. Vaughan <gary@gnu.org> * tests/am-subdir.at: Now that we don't run autoreconf, we have to explicitly tell aclocal what flags to use. * tests/testsuite.at (LT_AT_BOOTSTRAP): Allow passing arguments to configure. * tests/am-subdir.at, tests/nonrecursive.at, tests/old-m4-iface.at, tests/subproject.at: Use LT_AT_BOOTSTRAP. 2005-11-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS): Also set pic_flag. (_LT_LANG_CXX_CONFIG): Use $as_unset, not unset. (_LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG): Remove bogus ld_shlibs tests. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS): Move setting of `variables_saved_for_relink'.. (_LT_SYS_DYNAMIC_LINKER): here, when both `shlibpath_var' and `runpath_var' have been set. Reported by Mike Frysinger <vapier@gentoo.org>. * libltdl/Makefile.inc (AM_CPPFLAGS): Do not define HAVE_CONFIG_H. * libltdl/m4/ltdl.m4 (LTDL_INIT): Do not invoke AC_CONFIG_HEADERS ourselves, we can build with or without now. 2005-11-07 Kean Johnston <jkj@sco.com> * libltdl/config/ltmain.m4sh (func_mode_link) [ sysv4*uw2*, unixware7* ]: Work around linker bug on older SCO systems. 2005-11-07 Albert Chin-A-Young <china@thewrittenword.com> * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG) [ hpux10, hpux11 ]: hardcode_libdir_flag_spec and hardcode_minus_L are the same for hppa*64 and ia64*. Don't set hardcode_libdir_flag_spec='-L$libdir' on ia64* because if you specify +b and -L, +b overrides what is set into DT_RPATH. 2005-11-07 Gary V. Vaughan <gary@gnu.org> * tests/testsuite.at (_LTDL_PROJECT_FILES): Factored out from common code to build a basic libltdl using project. * tests/old-m4-iface.at, tests/standalone.at, tests/subproject.at: Use it. * doc/libtool.texi (Distributing libltdl): Document correct use of LT_CONFIG_LTDL_DIR mode argument with Autoconf and Automake. 2005-11-07 Gary V. Vaughan <gary@gnu.org> Support 'recursive' mode for building libltdl: Automake will recursively descend into the libltdl directory, and use libltdl's Makefile.am code to build libltdl: * ltdl.m4 (LT_CONFIG_LTDL_DIR): Don't barf on 'recursive' mode for 2nd argument. (_LTDL_MODE_DISPATCH): Handle recursive mode. 2005-11-07 Gary V. Vaughan <gary@gnu.org> * tests/recursive.at: New tests for libltdl as a subdirectory, configured and compiled from the toplevel project using a recursive make.. * tests/testsuite.at: Use it. * Makefile.am (TESTSUITE_AT): Depend on it. * libltdl/m4/ltdl.m4 (LTDL_INIT): Don't force running AC_CONFIG_HEADERS for subproject ltdl. * tests/old-m4-iface.at, tests/subproject.at: Remove workaround. * libltdl/m4/ltdl.m4 (LT_CONFIG_LTDL_DIR): Add LTDL-MODE argument. * configure.ac: Use it. 2005-11-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): lt_unknown is lt_dlunknown. * libltdl/m4/libtool.m4 (LT_SYS_DLOPEN_SELF): Revert expansion of `$wl'. (_LT_LANG_C_CONFIG, _LT_LANG_CXX_CONFIG, _LT_LANG_GCJ_CONFIG): Do not require LT_SYS_DLOPEN_SELF. (_LT_LANG_C_CONFIG): Instead call it at the right time. (_LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG) (_LT_LANG_GCJ_CONFIG): Do not call _LT_CMD_STRIPLIB. * Makefile.am: `2>&1' as suggested by Albert Chin. * libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4: Two newlines before each macro, fix underlines. 2005-11-05 Kean Johnston <jkj@sco.com>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_mode_link) [*-*-sco3.2v5*]: Don't pass through -lc, nor add it to deplibs. [*-*-sysv5*]: Ditto. [*-*-openbsd*, *-*-freebsd*, *-*-dragonfly*]: Remove bogus `$arg'. 2005-11-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * THANKS: Updated. 2005-11-02 Gary V. Vaughan <gary@gnu.org> * tests/nonrecursive.at: New tests for libltdl as a subdirectory, configured and compiled from the toplevel project. * tests/testsuite.at: Use it. (LT_AT_AUTOHEADER): New macro. * Makefile.am (TESTSUITE_AT): Depend on nonrecursive.at. 2005-11-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK) [ solaris ]: Add `-64' to $LD if necessary, to permit combining of several convenience libs without any further objects added. Reported by Brian Barrett <brbarret@open-mpi.org>. 2005-11-01 Kean Johnston <jkj@sco.com>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (LT_SYS_DLOPEN_SELF): Use `lt_prog_compile_static', not `link_static_flag'. Expand `$wl' so expansion of `export_dynamic_flag_spec' works. (_LT_TRY_DLOPEN_SELF): Show dlerror() in case of failure. (_LT_LINKER_SHLIBS) [ aix3 ]: Likewise. (_LT_COMPILER_PIC) [ hpux* ]: Use `${wl}'. 2005-11-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * THANKS: Updated. 2005-11-01 Gary V. Vaughan <gary@gnu.org> * libltdl/m4/ltdl.m4 (LTDL_INIT): Call _LT_ENABLE_INSTALL directly instead of m4_requiring it, as it relies on enable_ltdl_install and enable_ltdl_convenience to have been initialised first. * libtoolize.m4sh: Use serial tags to locate the correct serial numbers when deciding whether to update. (func_serial): Allow for macro_regex argument to be originating file name. (func_serial_update): Use NL2SP to flatten list of extracted m4_include files. * tests/libtoolize.at: More tests for old-style verbatim copying of macros into aclocal.m4. * libltdl/m4/argz.m4, libltdl/m4/ltoptions.m4, libltdl/ltsugar.m4, libltdl/m4/ltversion.in: Add serial number tags, and bump serial number. 2005-10-31 Kean Johnston <jkj@sco.com> [ sysv5*, sco3.2v5*, sco5v6*, unixware*, OpenUNIX*, sysv4*uw2* ] Patches for various bug fixes, small improvements and updating the SCO platform support. * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): Set correctly for SCO. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Set correct symcode values for the native nm on SCO platforms. * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): All SCO platforms open dependency libraries when you dlopen a module. 2005-10-31 Albert Chin-A-Young <china@thewrittenword.com> * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [ aix ]: Remove duplicate always_export_symbols=yes for AIX. 2005-10-29 Howard Chu <hyc@highlandsun.com> * libltdl/config/ltmain.m4sh (func_mode_link): With `-static', only link statically against uninstalled libtool libraries. Fixes 1.5.x regression to match documented behavior. * NEWS: Updated. 2005-10-27 Stepan Kasal <kasal@ucw.cz> * HACKING: Update note about use of `$#' in m4 macros. 2005-10-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/tagtrace.test: Allow `$AUTOCONF' to contain arguments. Skip if the running `autoconf' version is older than the one used to bootstrap Libtool. 2005-10-26 Eric Blake <ebb9@byu.net>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * Makefile.am (vcl-tmp): Avoid warnings from diff. * bootstrap: Avoid warnings from find. (lt_tab): Use to prevent editor whitespace "cleanup". 2005-10-26 Gary V. Vaughan <gary@gnu.org> * libtoolize.m4sh: Put back the func_serial_update callback for func_copy_some_files so that the testsuite passes again. We'll have to find a better way of handling serial numbers in libtool macro files. * libltdl/Makefile.inc: New file, factored out of Makefile.am for use in non-recursive libltdl installations. * bootstrap: Adjust. * Makefile.am: include it. (libltdl/Makefile.am): Adjust to build from the new libltdl/Makefile.inc. (SUBDIR_LIBOBJS): Renamed from this... (LTDL_SUBDIR_LIBOBJS): ...to this. * configure.ac: Adjust. * doc/libtool.texi (Invoking libtoolize): Document the new modes and libtoolize option to select them. * libtoolize.m4sh: Parse new options, --nonrecursive, --recursive and --subproject. Install the appropriate files with --ltdl according to the selected mode. (func_scan_files): If --subproject, --recursive or --nonrecursive options were not given, use the value from LT_CONFIG_LTDL_DIR; if a mode was given, and there is also an argument to LT_CONFIG_LTDL_DIR, ensure they are the same. * NEWS: Updated. * libtoolize.m4sh: Don't use func_serial_update as a copy function for libtool m4 files with no macro_regex. If the files are copied directly into aclocal.m4, because AC_CONFIG_MACRO_DIR isn't set for example, there is no way to tell what serial number goes with what source file. (func_serial_update): For future-proofing, only make the second serial number check if the destination file wasn't m4_included into aclocal.m4 (and hence updated automatically by the cat of copying a new version to the dest directory). * libtoolize.m4sh: Move the consistency checks... (func_check_macros): ...into here. Also suggest LT_WITH_LTDL if appropriate. * libtoolize.m4sh: Copying just libtool.m4 for hand maintained aclocal.m4 doesn't work. List all required files in that case, using the files from installed libltdl if available. Also, list the additional files required when using libltdl. Reported by Patrick Welche <prlw1@newn.cam.ac.uk>. * libltdl/ltdl.h, libltdl/ltdl.c (lt_dlhandle_first): Removed. * libltdl/ltdl.h, libltdl/ltdl.c (lt_dlhandle_next) (lt_dlhandle_find, lt_dlforeach): Removed... (lt_dlhandle_iterate, lt_dlhandle_fetch, lt_dlhandle_map): Similar functions that are multi-loader safe, and require a registered interface validator argument. * doc/libtool.texi: Updated. * NEWS: Updated. * libtoolize.m4sh: Always copy pkgconfig_files for --ltdl, incase ltdl needs additional things not found by automake when looking at the parent project configury. * tests/libtoolize.at: Adjust. 2005-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh [darwin]: Don't check for "bundle" in file path. Reported by Christoph Egger <Christoph_Egger@gmx.de>. 2005-10-14 Gary V. Vaughan <gary@gnu.org> * libltdl/m4/ltdl.m4 (LT_WITH_LTDL): Don't nest AC_MSG_CHECKING/ AC_MSG_RESULT pairs. 2005-10-14 Gary V. Vaughan <gary@gnu.org> * tests/subproject.at: Move 'touch config.h.in' invocation. * tests/subproject.at (_LTDL_SETUP): Use pushdef/popdef to simulate file-local scope. Empty source file compilation is not portable, so add minimal code to generated foo.c file. 2005-10-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (LT_PATH_NM): End test source with newline. Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>. 2005-10-13 Peter O'Gorman <peter@pogma.com> * libltdl/ltdl.c (find_module): Check that dir is set. (load_deplibs): Don't free the user search paths too early. 2005-10-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/testsuite.at (LT_AT_AUTOMAKE): New macro. * tests/subproject.at: Use it. Do not call `autoreconf' in tests, since it will try to reconfigure `sub/ltdl', which breaks `make check' during `distcheck' because of a readonly source tree. * libltdl/m4/ltdl.m4 (LT_WITH_LTDL): Also set INCLTDL. * libltdl/m4/ltdl.m4 (LTDL_CONVENIENCE, LTDL_INSTALLABLE) (LT_WITH_LTDL): Revert Gary's 2005-10-10 patch. * tests/stresstest.at: Use `allow_undefined_flag' instead of host_os setting. 2005-10-10 Gary V. Vaughan <gary@gnu.org> * libltdl/m4/ltdl.m4 (_LT_ENABLE_INSTALL): Remove bogus extra closing brackets. 2005-10-10 Gary V. Vaughan <gary@gnu.org> * libltdl/m4/ltdl.m4 (LTDL_CONVENIENCE, LTDL_INSTALLABLE): Remove AC_SUBST of LIBLTDL, LTDLINCL, and all mention of INCLTDL. (LT_WITH_LTDL): Due to order constraints between LTDL_CONVENIENCE, LTDL_INSTALLABLE, LT_WITH_LTDL & LTDL_INIT, we can safely AC_SUBST LIBLTDL and LTDLINCL here. Also, remember to synch INCLTDL. 2005-10-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/stresstest.at [ aix3, beos, os2 ]: Always use `-no-undefined'. 2005-10-09 Christian Biesinger <cbiesinger@web.de> * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [ beos ]: Initial shared library support for C++. 2005-10-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * configure.ac (abs_top_builddir, abs_top_srcdir): always substitute. * Makefile.am (BUILDCHECK_ENVIRONMENT) (INSTALLCHECK_ENVIRONMENT): New macros. Set _lt_pkgdatadir, LIBTOOL, LIBTOOLIZE accordingly, by using above, and program_transform_name. * tests/testsuite.at (TESTS_PREPARE): Do not set them anymore. Set $unset. (LT_AT_MAKE): Use to unset LIBTOOL and LIBTOOLIZE. 2005-10-05 Gary V. Vaughan <gary@gnu.org> * tests/subproject.at: Commit the right file this time. 2005-10-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Fix m4 quoting for lt_simple_link_test_code. Reported by Nicolas Joly <njoly@pasteur.fr>. 2005-10-05 Gary V. Vaughan <gary@gnu.org> * tests/subproject.at: New tests for libltdl as a subproject with its own configuration. * tests/testsuite.at: Use it. * Makefile.am (TESTSUITE_AT): Depend on it. 2005-10-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * Makefile.am: Simplify. Do not use abs_top_srcdir. Reported by Gary V. Vaughan <gary@gnu.org>. 2005-10-05 Gary V. Vaughan <gary@gnu.org> * libltdl/m4/ltdl.m4 (_LT_CONFIG_LTDL_DIR): Spurious './' prefixes upset BSD pmake, don't set lt_ltdl_dir in this case. (LTDL_CONVENIENCE, LTDL_INSTALLABLE): Adjust. 2005-10-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * Makefile.am (BUILDCHECK_ENVIRONMENT) (INSTALLCHECK_ENVIRONMENT): New macros. (check-local, installcheck-local): Use them. * tests/testsuite.at (PREPARE_TESTS): Extract host_alias, ECHO. Set configure_options appropriately. (LT_AT_CONFIGURE, LT_AT_AUTORECONF, LT_AT_MAKE): New macros. (LT_AT_BOOTSTRAP): Use them. * tests/am-subdir.at, tests/early-libtool.at, tests/old-m4-iface.at, tests/standalone.at: Likewise. * tests/link-order.test: Do not extract ECHO any more. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Require AC_CANONICAL_HOST and _LT_DECL_SED. 2005-10-03 Gary V. Vaughan <gary@gnu.org> * libltdl/m4/ltdl.m4: Bump serial as we are changing the interface. (LT_CONFIG_LTDL_DIR): New macro to centralise setting the subdirectory used for libltdl. (LTDL_CONVENIENCE): Continue backwards compatibility support for declaring the libltdl source subdirectory with an argument, but defer to LT_CONFIG_LTDL_DIR. (AC_LIBLTDL_CONVENIENCE): Adjust to upgrade to the new style. (LTDL_INSTALLABLE, AC_LIBLTDL_INSTALLABLE): Ditto. (LTDL_INIT): lt_ltdl_dir is set by LT_CONFIG_LTDL_DIR now, and even `./' needs trailing slashes trimming! If the user didn't upgrade their configure.ac yet, call LT_CONFIG_LTDL_DIR for them. * libtoolize.m4sh (func_scan_files): If --ltdl option is given without a directory argument, use the value from LT_CONFIG_LTDL_DIR; if the argument is given, and there is also a value in LT_CONFIG_LTDL_DIR, ensure they are the same. * libltdl/configure.ac: Use it. * NEWS: Updated. 2005-10-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/old-m4-iface.at (Makefile.in): Do not reconfigure libltdl directory. 2005-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/deplibs-ident.at: New file with XFAIL test to expose wrong multiple listing of a deplib on the command line. * Makefile.am, tests/testsuite.at: Updated. Reported by Brian Barrett <brbarret@open-mpi.org>. * tests/old-m4-iface.at: Define top_srcdir, work around current ltdl.m4 bug. * libltdl/config/ltmain.m4sh (func_mode_link): Fix wrong logic introduced in last commit. 2005-09-30 Gary V. Vaughan <gary@gnu.org> * tests/libtoolize.at: Add a new test to catch a regression I almost introduced with respect to copying macro files when AC_CONFIG_MACRO_DIR is shared with libltdl subproject. 2005-09-30 Gary V. Vaughan <gary@gnu.org> * tests/old-m4-iface.at: Start of a new test series for m4 interface backwards compatibility. * tests/testsuite.at: Use it. (macrodir): Declare the location of uninstalled libtool m4 macros. * Makefile.am (TESTSUITE_AT): Depend on it. 2005-09-29 Tim Rice <tim@multitalents.net> (tiny change) * tests/early-libtool.at (Makefile.in): Set $(SHELL). 2005-09-29 Peter Ekberg <peda@lysator.liu.se> * libltdl/config/ltmain.m4sh (func_mode_link): Don't modify user provided symbols file. Adjust removal of temporary files and also remove temporary files used during symbols file filtering. 2005-09-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libtoolize.m4sh (func_included_files): Do not recurse non-existent files. 2005-09-27 Gary V. Vaughan <gary@gnu.org> * libtoolize.m4sh (func_scan_files): Support projects that have upgraded libtool, but still use an old autoconf. When the libtool macros are not copied (because of missing ACLOCAL_AMFLAGS and AC_CONFIG_MACRO_DIR ), point them at the libtoolize master tree for files to manually copy into acinclude.m4 or aclocal.m4. * libltdl/lt_error.c (lt__last_error, lt__error_strings): The lt__ prefix is used to indicate internal symbols that are only exported for use by other parts of libltdl. These are now static, so... (last_error, error_strings): ...renamed to this. Changed all callers. * libltdl/ltdl.h (lt_dlmutex_register, lt_dlmutex_lock) (lt_dlmutex_unlock, lt_dlmutex_seterror, lt_dlmutex_geterror) (lt_dlmalloc, lt_dlrealloc, lt_dlfree): Remove deprecated APIs. * doc/libtool.tex: Updated. * NEWS: Updated. * libltdl/ltdl.c (lt_dlcaller_register): Renamed to avoid problems with module visibilty when linked with programs written for the old API. (lt_dlinterface_register): New name. * Makefile.am (VERSION_INFO): Bumped. * doc/libtool.texi (User defined module data): Updated. 2005-09-27 Tim Rice <tim@multitalents.net> * tests/defs.m4sh, tests/testsuite.at (PREPARE_TESTS) <AUTORECONF>: Allow variable override. 2005-09-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * HACKING: Only update libltdl version info before release. 2005-09-26 Tim Rice <tim@multitalents.net> * configure.ac <AUTOM4TE>: Allow variable override. 2005-09-25 Alan W. Irwin <irwin@beluga.phys.uvic.ca>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_win32_libid) [ cygwin, mingw ]: Robustify sed script to determine win32_libid_type. (func_mode_link) [ mingw ]: Ignore `-lm'. 2005-09-25 Peter Ekberg <peda@lysator.liu.se> * libltdl/libltdl/lt__private.h, libltdl/lt_error.c: Don't export the lt__last_error and lt__error_strings variables. Define lt__error_strings so that no relocations are needed. * libltdl/libltdl/lt__private.h (LT__STRERROR, LT__GETERROR) (LT__SETERRORSTR): Adjust to not use the above variables, instead use the following functions... * libltdl/lt_error.c: (lt__error_string, lt__get_last_error) (lt__set_last_error): Reimplement the functionality in these functions instead. * libltdl/libltdl/lt_error.h: Add LT_ERROR_LEN_MAX define for max error string length. (lt_dlerror_table): Append explicit nul terminators so that compilers warn more reliably if the above define is too small. 2005-09-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/link-order.at [ aix* ]: skip path syntax grep. 2005-09-23 Peter Ekberg <peda@lysator.liu.se> * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Fix awk script to be a single line so that the cache variable isn't multiline. 2005-09-23 Eric Blake <ebb9@byu.net> (tiny change) * libltdl/loaders/loadlibrary.c (vm_open): Silence gcc warnings. [__CYGWIN__]: Include <sys/cygwin.h> for prototype. 2005-09-22 Gary V. Vaughan <gary@gnu.org> * bootstrap: Don't clobber the working copy metadata in ./{arch}/libtool during bootstrap. 2005-09-22 Peter Ekberg <peda@lysator.liu.se>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_mode_link): Filter user supplied symfile to tag relevant symbols as data symbols. Fixes segfault in stresstest.at on Cygwin and makes the test pass. 2005-09-22 Peter Ekberg <peda@lysator.liu.se> * tests/link-order.test: Clean up the uninstalled libraries before linking the test executables so that they don't pick up the dlls from the current dir on Cygwin and MinGW. 2005-09-22 Tim Rice <tim@multitalents.net> * libltdl/m4/libtool.m4 (LT_PATH_NM, _LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG, _LT_SYS_HIDDEN_LIBDEPS): Add missing `;;' after case list. 2005-09-22 Peter Ekberg <peda@lysator.liu.se>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS, _LT_COMPILER_PIC) (_LT_LINKER_SHLIBS): Require _LT_TAG_COMPILER to make sure that $compiler is assigned. Fixes crippled configure output. 2005-09-21 Peter Ekberg <peda@lysator.liu.se> * libltdl/m4/libtool.m4 (LT_PATH_NM): Fix autodetection of dumpbin and also check for "link -dump -symbols" as a synonym for "dumpbin -symbols". * libltdl/config/ltmain.m4sh (func_mode_uninstall): Clean up $dlname as well when cleaning a uninstalled libtool library. Fixes -mode=clean on Cygwin and MinGW to actually remove the dll when cleaning up an uninstalled library. 2005-09-20 Peter Ekberg <peda@lysator.liu.se> * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Split up --out-implib option for linker in separate args so that the MSYS path translation can do its magic on the provided path to the import library. Fixes problem in stresstest.at on MinGW. 2005-09-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * Makefile.am (ltdldatafiles): Fix installation order to match dependency order. (libltdl/Makefile.in): Use $(srcdir) for non-GNU make. 2005-09-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_mode_link): Allow some ARM gcc ABI flags through. Reported by Andrés Moré <more.andres@gmail.com>. * Makefile.am (all-local): Rebuild libltdl/Makefile.in. * libltdl/m4/ltdl.m4 (LTDL_INIT) <CONFIG_H>: Rename to.. <LT_CONFIG_H>: this, to contain the name of the config header. * Makefile.am <DEFS>: Use it to define LT_CONFIG_H. * HACKING, libltdl/argz.c, libltdl/lt__alloc.c, libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h: Adjusted. 2005-09-16 Peter Ekberg <peda@lysator.liu.se> * tests/testsuite.at (LT_AT_EXEC_CHECK): Make sure that the exit status of the tested program is propagated as the exit status of the expression fed to AT_CHECK. 2005-09-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/argz.c <HAVE_CONFIG_H>: Avoid redefinition warning. * libltdl/ltdl.c (lt_argz_insert): Work around newlib argz_insert bug. * Makefile.am (VERSION_INFO): Bumped revision. Reported by Eric Blake <ebb9@byu.net>. 2005-09-13 Peter Ekberg <peda@lysator.liu.se>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/config/ltmain.m4sh (func_generate_dlsyms): Fix escape expression to actually escape relevant characters from the following grep. Fix Cygwin and MinGW to use the filtered symbol list when exporting from self, and not the symbol filter. * tests/stresstest.at: Export w8, not w8$ 2005-09-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Make tagdemo work smoothly with both pre- and ISO C++ compilers, and remove all use of libstdc from other tests. * tests/tagdemo/configure.ac (HAVE_NAMESPACES, HAVE_IOSTREAM): New tests for ISO C++ features. Reimplementation of similar macros from the autoconf archive. * tests/tagdemo/foo.cpp, tests/tagdemo/main.cpp: Adjusted. * tests/am-subdir.at, tests/template.at: Do not use iostream. 2005-09-12 Peter Ekberg <peda@axentia.se>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/testsuite.at (host_os): Pull from `libtool --config'. * tests/stresstest.at [ cygwin, mingw, pw32 ]: Use it to fix setting of `-no-undefined'. 2005-09-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/ltdl.m4 (LT_WITH_LTDL, LTDL_CONVENIENCE) (LTDL_INSTALLABLE): Use less quoting for expanded LIBLTDL, LTDLINCL. Use m4_default instead of m4_if, to work around AU_ALIAS bug with empty macro arguments. (LTDL_INIT): Likewise. * libltdl/m4/ltoptions.m4 (_LT_WITH_PIC): Likewise. * TODO, HACKING: Updated. 2005-09-10 Gary V. Vaughan <gary@gnu.org> * libtoolize.m4sh (TAR): Allow the user to override the tar command. 2005-09-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_COMPILER_BOILERPLATE) (_LT_LINKER_BOILERPLATE, _LT_COMPILER_OPTION, _LT_LINKER_OPTION) (_LT_COMPILER_C_O): When comparing expected and actual compiler/ linker output for warnings, weed out both empty lines as well as lines starting with possibly indented `+', to allow for shell debugging with `set -x'. Check the weeded instead of unweeded contents for emptiness. * libltdl/config/ltmain.m4sh (func_mode_link): Actually provide a useful error message. Fixes long-standing shameful user neglection. Reported by Martin Paljak <martin.paljak@gmail.com>. 2005-09-08 Peter Ekberg <peda@axentia.se> * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [dumpbin]: Symbols in "pick any" sections are not global. Use awk, not sed, in the global_symbol_pipe so that keeping track of sections is easier. * doc/libtool.texi (libtool script contents): Update to hint at new findings concerning "pick any" sections. 2005-09-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/early-libtool.at (config.status): Use EXEEXT consistently. Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>. 2005-09-08 Charles Wilson <cygwin@cwilson.fastmail.fm> * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [ cygwin, mingw, pw32 ]: Use --enable-auto-image-base instead of a fixed image base address. 2005-09-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD) [ sysv4*uw2*, sysv4.2uw2* ]: Fix my last checkin to really match the more special case before the general case. Reported by Stepan Kasal <kasal@ucw.cz>. 2005-09-06 Roger Cornelius <rac@tenzing.org> * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD) [ sysv5OpenUNIX8, sysv5UnixWare7, sysv5uw[78], unixware7, sysv4*uw2* ]: Match special cases before general case. 2005-09-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * bootstrap: another AIX sed fix. * Makefile.am (TESTS_ENVIRONMENT): Export SHELL. * bootstrap (SHELL): Set to $CONFIG_SHELL or /bin/sh. Name `make' targets in portable fashion. Work around `rm' warnings. Unconditionally create fake `libtoolize'. Reported by Patrick Welche <prlw1@newn.cam.ac.uk>. * Makefile.am (doc/notes.txt): Use --no-headers instead of --plaintext for makeinfo. Reported by Peter O'Gorman <peter@pogma.com>. 2005-09-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ aix ] <export_symbols_cmds>: Work around shell expansion issue in func_show_eval by separating `$' and field number; drop then unnecessary m4 quoting. 2005-09-02 Gary V. Vaughan <gary@gnu.org> AC_BEFORE only works if declarations are made inside the macro cited as the first argument: * libltdl/m4/libtool.m4 (LT_OUTPUT): Move AC_BEFORE decls... (LT_INIT, LT_LANG): ...to the macro that has to come first. 2005-09-01 Peter O'Gorman <peter@pogma.com> * libltdl/m4/libtool.m4 (old_postintall_cmds): chmod 644 before running ranlib. Reported by Gerald Pfeifer <gerald@pfeifer.com> 2005-09-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_PROG_CXX, _LT_PROG_F77) (_LT_PROG_FC): aclocal-1.4 compatibility workaround. * bootstrap: Do not use nonportable -path. Reported by Ralf Menzel <menzel@ls6.cs.uni-dortmund.de>. 2005-09-01 Gary V. Vaughan <gary@gnu.org> * doc/libtool.texi (LT_INIT): Fix a logical error with documentation of --with-pic vs --without-pic. 2005-09-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/ltoptions.m4 (_LT_SET_OPTIONS): m4_defun this.. * libltdl/m4/libtool.m4 (LT_INIT): so it can be m4_require'd from here with user-supplied options. Fixes output macro ordering issue. 2005-09-01 Gary V. Vaughan <gary@gnu.org> * libtoolize.m4sh (func_scan_files): When searching for evidence of Autotools in aclocal.m4, be careful not to trip over requires and defuns. 2005-08-31 Gary V. Vaughan <gary@gnu.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/ltoptions.m4 (_LT_SET_OPTIONS): Move option macro dipatch.. (_LT_SET_OPTION): here. Do not fail but warn on unknown options. (_LT_UNLESS_OPTIONS(win32-dll), LT_OPTION_DEFINE(dlopen)): Add whitespace. Reported by Robert Ögren <lists@roboros.com> and Akim Demaille <akim@lrde.epita.fr>. 2005-08-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 [ solaris CC ]: Document issue with C++ standard libraries. 2005-08-30 Gary V. Vaughan <gary@gnu.org> * libltdl/m4/ltoptions.m4 (AC_LIBTOOL_PIC_MODE): Renamed... (AC_LIBTOOL_PICMODE): ...this in the backwards compatibility code. There never was an AC_LIBTOOL_PIC_MODE macro. * libltdl/m4/libtool.m4 (_LT_SETUP): Remove duplicate --enable-libtool-lock declaration. 2005-08-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_PATH_TOOL_PREFIX, _LT_SYS_HIDDEN_LIBDEPS, _LT_DECL_EGREP): Fix typos. * Makefile.am: Install libltdl data files in correct order. Use pre-defined programs for installation; use NORMAL_INSTALL and NORMAL_UNINSTALL. Really fix ownership and timestamp problems. Fix typo in uninstallation of aclocal files. Reported by Peter Breitenlohner <peb@mppmu.mpg.de> and Charles Wilson <cygwin@cwilson.fastmail.fm>. 2005-08-29 Gary V. Vaughan <gary@gnu.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Allow for portability with Autoconf 2.59, Automake 1.9.6, which lack AC_CONFIG_LIBOBJ_DIR support. * bootstrap: Unless environment variable WORKING_LIBOBJS_SUPPORT is set to true aka `:', symlink .. * argz.c lt__dirent.c lt__strl.c: .. these from the copies in libltdl. * configure.ac (SUBDIR_LIBOBJS): Automake conditional, set if bootstrap didn't make the extra copies of libobj sources in top srcdir... * Makefile.am: Add these to EXTRA_DIST if SUBDIR_OBJS is not set, as well as the originals in libltdl/, in order to work when bootstrapped both with old and newer Automake/Autoconf. 2005-08-29 Gary V. Vaughan <gary@gnu.org> * libltdl/m4/ltdl.m4 (LTDL_CONVENIENCE): Fix the comment to not pretend that LIBLTDL and LTDLINCL are not AC_SUBSTed here. 2005-08-29 Gary V. Vaughan <gary@gnu.org> Some macros had relied on accidentally correct ordering in order for $MV to be defined before use. Factor out setting of some common file commands and m4_require it before use: * libltdl/m4/libtool.m4 (_LT_FILEUTILS_DEFAULTS): Allow user to override some common file commands at configure time. (_LT_SETUP, _LT_CONFIG, _LT_COMPILER_OPTION, _LT_LINKER_OPTION) (_LT_COMPILER_C_O, _LT_COMPILER_FILE_LOCKS) (_LT_SYS_DYNAMIC_LINKER, _LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) (_LT_SYS_HIDDEN_DEPLIBS): m4_require it to ensure the commands are defined before they are called. 2005-08-28 Gary V. Vaughan <gary@gnu.org> * libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4: AU_DEFUN doesn't pass arguments. Use AU_ALIAS instead! 2005-08-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, Gary V. Vaughan <gary@gnu.org> * libltdl/config/ltmain.m4sh (func_lalib_unsafe_p) [osf]: Save file descriptor to original STDIN, and restore after redirection. Fixes memory corruption with Tru64 and OSF sh. Reported by Nicolas Joly <njoly@pasteur.fr>. 2005-08-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, Peter Ekberg <peda@lysator.liu.se> * tests/early-libtool.at: Fix goofed up make rules in previous commit. * tests/inherited_flags.at: Weaken for MSVC. * tests/early-libtool.at, tests/template.at: Fix for compiler that do not understand '-c -o'. 2005-08-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/standalone.at, tests/template.at: Do not compare output because of EOL issues. Resolve warnings, make cross- compilation aware. Reported by Peter Ekberg <peda@axentia.se>. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_LINKER_SHLIBS): Double-quote unsafe tag variable descriptions: they are literals. 2005-08-25 Peter Ekberg <peda@lysator.liu.se>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/standalone.at: (without autotools): Add $(CFLAGS) to LTCOMPILE and LTLINK. Separate compiling and linking. Remove compiling flags from link. Add --tag. Add -no-undefined flag. 2005-08-24 Bruno Haible <bruno@clisp.org> * libltdl/config/ltmain.sh (func_mode_install): Try "ln -s -f" and "rm -f && ln -s" to make a symlink for a shared library: the former is needed for libraries `ln' depends on, the latter for Solaris /bin/ln. Reported by Nelson H. F. Beebe <beebe@math.utah.edu>. * libltdl/config/ltmain.sh (cwrappersource): return 127 if exec failed. 2005-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/libtool.m4 (_LT_COMPILER_C_O): Send chmod warning to log. * tests/defs.m4sh (m4dir, auxdir, scripts): Fix for source tree reorganization. * tests/sh.test: Adjust. Also barf on sed diagnostics so this test will not fail again silently. * libltdl/m4/ltdl.m4 (LT_SYS_SYMBOL_USCORE): Use _LT_EOF, not EOF. * tests/fcdemo/Makefile.am (suffix rules): Explicitly add $(FCFLAGS_f90) so the tests can pass on AIX. 2005-08-24 Peter O'Gorman <peter@pogma.com> * libltdl/config/ltmain.m4sh (inherited_linker_flags): Work when output is an application too. Reported by Christopher Egger <Christoph_Egger@gmx.de> 2005-08-23 Stepan Kasal <kasal@ucw.cz>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/m4/ltdl.m4 (LTDL_INIT): Use AH_HEADER if defined. Compute CONFIG_H only before creating config.status. Reported by Peter Ekberg <peda@axentia.se>. 2005-08-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * Makefile.maint (web-manual): Fix $(LN_S) to use absolute path. Fix creating the manual for VPATH build. * bootstrap: Fix missing replace config -> $auxdir. ltmain.m4sh is prerequisite to ltmain.sh. Improve warning message. 2005-08-22 Gary V. Vaughan <gary@gnu.org> Reorganise the libtool tree to create a bootstrapped libltdl for installation to the libtoolize master tree, so that libltdl is useable even in the extreme case of when automake and autoconf are not installed on the developers machine. Part of this change requires some duplication of rules between Makefile.am (which builds libltdl for this distribution) and libltdl/Makefile.am (which is used by projects that libltoolize --ltdl --copy), so libtool now really does use a single toplevel Makefile.am, and we generate libltdl/Makefile.am from that: * m4, config: Moved from here... * libltdl/m4, libltdl/config: ...to here, to reduce the amount of kludging needed in bootstrap for autoreconf to run. * tests/cdemo/Makefile.am, tests/demo/Makefile.am, tests/depdemo/Makefile.am, tests/f77demo/Makefile.am, tests/fcdemo/Makefile.am, tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am (ACLOCAL_AMFLAGS): Adjust to compensate. * tests/cdemo/configure.ac, tests/demo/configure.ac, tests/depdemo/configure.ac, tests/f77demo/configure.ac, tests/fcdemo/configure.ac, tests/mdemo/configure.ac, tests/mdemo2/configure.ac, tests/pdemo/configure.ac, tests/tagdemo/configure.ac (AC_CONFIG_AUX_DIR): Ditto. * libltdl/m4/ltdl.m4: Increment serial number. (LTDL_INIT): Accept an optional directory argument to prefix each of the LD_DLLOADERS locations. Default to empty for backwards compatibility. * Makefile.maint: Adjust to compensate. * configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR): Adjust. (AC_CONFIG_LIBOBJ_DIR): Set here so that we can build LTLIBOBJS from in a subdirectory from the amalgamated Makefile.am. (AM_PROG_CC_C_O, AM_INIT_AUTOMAKE): Use subdir-objects. (AC_CONFIG_FILES): Remove libltdl/Makefile.am. * libltdl/Makefile.am: Removed from repository, and merged into Makefile.am as we now generate it... * Makefile.am (libltdl/Makefile.am): ...from here, by extracting the merged rules, and tweaking paths to accomodate the difference in directory from Makefile.am to libltdl/Makefile.am. (nobase_dist_pkgdata_DATA): Automake generated installation rules change timestamps of installed files, so renamed this... (configauxfiles): ...to this... (libtoolize): ...substitute it... (install-data-local): ...install manually, preserving timestamps... (install-data-hook): ...and set execute bit as appropriate. (uninstall-hook): Not forgetting to remove them at uninstall. (libltdl/Makefile.in): New rule. Called from... * bootstrap: ...here to avoid relying on config.status at bootstrap time. (auxdir, m4dir): Extract from configure.ac for ease of future maintenance. Adjust all references. (reconfdirs): Call autoreconf for libltdl too -- even though we don't use it for the build, libltdl/configure and friends are installed with `libtoolize --ltdl --copy'. * libtoolize.m4sh: Add files from the installed config master tree to libtoolize --ltdl project subdirectory. Diagnose duplicated files when --ltdl is used in an autotooled project. It's perfectly fine to run `libtoolize --ltdl --copy' in a tree that has no configure.ac or configure.in; we want libltdl to be useful even to projects that don't use autotools themselves. (libtoolize_flags): Removed. Changed all callers. (func_massage_pkgconfig_files): New function. * tests/standalone.at: New tests for using libltdl without supporting configury in the parent project. * tests/testsuite.at: Run them! * NEWS: Updated. 2005-08-22 Peter Ekberg <peda@lysator.liu.se> * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [dumpbin]: Add forgotten end bracket. * doc/libtool.texi: Shorten the lines describing the output from MS dumpbin, and align the columns. * m4/libtool.m4: Bump serial number. (LT_PATH_NM): If nm is not found on the path, look for dumpbin. Then check if $NM responds as dumpbin would and if not, assume the name lister is BSD nm compatible. (_LT_CMD_GLOBAL_SYMBOLS): If the name lister uses the dumpbin interface, adjust the test to find a working global_symbol_pipe. * doc/libtool.texi: Document $NM to possibly be MS dumpbin compatible, and also document the format of the relevant output from MS dumpbin. 2005-08-21 Gary V. Vaughan <gary@gnu.org> * libltdl/Makefile.am: revert mistaken commit. * tests/template.at [darwin]: Some of these tests result in unresolved symbols on darwin, so don't run those test on that host! 2005-08-18 Gary V. Vaughan <gary@gnu.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (LT_OUTPUT): New macro to generate libtool before config.status. (_LT_CONFIG_COMMANDS): If LT_OUTPUT has been invoked, then generate code in config.status to call config.lt instead of generating libtool directly. * doc/libtool.texi (LT_INIT): Document LT_OUTPUT. * tests/early-libtool.at: New test. * Makefile.am (TESTSUITE_AT): Updated. * tests/testsuite.at: Updated. Define defaults for $ACLOCAL, $AUTOCONF. 2005-08-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * TODO: Actually updated now. * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ freebsd ]: Do not assume `aout' for modern FreeBSD by absence of deprecated `objformat'. * m4/libtool.m4 [sun, CC] (_LT_LANG_CXX_CONFIG): Move postdeps override .. (_LT_SYS_HIDDEN_LIBDEPS): ..here. * TODO: Updated. 2005-08-18 Stepan Kasal <kasal@ucw.cz> * config/general.m4sh (SP2NL, NL2SP): Simplify. 2005-08-17 Gary V. Vaughan <gary@gnu.org> * m4/ltdl.m4 (LTDL_INIT): Fix mismatched parens. 2005-08-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/inherited_flags.at: Store intermediate libtool output for better debugging. * tests/link-order.at: Add -no-undefined to LDFLAGS. * tests/convenience.at, tests/template.at: Change suffix of C++ files to .cpp, for compatibility with MSVC. Reported by Peter Ekberg <peda@axentia.se>. 2005-08-12 Jeremie LE HEN <tataz@sitadelle.com>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * doc/libtool.texi (Creating object files, Linking libraries): Update description of library object (.lo) and libtoo library (.la) files. (all over): Replace MODE with --mode=MODE in examples. 2005-08-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config/ltmain.m4sh (func_source): New function. (func_mode_execute, func_mode_install, func_mode_link): Use it. Do not append a dot to a file name to source, it breaks on cygwin managed mounts and is not necessary anywhere. Reported by Eric Blake <ebb9@byu.net>. * config/ltmain.m4sh (func_execute_cmds): New function. (func_mode_finish, func_mode_install, func_mode_link) (func_mode_uninstall): Use it. * tests/defs.m4sh (func_configure): Rename to .. (func_configure_nofail): this, call from old. * tests/fcdemo-conf.test, tests/fcdemo-shared.test, tests/fcdemo-static.test: Use. Do not fail gratuitously but SKIP on compilers that look like they could be Fortran 77-only. Reported by Patrick Welche <prlw1@newn.cam.ac.uk>. * config/ltmain.m4sh (mode): Do not initialize, for nicer error messages. 2005-08-10 Peter Ekberg <peda@lysator.liu.se> * m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Set ac_ext to cpp, not cc. 2005-08-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config/ltmain.m4sh (inherited_linker_flags): Backed out broken patch. 2005-08-08 Peter O'Gorman <peter@pogma.com> * config/ltmain.m4sh (inherited_linker_flags): Work when output is an application too. Reported by Christopher Egger <Christoph_Egger@gmx.de> 2005-08-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_PROG_FC, _LT_LANG_FC_CONFIG): New macros for modern Fortran. (LT_LANG, _LT_LANG_DEFAULT_CONFIG, _LT_SYS_DYNAMIC_LINKER, _LT_SYS_HIDDEN_LIBDEPS): Adjusted. * tests/fcdemo-conf.test, tests/fcdemo-exec.test, tests/fcdemo-make.test, tests/fcdemo-shared.test, tests/fcdemo-static.test, tests/fcdemo/Makefile.am, tests/fcdemo/README, tests/fcdemo/configure.ac, tests/fcdemo/cprogram.c, tests/fcdemo/foo.h, tests/fcdemo/fooc.c, tests/fcdemo/foof.f90, tests/fcdemo/foof2.f90, tests/fcdemo/foof3.f90, tests/fcdemo/fprogram.f90: New tests for Fortran. * tests/convenience.at: Extended. * Makefile.am, configure.ac: Adjusted. * NEWS: Updated. * AUTHORS, HACKING: Updated. 2005-08-05 Albert Chin-A-Young <china@thewrittenword.com> * config/ltmain.m4sh (func_mode_link): Ignore errors from expr when determining if piece-wise linking should be done. 2005-08-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config/ltmain.m4sh (func_mode_link) <cwrappersource>: Add missing bit from Christoph's patch. * m4/libtool.m4 (_LT_LINKER_HARDCODE_LIBPATH, _LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG): Comment typos. 2005-08-04 Christoph Egger <Christoph_Egger@gmx.de> * config/ltmain.m4sh (func_mode_link) <cwrappersource>: Change basename() to base_name() and have it return a pointer to const, fix compilation warnings. 2005-07-30 Peter Ekberg <peda@lysator.liu.se> * m4/libtool.m4 (_LT_PROG_F77): Set it up so that saying F77=no to configure disables the fortran tests in the testsuite. 2005-07-29 Richard Moseley <dickie.moseley@virgin.net> * m4/ltdl.m4 (LTDL_INIT): Handle in addition the new name for AC_LIST_HEADERS which is _AC_LIST_TAGS. 2005-07-28 Peter Ekberg <peda@lysator.liu.se> * libltdl/Makefile.am: Make the LTDLOPEN define controllable from the configure script. * m4/ltdl.m4 (LTDL_INIT): Set the LTDLOPEN define according to libname_spec. * tests/mdemo-dryrun.test: ls -l in MSYS sometimes shows year, not time, for really fresh files. Add sleep 1 calls at strategic places. Makes the test pass for MinGW. * m4/libtool.m4 (_LT_LINKER_OPTION): Fix copy-paste bug, it is the linker that is tested. * tests/demo-noinst-link.test: $make is empty on MSYS, replace with $MAKE. Makes the test pass for MinGW. * config/ltmain.m4sh (func_generate_dlsyms): Properly remove the fake symbol line ": @PROGRAM@ " from the list of exported symbols. * libltdl/loaders/loadlibrary.c (vm_open): Set the error mode so that no dialog is popped up in case the file given to LoadLibrary is not a dll. * config/ltmain.m4sh (func_mode_link) <lib>: Make sure skipped_export is set to colon if _some_ cmd of export_symbols_cmds is too long. * libltdl/ltdl.c: The linker is confused by having one definition of lt_libltdlc_LTX_preloaded_symbols tagged with __declspec(dllexport) in ltdl.c and one definition with an initial value in libltdlcS.c. So, just say extern in ltdl.c. Fixes the mdemo-exec.test for MinGW. * config/ltmain.m4sh (func_mode_link) <lib>: Zap duplicate message "creating reloadable object files..." 2005-07-23 Peter O'Gorman <peter@pogma.com> * m4/libtool.m4 (CXX, archive_cmds) [sun]: Add -lCstd, -lCrun and -lc for c++ builds with Sun C++ and Centerline C++.. Reported by Albert Chin-A-Young <china@hewrittenword.com> 2005-07-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_CHECK_XSI_SHELL): Fix bogus merge. Reported by Patrick Welche <prlw1@newn.cam.ac.uk>. 2005-07-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/Makefile.am (libltdl_la_DEPENDENCIES): Depend on $(BUILT_SOURCES) as well, so that argz.h gets created through `make libltdlc.la'. Reported by Sven Verdoolaege <skimo@liacs.nl>. 2005-07-08 Peter Breitenlohner <peb@mppmu.mpg.de> * Makefile.am (install-data-local): Have root own of installed files (but do not fail, for user installs). 2005-07-08 Bruno Haible <bruno@clisp.org> * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) <postinstall_cmds> [cygwin,mingw,pw32]: Make DLL executable after installing it. 2005-07-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config/ltmain.m4sh (func_mode_install): Do not assume `-f' needs an argument if the install program is `cp'. Cleanup install mode somewhat. Reported by Juergen Leising <juergen.leising@gmx.de>. 2005-07-03 Thorsten Glaser <tg@66h.42h.de> * m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): Quieten configure output for corner cases on some BSDs. (LT_CMD_MAX_LEN): Another comment cleanup. * config/ltmain.m4sh (func_extract_archives, func_mode_install), m4/libtool.m4 (_LT_SETUP, _LT_SYS_DYNAMIC_LINKER, LT_PATH_LD) (_LT_PATH_LD_GNU, _LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Comment language, indentation, and backquote cleanup. * THANKS: Updated. 2005-07-02 Peter O'Gorman <peter@pogma.com> * tests/inherited_flags.at: Use -no-undefined. Reported by Chris Oxenreider <oxenreid@state.net> 2005-07-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config/ltmain.m4sh (func_mode_compile, func_mode_link), m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH, _LT_ENABLE_LOCK): Remove some unnecessary quotes. * tests/convenience.at <GCJ>: Fix java test. Reported by Eric Blake <ericblake@comcast.net>. 2005-07-01 Derek R. Price <derek@ximbiot.com> * config/ltmain.m4sh (func_mode_link) <shell wrapper>: Handle spaces in paths to executed programs. Quote path in error message. 2005-06-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * THANKS: Updated. 2005-06-28 Stepan Kasal <kasal@ucw.cz> * clcommit.m4sh: "grep|sed" can be replaced by mere "sed". * m4/libtool.m4 (_LT_LIBTOOL_TAGS): Remove unnnecessary "[]". * m4/lt~obsolete.m4: Use m4_ifndef. 2005-06-27 Stepan Kasal <kasal@ucw.cz> * m4/ltsugar.m4 (lt_combine, _lt_combine): Fix default separator. * m4/ltoptions.m4 (_LT_UNLESS_OPTIONS, _LT_SET_OPTIONS): Replace AC_FOREACH by a combination of m4_foreach/m4_split/m4_normalize. 2005-06-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/ltoptions.m4 (_LT_SET_OPTIONS): Remove unnecessary workaround for CVS Automake bug (fixed). Reported by Stepan Kasal <kasal@ucw.cz>. 2005-06-21 Peter O'Gorman <peter@pogma.com> * conig/ltmain.m4sh [darwin]: Accept -arch flag. 2005-06-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_COMPILER_BOILERPLATE, _LT_LINKER_BOILERPLATE): New macros: save warnings and boilerplate of simple compile/link tests. (_LT_LANG_C_CONFIG, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG) (_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Call. (_LT_COMPILER_OPTION, _LT_LINKER_OPTION, _LT_COMPILER_C_O, ): Fail only if nonempty warnings different from default compile/link. 2005-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/ltsugar.m4 (lt_car, lt_cdr): New macros, clones of m4_car/m4_cdr with the fixed semantics of Autoconf-2.59c CVS, in order to work with 2.59. (lt_combine): Use it. Reported by Christoph Egger <Christoph_Egger@gmx.de>. 2005-06-11 Ralf Menzel <menzel@ls6.cs.uni-dortmund.de>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/ltoptions.m4 (_LT_SET_OPTIONS): Loop options only if nonempty. * m4/ltsugar.m4 (lt_combine): Don't test against empty quotes, test against empty arg. Fixes infinite m4 loop with CVS Autoconf. 2005-06-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_COMPILER_OPTION, _LT_LINKER_OPTION): No need for $ECHO here. Fix sed script syntax to be portable. This should now put the pic-flag right after the last $*FLAGS variable again, if any. Necessary for Fortran AC_FC_SRCEXT. 2005-06-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_CONFIG_COMMANDS): Remove long lines. 2005-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): PGI also has pgf95. PGI static flag is `-Bstatic'. Remove harmless extra comma from whole_archive output. 2005-06-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config/ltmain.m4sh (func_mode_compile): In order to find out about forbidden characters in output, check with grep after checking func_quote_for_eval result. Also, warn instead of fail. * config/general.m4sh (func_quote_for_eval) (func_quote_for_expand): Revert SunOS sh bug workaround patch from 2004-12-28 as it triggers bugs in the Tru64 5.1B shell. Reported by Albert Chin <libtool@mlists.thewrittenword.com> and Nicolas Joly <njoly@pasteur.fr>. 2005-06-01 Olly Betts <olly@survex.com> (tiny change) * libltdl/argz.c (argz_create_sep): Fix typo. 2005-05-31 Peter O'Gorman <peter@pogma.com> * config/ltmain.m4sh: Do not add installed static litool libraries to convenience, they are not convenience libraries. Reported by Chen-Mou Cheng <chenmou.cheng@gmail.com> 2005-05-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * THANKS: Updated. 2005-05-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [aix]: Fix wrong $ECHO use overlooked in 2005-04-27. Simplify slightly. * m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [linux]: PGI: Add $pic_flag to archive_cmds and archive_expsyms_cmds. Bug reported against LAM by Troy Telford <ttelford@lnxi.com>. 2005-05-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * THANKS: Updated. 2005-05-06 Gary V. Vaughan <gary@gnu.org> * libltdl/m4/ltdl.m4 (LT_WITH_LTDL): Propogate ltdl directory. 2005-05-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * Makefile.am (stamp-vcl): Use `diff' instead of `cmp'. 2005-04-30 Gary V. Vaughan <gary@gnu.org> Revert the parallel installation changes from November last year: * libtoolize.m4sh (pkgdatadir, aclocaldir): Substituted from configure. (func_copy_all_from_path): Removed. No longer used. (func_copy_some_files): Simplify now that nothing is copied from a list of possible directories now. (func_scan_files): Remove directory readability check... (func_nonemptydir_p): ...in favour of a dedicated sanity check function called from the main body. (_lt_pkgvdatadir): Set pkgdatadir and aclocaldir appropriately if this is in the environment. * configure.ac: Tests for `ln' removed. (APIVERSION): Removed. * Makefile.am (pkgvdatadir, nobase_dist_pkgvdata_DATA) (nobase_pkgvdata_DATA): Renamed to... (pkgdatadir, nobase_dist_pkgdata_DATA, aclocalfiles): ...these respectively. (edit): Adjust for new variable names. (install-data-local): Don't bother to remove old macro files that will be overwritten by the installation, and perform a manual installation of $(aclocalfiles) to preserve timestamps. (install-exec-hook): Removed. No need to make versioned links. (uninstall-hook): No need to remove versioned links, but now we need to manually remove the manually installed $(aclocalfiles). * doc/libtool.texi: Remove bogus notes about setting ACLOCAL_AMFLAGS for versioned libtool installations. * NEWS: Remove parallel installation item. 2005-04-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/ltdl.m4 (all over): Quote all arguments to AC_DEFINE and AC_DEFINE_UNQUOTED consistently. Reported by Michael Koch <konqueror@gmx.de>, Riccardo Mottola <zuse@libero.it>, and Dalibor Topic <robilad@kaffe.org>. * HACKING: Updated. 2005-04-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/convenience.at: Actually add. * tests/convenience.at: New. Test convenience archives. * Makefile.am, tests/testsuite.at: Adjust. * tests/testsuite.at: Reorder tests. Suspend AT_TESTED. (PREPARE_TESTS): Define EGREP, host, build, LIBTOOL. (LT_AT_BOOTSTRAP): Fail if autoreconf fails. (LT_AT_EXEC_CHECK): New macro for execution of $build binaries. (LT_AT_TAG): New macro to test tag availability or skip test. * tests/am-subdir.at, tests/duplicate_members.at, tests/inherited_flags.at, tests/link-order.at, tests/stresstest.at, tests/template.at: Adjust. Use LT_AT_TAG, LT_AT_EXEC_CHECK, AT_KEYWORDS. Use compiler/linker flags consistently. * tests/link-order.at: Fix use of AT_DATA, bogus redirection inside AT_CHECK. * tests/stresstest.at: Do not use wildcards/regex in symbol files, they are not portable. Use -no-undefined on win32. Fix to ignore compile/link warnings. * tests/f77demo/foo.h, tests/f77demo/fooc.c, tests/f77demo/cprogram.c, tests/mdemo2/main.c, tests/pdemo/foo.h: Make declarations available. * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [linux]: sed 3.02 does not understand \t in regex. Reported by Tim Van Holder <tim.vanholder@gmail.com>. * tests/defs.m4sh (func_configure): Don't run the whole configure script with -x. * config/ltmain.m4sh: Audit use of echo vs $ECHO. Reported by Robert Ögren <lists@roboros.com> and others. * TODO: Updated. 2005-04-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, Gary V. Vaughan <gary@gnu.org> * HACKING, THANKS: Updated. 2005-04-25 David Edelsohn <dje@watson.ibm.com> * m4/libtool.m4 (_LT_LINKER_SHLIBS): _LT_TAGDECL(file_list_spec). * config/ltmain.m4sh (func_mode_link): Change $filelist to $output. 2005-04-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_CC_BASENAME): Ignore `compile'. 2005-04-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) [solaris]: Update wl for Sun Studio f77/f90/f95. Fix whole_archive_flag_spec for cc and f77/f90/f95 to prevent reordering in case we link with $CC. * m4/libtool.m4: Audit use of echo vs $ECHO. * TODO: Update. Reported by Robert Ögren <lists@roboros.com> and others. 2005-04-23 Gary Kumfert <kumfert@llnl.gov> * m4/libtool.m4 (_LT_LANG_F77_CONFIG) [aix4, aix5]: Adjust logic to match the C case: Only disable static if not on ia64 nor runtimelinking. 2005-04-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> (tiny change) * Makefile.am, HACKING: Use lt__cd throughout. 2005-04-22 Gary V. Vaughan <gary@gnu.org> The FSF are moving offices today. Changed their contact address in all files from `59 Temple Place, Suite 330, MA 02111-1307' to `51 Franklin Street, Fifth Floor, MA 02110-1301'. 2005-04-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libtoolize.m4sh (func_scan_files, func_serial, func_ltmain_update, func_config_update, func_install_update): Placate AIX sed. 2005-04-19 David Edelsohn <dje@watson.ibm.com> * config/ltmain.m4sh (func_mode_link): If command exceeds max_cmd_len and file_list_spec exists, write list of input files to temporary file. * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [aix4,aix5]: Define file_list_spec. 2005-04-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/demo-hardcode.test: Fix typo. 2005-04-17 Alexandre Oliva <aoliva@redhat.com>, Peter O'Gorman <peter@pogma.com> * config/ltmain.m4sh: Don't add files with the same base name to an archive; rename duplicates instead. (func_extract_an_archive): Remove section to deal with duplicate base names in an archive. * tests/functests.at: remove. * tests/duplicate_members.at: new test. * tests/testsuite.at: Add new test, remove old. * Makefile.am: Add new test, remove old. 2005-04-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/demo-hardcode.test [solaris]: Use dumpstabs if available, to avoid false failure caused by debug section which contains command line (Solaris cc). Reported by Ralf Menzel <menzel@ls6.cs.uni-dortmund.de>. 2005-04-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> (tiny change) * libtoolize.m4sh (func_copy_cb): Fix syntax typo. 2005-04-15 Maciej W. Rozycki <macro@linux-mips.org> * m4/libtool.m4 (_LT_LANG_GCJ_CONFIG): Add old_archive_cmds definition. 2005-04-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_CC_BASENAME): New macro to figure out $cc_basename. Skip ccache, distcc, purify, cmdline options, `$host_alias-' prefix. (_LT_SETUP, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG) (_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Use. * NEWS, TODO: Update. 2005-04-15 Gary V. Vaughan <gary@gnu.org> * libltdl/configure.ac (AC_OUTPUT): loaders/Makefile is no longer used. * Makefile.am (lt__cd, CD_TESTDIR): New make macros to work around problems with CDPATH in some shells. (check-local, installcheck-local, clean-local): Use them. 2005-04-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> (tiny change) * bootstrap: Define srcdir for making `commit'. 2005-04-14 Alexandre Oliva <aoliva@redhat.com>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config/ltmain.m4sh (link mode): Add to tmp_libs paths for libtool dep libs in reverse order as well. * Makefile.am, tests/testsuite.at, tests/link-order.at: New test. 2005-04-13 Gary V. Vaughan <gary@gnu.org> Since the bootstrap process requires that several of the rules for files generated in doc and tests already lived in $top_srcdir/Makefile.am, along with proxy rules in sub-Makefiles, this changeset consolidates almost everything into the top Makefile.am, simplifying things considerably: * doc/Makefile.am, tests/Makefile.am: Removed. All rules moved... * Makefile.am: ...to here and adjusted to run from $top_builddir. Some reformatting to group rules and declarations by purpose, and simplify with respect to removing much of the make recursion. Add `doc/PLATFORMS', `doc/fdl.texi' and `doc/notes.texi'. `defs.in' and `defs.m4sh' are in directory `tests'. (uninstall-hook): Don't forget to uninstall libtoolize's libltdl source tree. * bootstrap: Simplified dirty makefile management, and bootstrap file creation in light of having only a single pertinent Makefile. * configure.ac (CONF_SUBDIRS): Add tests/ prefix to each subdir to compensate. (DIST_MAKEFILE_LIST): Adjust. (AC_CONFIG_FILES): Remove doc/Makefile and tests/Makefile. * tests/defs.m4sh (LIBTOOL, scripts): Adjust paths. * tests/cdemo-conf.test, tests/cdemo-exec.test, tests/cdemo-make.test, tests/cdemo-shared.test, tests/cdemo-static.test, tests/cdemo-undef.test, tests/demo-conf.test, tests/demo-deplibs.test, tests/demo-exec.test, tests/demo-hardcode.test, tests/demo-inst.test, tests/demo-make.test, tests/demo-nofast.test, tests/demo-noinst-link.test, tests/demo-nopic.test, tests/demo-pic.test, tests/demo-relink.test, tests/demo-shared.test, tests/demo-static.test, tests/demo-unst.test, tests/depdemo-conf.test, tests/depdemo-exec.test, tests/depdemo-inst.test, tests/depdemo-make.test, tests/depdemo-nofast.test, tests/depdemo-relink.test, tests/depdemo-shared.test, tests/depdemo-static.test, tests/depdemo-unst.test, tests/f77demo-conf.test, tests/f77demo-exec.test, tests/f77demo-make.test, tests/f77demo-shared.test, tests/f77demo-static.test, tests/link-2.test, tests/link.test, tests/mdemo-conf.test, tests/mdemo-dryrun.test, tests/mdemo-exec.test, tests/mdemo-inst.test, tests/mdemo-make.test, tests/mdemo-shared.test, tests/mdemo-static.test, tests/mdemo-unst.test, tests/mdemo2-conf.test, tests/mdemo2-exec.test, tests/mdemo2-make.test, tests/nomode.test, tests/objectlist.test, tests/pdemo-conf.test, tests/pdemo-exec.test, tests/pdemo-inst.test, tests/pdemo-make.test, tests/quote.test, tests/sh.test, tests/suffix.test, tests/tagdemo-conf.test, tests/tagdemo-exec.test, tests/tagdemo-make.test, tests/tagdemo-shared.test, tests/tagdemo-static.test, tests/tagdemo-undef.test, tests/tagtrace.test (func_cd, func_require): Adjust paths. 2005-04-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config/general.m4sh, libtool.m4 (_LT_SETUP), tests/defs.m4sh, tests/functests.at: Fix definition of $Xsed. 2005-04-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Improved Portland support: prelinking of C++ templates and whole_archive. * m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) [linux]: Reinstate formatted whole_archive_flag_spec for PGI compilers. * config/ltmain.m4sh (func_mode_link), m4/libtool.m4 (_LT_LINKER_SHLIBS): New tag prelink_cmds, to be executed before linking a program. (_LT_LANG_CXX_CONFIG) [linux]: Use for pgCC. (_LT_COMPILER_C_O): conftest might be nonempty, clean up more thoroughly. * tests/testsuite.at (LT_AT_BOOTSTRAP): Temporary fix for testing in-tree libtoolize. * m4/libtool.m4 (_LT_CONFIG_COMMANDS): Only call sed if necessary while quoting all libtool variables. Reported by Robert Ögren <lists@roboros.com>. 2005-04-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/Makefile.am: Typo. 2005-04-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * notes.texi: Platform-specific configuration notes. * doc/libtool.texi: Include as section. * bootstrap, doc/Makefile.am: build also as notes.txt and distribute. 2005-04-04 Gary V. Vaughan <gary@gnu.org> Under certain circumstances, not all of the macro files were copied into the destination directory. This changeset fixes that bug: * libtoolize.m4sh (func_serial_update): Renamed local variable `my_update_p' to `my_serial_update_p', and initialise it correctly even when the destination file is not yet there. Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2005-04-04 Gary V. Vaughan <gary@gnu.org> * tests/libtoolize.at: New tests for basic libtoolize functionality and reporting. * tests/testsuite.at: Call them. * tests/Makefile.am: Distribute them. * libtoolize.m4sh (pkgvdatadir): Renamed from this... (_lt_pkgvdatadir): ...to this. * tests/testsuite.at (LT_AT_LIBTOOLIZE): The `-I' option is no longer supported by libtoolize. Set _lt_pkgvdatadir in the environment of the invocation instead. 2005-04-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/template.at: New Autotest tests for C++ with templates. First test provided by Markus Christen <markus@igc.phys.chem.ethz.ch>. * tests/Makefile.am, tests/testsuite.at: Use and distribute. 2005-04-04 Gary V. Vaughan <gary@gnu.org> * libtoolize.m4sh (func_serial_update): Replace missing destination serial calculation line, presumably lost due to a bad merge. * libltdl/loaders/Makefile.am: Removed actually. 2005-04-04 Gary V. Vaughan <gary@gnu.org> Getting the value of ltdldatafiles from a submake was not portable, and had problems with GNU make-3.80 at least. This changeset pulls the installation rules for libtoolize's copy of the libltdl sources out of libltdl/Makefile.am so that ltdldatafiles is defined in the same Makefile that uses it. Also, this makes a start at cleaning up libltdl/Makefile.am so that it is useful in a package that uses `libtoolize --ltdl': * libltdl/loaders/Makefile.am: Removed entirely. * libltdl/Makefile.am (dlopen.la, dld_link.la, dyld.la) (load_add_on.la, loadlibrary.la, shl_load.la): All built from here now that the loaders submake has gone. (show-ltdldatafiles): Removed. No longer required. (ltdldatadir, ltdldatafiles, install-local): Moved from here... * Makefile.am (ltdldatadir, ltdldatafiles, install-local): ..to here. (libtoolize): Substitute $(ltdldatafiles) directly without calling make to get the value from libltdl/Makefile. 2005-04-01 Gary V. Vaughan <gary@gnu.org> * Makefile.am (libtoolize): Substitute $(nobase_pkgvdata_DATA). pkgvmacro_DATA is no longer set in the makefile. * libtoolize.m4sh (func_massage_pkgvmacro_DATA): Use it and, for consistency, renamed from this... (func_massage_nobase_pkgvdata_DATA): ...to this. Adjust all callers. 2005-04-01 Gary V. Vaughan <gary@gnu.org> Fix problems with serial comparison sed scripts, and factor out common code from similar serial comparison functions: * libtoolize.m4sh (func_keyword_update): Common code factored out of func_ltmain_update and func_config_update. (func_ltmain_update, func_config_update): Adjust, and fix sed expressions to not use unportable ? modifier. (func_install_update): New serial number based file updater keyed off 'scriptversion' variable in install-sh. Adjust all callers. 2005-04-01 Gary V. Vaughan <gary@gnu.org> Most of the hair introduced ostensibly to enable testing of uninstalled libtoolize isn't necessary if we allow overriding of the libtool master copy directory: * configure.ac (pkvmacrodir): No need to substitute this. * Makefile.am (edit): No need to substitute pkgvmacrodir. (dist_pkgvdata_DATA): Use nobase_ prefix so that these files are installed to $(pkgvdatadir)/config. (pkgvmacro_DATA): Renamed to... (nobase_pkgvdata_DATA): ...this, so that files are installed to $(pkgvdatadir)/m4. (install-data-hook): Adjust. * libtoolize.m4sh: Remove -I processing. (func_filename_path_search): No longer required without -I. Adjust all callers. (pkgvltdldirs, pkgvmacrodirs): Deleted. (pkgvdatadir): Allow overriding from the environment so that we can write tests for uninstalled libtoolize. (func_serial_update, func_ltmain_update, func_config_update): Rename srcdirs parameter to srcdir, and don't call the path_search function anymore. Adjust all callers. (--install): Don't blindly copy all config files. 2005-04-01 Mike Stump <mrs@apple.com> * m4/libtool.m4 (LT_CMD_MAX_LEN) [netbsd, freebsd, openbsd darwin, dragonfly]: Use 3/4 of argmax, instead of 1/4. 2005-03-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Set $cc_basename. * HACKING: echo vs $ECHO. 2005-03-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> (tiny change) * doc/libtool.texi: Minor formatting cleanups. 2005-03-24 Gary V. Vaughan <gary@gnu.org> * libtoolize.m4sh: Propogate --debug flag to sub-libtoolizes. * libtoolize.m4sh: Fix a typo, s/pkgvltdldirs/pkgvdatadirs/. When using -I to test an uninstalled libtoolize, we need to add the config subdirectory to the search path so that ltmain.sh can be found in the source tree. * libtoolize.m4sh (func_copy_some_files): IFS needs to be set to path delimiter for all inner loop iterations. Once a matching file has been copied, no need to keep searching the path for another -- move on to the next file! * libtoolize.m4sh: For verbose mode, explain why macro files are not installed without an AC_CONFIG_MACRO_DIR declaration. 2005-03-24 Gary V. Vaughan <gary@gnu.org> As a prerequisite for being able to test an uninstalled libtoolize for copying files correctly from the source tree, we must know exactly which files should be copied by the --ltdl option to avoid accidentally picking up compilation objects and other noise when $builddir == $srcdir: * libltdl/loaders/Makefile.am (ltdldatadir, ltdldatafiles) (install-data-local): Removed... * libltdl/Makefile.am (ltdldatafiles): ...and consolidated here. (show-ltdldatafiles): New rule... * Makefile.am (ltdldatafiles, libtoolize): ...used to substitute exactly which files are installed by libtoolize --ltdl. (edit): Move pkgvmacro_DATA substitution expression... (libtoolize): ...to here. * libtoolize.m4sh: Use func_copy_some_files() instead of func_copy_all_from_path() to copy the --ltdl option installed files. (pkgvltdldirs): New path variable to search for files installed by --ltdl option. (func_massage_pkgvltdl_files): New function to calculate the list of ltdl installation files. 2005-03-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> (tiny change) * m4/libtool.m4, m4/ltdl.m4: Indentation and quoting cleanup. 2005-03-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_LINKER_SHLIBS) [solaris]: Use ${wlarc} and set to empty when using $LD for linking. Fixes regression introduced in 2004-11-17. Reported by Ralf Menzel <menzel@ls6.cs.uni-dortmund.de> and Пухальский Юрий Андреевич <pooh@cryptopro.ru>. 2005-03-21 Gary V. Vaughan <gary@gnu.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_SETUP, _LT_LANG_CXX_CONFIG) (_LT_LANG_F77_CONFIG): For matching compiler names -- Pick only first word, allow leading white space. * tests/sh.test: ..and test for missing `*' at end of patterns. 2005-03-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * TODO: Update. 2005-03-20 Peter Ekberg <peda@lysator.liu.se> * m4/libtool.m4 (_LT_LINKER_SHLIBS) [irix5, irix6, nonstopux]: Test if it is possible to use the -exports_file linker option on irix with gcc, as the gcc specs file may include a -hidden_symbol option that is clashing with the -exports_file option. See this gcc bugzilla entry for further details: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15288 * THANKS: Update. 2005-03-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/demo-nopic.test: Enhance status output noted by Tom Burger <tvburger@few.vu.nl>. 2005-03-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config/ltmain.m4sh, tests/defs.m4sh: Typos. 2005-03-18 Peter O'Gorman <peter@pogma.com>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4: The compiler can be a program name with args, so always check cc_basename against compiler name and a wildcard. Also, drop unnecessary quotes in `case' argument. 2005-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * Makefile.am: tests/defs.in depends on config/general.m4sh. * config/general.m4sh: unconditionally set IFS, and set it to the one true right sequence: space, tab, newline. * m4/libtool.m4: remove IFS setting and as_* namespace infringement. * m4/libtool.m4 (_LT_CONFIG): Reset IFS to fix failure with ash. * configure.ac, libltdl/configure.ac: s/##/dnl/ for comments that are meaningless in configure. Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>. 2005-03-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/configure.ac: Update version; require Autoconf >= 2.59. * bootstrap: Allow to override tools. 2005-03-15 Gary V. Vaughan <gary@gnu.org> * libtoolize.m4sh (func_massage_pkgvmacro_DATA): New function to calculate the macro filenames to be copied by libtoolize. * Makefile.am (edit): Substitute pkgvmacro_DATA. * bootstrap: Need to generate tests/package.m4 from Makefile.am before generating tests/testsuite from tests/Makefile.am, or else bootstrap of a fresh checkout fails. 2005-03-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_COPYING): Update Copyright year. * m4/libtool.m4 (_LT_LINKER_SHLIBS) [linux]: Remove MAIN_ dependency when creating shared libraries with Portland pgf77. 2005-03-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * configure.ac: stamp-vcl is in $top_srcdir, not $top_builddir. 2005-03-12 Per Bothner <per@bothner.com>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Allow special characters in source file names. Will break unless `-o target' is also given, which must not contain special characters. En passant, fix source file quoting broken for cygwin/MSVC: * config/ltmain.m4sh (func_mode_compile): Use new variable qsrcfile for quoted source file name for compile $command. Fix missing quotes for _c_o lockfile. * NEWS: Update. 2005-03-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config/ltmain.m4sh (func_mode_link): Reword double negation in error message. Reported by Jesper Louis Andersen <jlouis@mongers.org>. * bootstrap: really remove bogus files Makefile tests/Makefile. * doc/libtool.texi: Replace wicked whiches by thats or other better-sounding constructs. 2005-03-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> (tiny change) * tests/Makefile (clean-local): Ignore testsuite cleanup failures. 2005-03-11 Per Bothner <per@bothner.com> (tiny change) * tests/Makefile (clean-local): Only run the testsuite cleanup if the testsuite has been generated. 2005-03-10 Gary V. Vaughan <gary@gnu.org> * libltdl/Makefile.am (install-data-local): Don't force v7 tar format with the `o' flag in create mode. Set the umask to 0 when untarring to avoid copied files taking their mode from the installer's umask. * libltdl/loaders/Makefile.am (install-data-local): Ditto. * libtoolize.m4sh (func_copy_cb): Ditto. Ignore errors from failed `cd' in the tar processes, since we may be running in dryrun mode. Reported by Noah Misch <noah@cs.caltech.edu>, Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2005-03-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/Makefile.am: $(builddir) is not defined, replace by `.'. 2005-03-08 Albert Chin-A-Young <china@thewrittenword.com> * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [irix*, osf*]: Output -update_registry information to ${output_objdir} directory, not ${objdir}. ${output_objdir} will work when a project has a single Makefile and performs builds in subdirectories. ${objdir} expects the source in the current directory, breaking single-Makefile builds. 2005-03-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/stresstest.at: Remove multiple variable definition. * TODO: Update. * THANKS: Update. 2005-03-02 Gary V. Vaughan <gary@gnu.org> * libtoolize.m4sh (func_copy_cb): Use tar chof to avoid symlink attacks. * libltdl/Makefile.am, libltdl/loaders/Makefile.am (install-data-local): Ditto. 2005-02-27 Gary V. Vaughan <gary@gnu.org> In branch-2-0 (and in time, others) ltversion.m4 has a dot delimited serial number that didn't used to be processed correctly by libtoolize. This changeset fixes that, and leverages those changes to check versions of ltmain.sh and config.sub, config.guess before overwriting when --force is not given: * libtoolize.m4sh: Don't overwrite pkgaux files with --force unless --install is given too. (func_serial): Fix underquoting in regexp. (func_serial_max): New function to compare serial numbers. (func_serial_update_check): New function factored out of func_serial_update(). (func_serial_update): Bail if SRCFILE is missing. Don't display both 'already up to date' and 'use --force to update' messages for the same file. Use func_serial_max to cope with `.' delimited serial numbers. (func_ltmain_update): Use func_serial_update_check and func_serial_max to do version checking with $package_revision. (func_config_update): Ditto with $timestamp. 2005-02-26 Gary V. Vaughan <gary@gnu.org> * libltdl/Makefile.am (install-data-local): cd to $(srcdir) before tarring up the files for installation to $(DESTDIR)$(ltdldatadir). Don't remove the destination directory, since that interacts badly with the multi-Makefile installation. * libltdl/loaders/Makefile.am (install-data-local): Ditto. 2005-02-26 Gary V. Vaughan <gary@gnu.org> I assume that it is okay to have undefined symbols in convenience libraries that will be used as modules -- the pic objects are built normally, and are not expected to resolve all their symbols until they are linked into a library; convenience libraries are then rolled using 'ar' and 'ranlib' (or equivalent) which also do not check whether symbols are resolved. We now build each of the loaders as a convenience library module under these assumptions, and link libltdl.la with selected modules, at which time all of the symbols *are* resolved: * TODO: Remove item addressed by this changeset. * libltdl/Makefile.am (lib_LTLIBRARIES): Remove libdlloader.la. (libdlloader_la_SOURCES): Declaration removed. Changed all clients. Source files.. (libltdl_la_SOURCES): ...added back in here. (libdlloader_LDFLAGS, libdlloader_la_LIBADD): Removed. (libltdl_la_LIBADD): Remove libdlloader.la; add $(LTLIBOBJS). * libltdl/loaders/Makefile.am: Removed all references to libdlloader.la. 2005-02-25 Gary V. Vaughan <gary@gnu.org> * libtoolize.m4sh (func_copy): Split arguments to func_copy_cb calls across lines so that quote.test doesn't misdiagnose nested quotes. * m4/libtool.m4 (_LT_LANG_CXX_CONFIG, _LT_COMPILER_PIC): Fix some typos -- s/_LT_AC_TAGVAR/_LT_TAGVAR/g. 2005-02-24 Peter O'Gorman <peter@pogma.com> * m4/libtool.m4 (_LT_LINKER_SHLIBS): The Portland group's compiler does not pass --whole-archive. Move gnu ld check for the flag to the top so it can be overridden. (_LT_LANG_CXX_CONFIG, _LT_COMPILER_PIC): Unset whole_archive_flag_spec for the portland group's c++ compiler too. Reported by Jeff Squyres <jsquyres@lam-mpi.org> 2005-02-23 Gary V. Vaughan <gary@gnu.org> * libltdl/Makefile.am (install-data-local): Don't forget about $(DESTDIR). * libltdl/loaders/Makefile.am (install-data-local): Ditto. 2005-02-23 Gary V. Vaughan <gary@gnu.org> Preserving the installed timestamps for libltdl sources from `libtoolize --ltdl --copy' is pointless if they are not preserved from the libtool source tree at install time: * libltdl/Makefile.am, libltdl/loaders/Makefile.am (nobase_ltdldata_DATA): Renamed to... (ltdldatafiles): ...this. (install-data-local): New rule to install libltdl tree with tar to preserve timestamps. 2005-02-23 Christoph Egger <Christoph_Egger@gmx.de> (tiny change) * config/ltmain.m4sh (func_mode_link): Add -pthread like flags to inherited_linker_flags. 2005-02-22 Gary V. Vaughan <gary@gnu.org> * libtoolize.m4sh (func_copy_cb): self.leg->shoot_off() :-/ Let's not redirect stdout to null when sending tar output to a pipe. 2005-02-22 Gary V. Vaughan <gary@gnu.org> Using `libtoolize --copy --ltdl' was not preserving timestamps, so parts of the autoconf bootstrap would be rerun spuriously after the files had been copied into the source tree: * libtoolize.m4sh (TAR): New default tar command. (func_copy_cb): Move the core copying internals to here, using $TAR to transfer files if possible when --copy was specified. (func_copy): Adjust to call func_copy_cb. * TODO: Remember to refactor this fix in due course. Reported by Jeff Squyres <jsquyres@lam-mpi.org> 2005-02-21 Peter O'Gorman <peter@pogma.com> * config/ltmain.m4sh (func_extract_archives) [darwin]: This didn't actually work on a real fat archive, should do now. * tests/functests.at [darwin]: remove darwin fat tests which did not actually work. 2005-02-07 Peter O'Gorman <peter@pogma.com> * config/ltmain.m4sh: Add -pthread like flags when linking executables too. Reported by Andreas Schwab <schwab@suse.de> 2005-02-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config/ltmain.m4sh (func_mode_link): Allow five digits in version-info. * NEWS: s/Linux/GNU &/. 2005-02-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/Makefile.am, tests/testsuite.at, tests/stresstest.at: New test. Stresses several combinations of link flags and path specifications. Uses several data types to test linkage against symbols in all kinds of (e.g., ELF) sections. 2005-02-03 Reid Spencer <reid@x10sys.com>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config/ltmain.m4sh (func_generate_dlsyms): Fix broken subdir path computation, exposed by using `-dlopen self'. Fix broken sed script exposed by additionally using `-export-symbols FILE'. 2005-02-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * THANKS: Update. * THANKS: Update. 2005-02-03 Peter O'Gorman <peter@pogma.com> * config/ltmain.m4sh [darwin]: Don't add installed libs to temp_rpath when building executables on darwin, or other systems which use hardcode_automatic. It may break our wrapper scripts. 2005-02-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config/getopt.m4sh (func_version, func_usage, func_help): Exit with nonzero status on write failures. * config/ltmain.m4sh (func_mode_help, func_config, func_features): Ditto. * tests/sh.test: Check for preferred function definition layout. 2005-02-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [pw32, freebsd3.[01], freebsdelf3.[01]]: Fix [] quoting. Should fix various spurious failures. (_LT_LINKER_SHLIBS) [linux with GNU ld < 2.11, aix4.[012]*]: Ditto. (_LT_LANG_CXX_CONFIG) [aix4.[012]*, freebsd[12], solaris2.[0-5]]: Ditto. (_LT_LANG_GCJ_CONFIG): Ditto. * tests/Makefile.am: Add `atconfig' to DISTCLEANFILES. * clcommit.m4sh: Test whether the shell understands `read -r'. Use as `$read_r' if available, so `\' is preserved in commit notices. * HACKING (Editing `.m4sh' Files): Document preferred function header layout. * config/ltmain.m4sh (func_win32_libid, func_infer_tag) (func_generate_dlsyms, func_extract_an_archive) (func_extract_archives): Adjust to fit. 2005-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Unicos 9 sed rejects empty parentheses as in 's/x\(\)/\1/'. (_LT_COMPILER_PIC) [unicos*]: wl=-Wl,. * tests/sh.test: Not all sed's like '/.*\n.*/' (Unicos 9 sed loops endlessly). * tests/quote.test: Match link quoting against `"$wl"', not `-Wl,'. * tests/quote.test: Check for `--no-reexec' in $1 to avoid one reexec. * m4/libtool.m4 (_LT_COMPILER_C_O): _LT_TAGDECL(lt_compiler_c_o), not _LT_DECL, since this is tag-dependent. * config/ltmain.m4sh, m4/libtool.m4: Change `( cmd ) 2>/dev/null' to `{ cmd; } 2>/dev/null', when cmd has no side effects and might be a builtin. Note that it is unspecified whether cmd will run within a subshell (e.g. Bourne shells) or within the current shell (most modern shells). 2005-01-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [linux]: Update for Intel Compiler icc/icpc/ifort: add -i_dynamic and -nofor_main, if necessary. Simplify logic somewhat. 2005-01-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/Makefile.am: also re-export CPP, CXXCPP, and the value of SHELL as CONFIG_SHELL. Reported by Heinz Salzmann <heinz.salzmann@micronas.com>. 2005-01-26 Craig Dooley <xlnxminusx@gmail.com>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * NEWS, m4/libtool.m4, config/ltmain.m4sh [dragonfly]: Add support for DragonFly. 2005-01-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Work around pdksh positional parameter expansion bug. 2005-01-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config/ltmain.m4sh: Fix endless loop in cmdline parsing. 2005-01-25 Albert Chin-A-Young <china@thewrittenword.com> * config/ltmain.m4sh (func_mode_link) [irix]: Preserve processor option for SGI Compiler (-r[0-9][0-9]*). 2005-01-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Define Bourne and XSI variants of new function func_stripname for stripping literal prefixes and suffixes. * config/ltmain.m4sh (all over): Use func_stripname. * tests/defs.m4sh: Extract $build from $LIBTOOL. (func_configure): Pass --host if $host != $build. (func_exec): Try executing cross-compiled binaries (e.g. i686 -> i386), but SKIP rather than FAIL. * tests/depdemo-relink.test: Do not try to access possibly non- existent files. SKIP rather than FAIL or PASS falsely when cross-compiling. * m4/libtool.m4 (_LT_SETUP) [mingw, cygwin, pw32, os2]: Add _LT_DECLs for host_os, build_alias, build and build_os. host_os and build were used in a few occasions in ltmain.m4sh and affect above-mentioned systems, the others are added for symmetry and in order to be able to detect cross-compiling. 2005-01-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/Makefile.am: Add $(AM_LDFLAGS) to all per-target variables *_LDFLAGS as per CVS Automake semantic change. 2005-01-16 Peter O'Gorman <peter@pogma.com> * config/ltmain.m4sh (func_mode_link): Don't pass through compiler-like thread flags when using $LD to do the linking. Use compiler_flags instead. Reported by Mark_Andrews@isc.org. * m4/libtool.m4 (LT_CMD_MAX_LEN) [osf]: On Tru64 there could be a kernel panic when testing the maximum command line length if exec_disable_arg_limit=1. Don't do the tests to figure it out on *-osf*. Reported by Dr. Hans Ekkehard Plesser <hans.ekkehard.plesser@umb.no> 2005-01-14 Guido Draheim <guidod-2003-@gmx.de> (tiny change) * m4/libtool.m4 (AC_PROG_SED): Don't break test loop early. 2005-01-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * TODO: Update. * libltdl/ltdl.c: Whitespace cleanup. * config/ltmain.m4sh: New option `--verbose'/`-v' to enable override of `--silent'. Verbose is the default behavior. * doc/libtool.texi (Invoking libtool): Document it. * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [linux]: While "parsing" /etc/ld.so.conf, skip comments. Reported by Jens Elkner <elkner@linofee.org>. 2005-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/libltdl/lt__glibc.h: Move all exported slist symbols into the lt__* namespace. * libltdl/libltdl/lt__private.h, libltdl/libltdl/slist.h: Adjust includes. 2005-01-10 Peter O'Gorman <peter@pogma.com> * config/ltmain.m4sh (func_mode_link): Fix inherited_linker_flags so it puts it on the link line when linking shared libraries as well as when linking executables. * tests/inherited_flags.at: test inherited_linker_flags. * tests/Makefile.am: Add test. * tests/testsuite.at: Add test. Reported by: Albert Chin-A-Young <china@thewrittenword.com> 2005-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/sh.test: After `set dummy [...]', check for `shift' within the same and following line. * config/ltmain.m4sh (func_enable_tag, func_mode_install) (func_mode_link): Sprinkle `shift's all over to conform to this. 2005-01-09 Gary V. Vaughan <gary@gnu.org> * HACKING (Editing 'ChangeLog'): Follow the GCS with respect to attributions, and mention how to handle tiny changes. Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>. * ChangeLog.2004: Trim 2005 entries. * ChangeLog: Add missing entries. 2005-01-08 Gary V. Vaughan <gary@gnu.org> * ChangeLog: Move 2004 change logs from here... * ChangeLog.2004: ...to here. * m4/argz.m4, m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4, m4/ltsugar.m4, m4/ltversion.m4, m4/lt~obsolete.m4: RMS says, 'I think the [license of autoconf macro files] should be: # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is # preserved.'. * ChangeLog: Reformatting. * HACKING: Fix section numbering. (Editing 'ChangeLog'): New notes on ChangeLog entry format. 2005-01-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/am-subdir.at tests/testsuite.at (AT_BOOTSTRAP, AT_LIBTOOLIZE, AT_CHECK_LIBTOOLIZE): Rename to ... (LT_AT_BOOTSTRAP, LT_AT_LIBTOOLIZE, LT_AT_CHECK_LIBTOOLIZE): ...and make use of new names. 2004-12-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config/getopt.m4sh (func_version, func_usage, func_help): Use `$SED -n' instead of `$SED RANGE {..}; d' as AIX sed cannot handle the latter. (func_help): start autoconf and automake in subshells to avoid error messages from ash or Bourne shell if not available. 2004-12-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config/general.m4sh (func_quote_for_eval): Move backslash to beginning of character class, to work around old Bash bug. (func_quote_for_expand): Also test to avoid unnecessary fork. 2004-12-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, Gary V. Vaughan <gary@gnu.org> * Makefile.am, bootstrap, clcommit.m4sh, libtoolize.m4sh, config/ltmain.m4sh: Replace `set --' with `set dummy [...]; shift' for portability. * tests/sh.test: Test for this. 2004-12-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libtoolize.m4sh, config/ltmain.m4sh (most functions): New variable $opt_debug is either `:' or `set -x' depending on --debug. Execute at most function entries to cater for ksh which resets `-x'. * tests/defs.m4sh: Ditto for VERBOSE=debug. * m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw, pw32]: _LT_TAGVAR missing for `fix_srcfile_path'. [sysv4, sysv5]: _LT_TAGVAR missing for `export_dynamic_flag_spec'. * doc/libtool.texi (all over): Use @option and @command. Some more minor formatting updates, typos. * m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Fix variable quoting; allows lt_ECHO to match --fallback-echo again. * config/ltmain.m4sh (func_extract_archives): Not all shells grok `read -r' (unnecessary in this case). Reported by Ralf Menzel <menzel@ls6.cs.uni-dortmund.de>. * config/general.m4sh: New variable quote_scanset... (func_quote_for_eval, func_quote_for_expand): ...use it to work around SunOS ksh `case' backslash-escaping bug: protect character class by variable expansion. Reported by Alexander Kurz <alexander.kurz@qsc.de>. * tests/quote.test: Restart under the correct shell (the one $ECHO was computed for). 2004-12-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/lt__dirent.c: Include lt__private.h. * libltdl/libltdl/lt__private.h: Include lt__strl.h. 2004-12-20 Peter O'Gorman <peter@pogma.com> * config/ltmain.m4sh (func_extract_archives) (func_extract_an_archive): On darwin, uniq can not take the flags -cd together, thanks to Ralf for the fix, also ar does not accept N, so we use the fact that ar x libfoo.a foo.o will always extract the first foo.o in the archive and we then delete foo.o from the archive, which will also delete only the first foo.o, then rinse and repeat. Also add markers for the testuite. * m4/libtool.m4 (_LT_CONFIG): Add a marker so that we can use a sed expression to find the shell functions in libtool. * tests/functests.at: Test this feature. * tests/testsuite.at: Add the test. * tests/Makefile.am: Add the test. 2004-12-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libtoolize.m4sh: Install `install-sh' as well, needed for configure. * Makefile.am, Makefile.maint: Install, update it. * NEWS, doc/libtool.texi (Distributing): Document it. Reported by Ross Boylan <ross@biostat.ucsf.edu>. * m4/libtool.m4 (_LT_LINKER_SHLIBS) [solaris]: Add '${wl}-z ${wl}text' to archive_cmds and archive_expsyms_cmds. I.e., do not allow nopic in shared libraries. * m4/libtool.m4 (_LT_LINKER_SHLIBS) [solaris]: Change no_undefined_flag back to ' -z defs'. Problems with linking against libgcc.a will have to be resolved differently. * tests/demo-nopic.test [solaris, sunos]: Skip test. 2004-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libtool.m4 [linux] (_LT_COMPILER_PIC, _LT_LANG_CXX_CONFIG): Match icpc* and ecpc* (ia64 version of icpc) instead of only icpc. * libltdl/lt__dirent.c (opendir) [mingw]: Fix write of constant strings past end of buffer. (opendir, readdir): Fix read past end of buffer. 2004-12-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * HACKING: Update list of non-Libtool-owned files. 2004-12-17 Akim Demaille <akim@epita.fr> * libtoolize.m4sh (func_copy_all_from_path): Remove spurious eval. 2004-12-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/ltdl.c (trim): Return error rather than do bogus null pointer arithmetic when parsing a malformed .la file. 2004-12-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> * libltdl/lt__strl.c, libltdl/libltdl/lt__strl.h: New files to emulate strlcat and strlcpy, which support size-bounded string copying and concatenation for improved security. * libltdl/Makefile.am: Optionally build source files libltdl/lt__strl.c and libltdl/libltdl/lt__strl.h. * m4/ltdl.m4 (LTDL_INIT): Add checks for strlcat and strlcpy. 2004-12-13 Albert Chin-A-Young <china@thewrittenword.com> * libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Append -G to link command-line on AIX to honor -brtl on command-line (runtime linking). Already done for IBM C/C++ compilers. 2004-12-12 Patrick Welche <prlw1@newn.cam.ac.uk> * configure.ac: Fix aclocaldir to use ${datadir}, not ${prefix}. Necessary for removal of old libtool.m4 files. 2004-12-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config/ltmain.m4sh (func_extract_archive): Send stderr of $NM to /dev/null. Reported by Martin Waitz <tali@admingilde.org>. 2004-12-09 Albert Chin-A-Young <china@thewrittenword.com> * config/ltmain.m4sh: Preserve -model [arg] option, used with the Tru64 UNIX C++ compiler. This option selects the layout of C++ classes, name mangling, and exception handling. 2004-12-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config/ltmain.m4sh (func_mode_finish) [solaris]: Fix [] escaping bug. * config/ltmain.m4sh (all over the map): Make use of func_basename and func_dirname in most occasions. * m4/libtool.m4 (_LT_CHECK_XSI_SHELL, _LT_PROG_XSI_SHELLFNS): New macros to detect at `configure' time whether the shell supports some XSI extensions and to copy appropriate versions of new shell functions into `libtool' through `config.status'. Copied functions are Bourne and XSI variants of func_basename, func_dirname (a variant of `dirname' suitable for libtool). (_LT_SETUP): Require _LT_CHECK_XSI_SHELL. (_LT_CONFIG): Use _LT_PROG_XSI_SHELLFNS to insert into `libtool' at marker. * config/ltmain.m4sh: Set marker for insertion of shell functions. * config/general.m4sh (func_quote_for_eval): Only fork if the substitution matches. 2004-12-03 Gary V. Vaughan <gary@gnu.org> * TODO: Paste Peter's summary of the TODO thread starting at http://lists.gnu.org/archive/html/libtool/2004-11/msg00130.html. 2004-12-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> * config/ltmain.m4sh: Remove code which is no longer needed now that temp_rpath only contains fully-qualified elements. 2004-11-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config/general.m4sh: basename sed-subst is anchored and thus does not need the `g' flag. (func_quote_for_eval): Return both the possibly double-quoted backslashified as well as only the backslashified argument. * config/ltmain.m4sh (func_mode_link): Use both return values, to save another sed_quote_subst application per cmdline arg. 2004-11-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config/ltmain.m4sh (func_lalib_p): Update function description. (func_lalib_unsafe_p): New function with same functionality but written without forks; this function is safe to use for cases where the argument either does not exist or is required to be a lalib for correct operation. * NEWS: Mention the fact that stdin is not to be used. * config/ltmain.m4sh (func_mode_execute, func_mode_install) (func_mode_link): Use func_lalib_unsafe_p where appropriate. (func_mode_execute): For the program wrapper, use func_ltwrapper_p instead of func_lalib_p. * m4/libtool.m4 (_LT_LINKER_SHLIBS): Treat linux-dietlibc with the `diet' compiler wrapper (as opposed to the `diet-dyn' wrapper) as a static-only platform. * NEWS: Updated. * libltdl/ltdl.c (trim): Use memcpy instead of strncpy here, to avoid problems with non-conforming strncpy. This is safe here. * m4/ltdl.m4 (LT_LIB_DLLOAD): Define HAVE_LIBDLLOADER if we have a dlloader to preload. * libltdl/ltdl.c (lt_dlinit): Only preload if HAVE_LIBDLLOADER, only declare preloaded_symbols then. Fixes libltdl on static platforms. * NEWS: Updated. 2004-11-29 Gary V. Vaughan <gary@gnu.org> Add a search path option to libtoolize so that we can run it from the testsuite without pulling in the last installed macros and ltdl sources: * libtoolize.m4sh: Add a -I option to change libtoolize's search path for macro files, and libltdl master sources. (pkgvdatadir, pkgvmacrodir): Renamed... (pkgvdatadirs, pkgvmacrodirs): ...as they can now contain a ':' delimited list of directories. Adjust all callers. (func_copy_all_from_path): New function to search a ':' delimited search path for a directory to copy. (func_serial_update, func_ltmain_update, func_config_update): New first parameter is a filename to search for. srcdir parameter can now be a ':' delimited search path. Adjust all callers. (func_copy_some_files): Ditto. Put srcfile_spec first in parameter list for consistency with other functions. Adjust all callers. (func_copy_cb): func_copy adapter function to call func_copy correctly from func_copy_some_files. (func_filename_path_search): Return the full path to the first occurence of a named file found in a list of directories. * tests/testsuite.at (LIBTOOLIZE): Wrap exported LIBTOOLIZE initialisation in PREPARE_TESTS diversion to stop it being discarded when testsuite is generated. (AT_LIBTOOLIZE): Factor out libtoolize calls, and set search path to find macros and libltdl source files from the source tree. (AT_CHECK_LIBTOOLIZE): Test it. (AT_BOOTSTRAP): Adjust. Split out call to make. * tests/am-subdir.at: Call make explicitly. (Makefile.am): Fix typo in ACLOCAL_AMFLAGS, 2004-11-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config/ltmain.m4sh (func_mode_link): $dlsymsobj is really $symfileobj, bug exposed only in the static preloading case (symfileobj is created, but not linked into output). * tests/demo-relink.test, tests/depdemo-relink.test: SKIP, don't FAIL if no shared libs available in demo/. Do not try to access nonexistent files. * libltdl/loaders/loadlibrary.c: Remove unneeded file-static variable. 2004-11-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> * config/ltmain.m4sh: Add fully-qualified paths to temp_rpath rather than unqualified paths in order to avoid possible errors when computing the fully-qualified path later. 2004-11-24 Jeff Squyres <jsquyres@lam-mpi.org> * m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG) [linux]: Support for Portland Group (aka "pgi") compilers. * NEWS, THANKS: Updated. 2004-11-24 Gary V. Vaughan <gary@gnu.org> * Makefile.am: Move Autotest rules from here... * tests/Makefile.am: ...to here. * bootstrap: Adjust. Also, create temporary Makefile from tests/Makefile.am so that bootstrap can create the Autotest testsuite. 2004-11-23 Gary V. Vaughan <gary@gnu.org> If the user's login shell is something crazy like, oooh, /bin/tcsh, trying to execute bourne shell helper scripts with the `$SHELL /path/to/helper $helper_flags' idiom incase the execute bits were lost by say, eeer, cvs, is gonna blow up in our faces. This changeset tries to save these people from their shells^H^H^H^H^H^H^H^H^Hmselves :-> * tests/defs.m4sh (SHELL): Move definition from here... * config/general.m4sh (SHELL): ...to here. 2004-11-23 Gary V. Vaughan <gary@gnu.org> The ltdl.h header is the published interface to libltdl, and is thus not installed to $prefix/include/libltdl. It has always been used with `#include <ltdl.h>', so move just that one file back to where it was before: * libltdl/libltdl/ltdl.h: Moved from here... * libltdl/ltdl.h: ...to here. * libltdl/Makefile.am: Adjust. 2004-11-23 Peter O'Gorman <peter@pogma.com> Do not require that libtoolize --ltdl=/some/path end in libltdl. Move most libltdl headers to libltdl/libltdl to allow `#include <libltdl/ltdl.h>' to always work: * libltdl/Makefile.am, libltdl/loaders/Makefile.am: Look for includes in the new location. * libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h, libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, libltdl/libltdl/lt_system.h, libltdl/libltdl/ltdl.h, libltdl/libltdl/slist.h: Added files, moved from libtdl/. * libltdl/lt__alloc.h, libltdl/lt__dirent.h, libltdl/lt__glibc.h, libltdl/lt__private.h, libltdl/lt_dlloader.h, libltdl/lt_error.h, libltdl/lt_system.h, libltdl/ltdl.h, libltdl/slist.h: Removed, moved to libltdl/libltdl. 2004-11-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * doc/libtool.texi (LT_INIT): s/libtool 1.6/libtool 2.0/. (Invoking libtoolize): Fix typo. 2004-11-22 Gary V. Vaughan <gary@gnu.org> * config/ltmain.m4sh (func_mode_install): Now that func_mktempdir has been improved, the default directory template is perfectly fine. * doc/libtool.texi (Invoking libtoolize): Improve documentation for use of ACLOCAL_AMFLAGS and AC_CONFIG_MACRO_DIR. 2004-11-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_TAG_COMPILER): Document that with_gcc is tag-dependent. * m4/libtool.m4, tests/demo-nopic.test: Undo bogus commit. * config/ltmain.m4sh (func_mode_link), tests/objectlist.test: Make sure the argument to `-objectlist' may contain spaces. 2004-11-19 Gary V. Vaughan <gary@gnu.org> * config/m4general.m4sh, config/mailnotify.m4sh, clcommit.m4sh: Updated from cvs-utils--tla--1.0 to allow parallel commits, and use safer tmpfiles. 2004-11-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * doc/libtool.texi (Libltdl interface): Typos. * doc/libtool.texi (Libltdl interface): Document public macros LT_PATHSEP_CHAR, LT_DIRSEP_CHAR, use in path descriptions. 2004-11-18 Daniel Reed <djr@redhat.com> * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [linux]: Interpret `include' statements in toplevel ld.so.conf file. 2004-11-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw, pw32]: tag-protect setting of ld_shlibs. 2004-11-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * doc/libtool.texi (Libltdl interface): The path separator is system-dependent. * doc/libtool.texi (Linking static libraries): Typo. * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [aix4/aix5 !ia64]: Set whole_archive_flag_spec to '$convenience' so convenience libs are really added to the link cmdline. 2004-11-17 Mats Rynge <rynge@isi.edu> * libtool.m4 [linux]: Use only the CC basename in case statment when checking for icc/ecc. Allows for setting CC to the full path to the compiler. * libtool.m4 [solaris]: Added missing 'with linker' flags to -z allextract ... -z defaultextract flags 2004-11-14 Gary V. Vaughan <gary@gnu.org> * m4/libtool.m4 (_LT_LINKER_SHLIBS): Typo: s/--rpath/-rpath/g. (_LT_LANG_CXX_CONFIG): Ditto. * configure.ac (APIVERSION): New substituted variable. (pkgvdatadir): Ditto. Versioned data directory. (pkgvmacrodir): Ditto. Versioned aclocal directory. (LN): New check for LN command. * Makefile.am (aclocal_DATA): Replaced with... (pkgvmacro_DATA): ...this. (install-data-local): Remove old shared resources. (install-exec-hook): Make versioned links to executables. (uninstall-hook): Remove versioned files. * libltdl/Makefile.am (ltdldatadir): Redefine in terms of pkgvdatadir. * libltdl/loaders/Makefile.am (ltdldatadir): Ditto. * libtoolize.m4sh: Copy macro files from versioned macro directory instead of shared aclocal directory. * doc/libtool.texi: Document it. * NEWS: Updated. 2004-11-10 Gary V. Vaughan <gary@gnu.org> From James Henstridge <james@jamesh.id.au>: * m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4: Added commented out empty macro definitions to match each AU_DEFUN to help aclocal from automake-1.4 regexps find the right libtool macro files. 2004-11-10 James E Wilson <wilson@specifixinc.com>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config/ltmain.m4sh (func_mode_link), tests/Makefile.am, Fix error message with `-objectlist' file that does not exist. * tests/objectlist.test: New test for this. * Makefile.am: config/ltmain.sh is generated by config/ltmain.m4sh. 2004-11-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * doc/libtool.texi (Compile mode, Link mode, Libltdl interface, Test descriptions, libtool script contents): Some quote cleanup, more use of texinfo types. * doc/libtool.texi (libtool script contents): echo is now ECHO; mention argument restriction. * doc/libtool.texi (Multiple dependencies): Minor rewording. * doc/libtool.texi (User defined module data, References): indentation and word-wrap cleanup. * doc/libtool.texi (all over): White space cleanup: two spaces at start of sentence, no TABs. 2004-11-09 Gary V. Vaughan <gary@gnu.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * doc/libtool.texi (libtool script contents): Fix description of need_lib_prefix. 2004-11-08 Peter Ekberg <spam.protected> * config/ltmain.m4sh (func_mode_link): forward thread related flags to dependent applications and libraries by adding them to `inherited_linker_flags'. 2004-11-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/ltoptions.m4: Change all references of LT_LIBTOOL_INIT to LT_INIT. 2004-11-05 Peter Ekberg <spam.protected> * ltmain.m4sh (cwrappersource): clean up other warning on MinGW. 2004-11-04 Bernhard Fischer <spam.protected>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS), m4/ltoptions.m4 (_LT_SET_OPTIONS), README, README.alpha: Typos. 2004-11-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/ltdl.c (parse_dotla_file): Fix memleak. * ltmain.m4sh (cwrappersource): Cast isalpha arguments correctly. 2004-11-03 Peter Ekberg <spam.protected> * ltmain.m4sh (cwrappersource): clean up warnings and #include errors on MinGW. 2004-11-01 Peter Ekberg <spam.protected> * config/ltmain.m4sh (cwrappersource): clean up warnings and #include errors. 2004-11-01 Peter Ekberg <spam.protected> Sometimes, a wrapper script is generated for an executable that, itself, does not link against an uninstalled library. It appears that this can happen if you are building a project where: (1) there is a library (2) there is an executable that does not, itself, link against that library In this case, notinst_deplibs is empty, and when the wrapper script is loaded by libtool during ./libtool mode=install, there is a check for "is notinst_deplibs empty". In this case, it is, so libtool reports an error. I don't think it is wrong to have a wrapper script for an exe that *technically* doesn't need it. But instead of checking for notinst_deplib nonempty as a proxy for "did wrapper script get sourced into my environment properly" a different var should be used. * config/ltmain.m4sh (func_mode_install): set new variable `generated_by_libtool_version' in wrapper script when using libtool_install_magic. When verifying that wrapper script was properly sourced, check that `generated_by_libtool_version' is non-empty, instead of using notinst_deplibs. 2004-11-01 Charles Wilson <spam.protected>, Peter Ekberg <spam.protected> * config/ltmain.m4sh (func_mode_install): On Windows based hosts, ensure that import libraries don't get stripped. * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): On Windows based hosts, use postinstall_cmds to strip DLL (not import lib!) when symbol stripped installation was requested. 2004-10-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/ltdl.c (loader_init_callback): Back out broken cast. * libltdl/ltdl.c (loader_init_callback, lt_dlexit): Add casts to target type. * tests/defs.m4sh (func_exec): `shift'ing when there is nothing to shift is non-portable. 2004-10-28 Patrick Welche <prlw1@newn.cam.ac.uk>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * Makefile.am, Makefile.maint: Use path for dependencies built in the source tree, to cater for BSD make. 2004-10-24 Noah Misch <noah@cs.caltech.edu> * config/ltmain.m4sh (func_lalib_p, func_ltwrapper_p): New functions that abstract .la sanity checking. (func_mode_execute, func_mode_install, func_mode_link) (func_mode_uninstall): Use them. 2004-10-24 Gary V. Vaughan <gary@gnu.org> * config/ltmain.m4sh (opt_silent): Whether --silent was given. (run, show): Deleted. All callers converted to opt_dry_run, opt_silent or calls to func_show_eval. * tests/mdemo-dryrun.test: Adjust. * HACKING: Fix a typo in the gpg --verify instructions. * Makefile.maint (cvs-dist): Generate signatures and directives for bz2 upload. 2004-10-23 Peter O'Gorman <peter@pogma.com> * config/ltmain.m4sh (func_mode_link): Make Gary's new tests pass. When the output wrapper script is not in the current directory, we can not use an rpath which is relative to the current directory. Use an absolute path instead. 2004-10-22 Gary V. Vaughan <gary@gnu.org> * clcommit.m4sh: Add --rcfile option. * clcommit.m4sh: Updated again, to support file list limited commits to CVS, and to fix another occurence of the bash bug that was preventing non-tla users from sending a commit mail. 2004-10-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * TODO, libltdl/lt_error.h, libltdl/ltdl.c, libltdl/ltdl.h: Undo accidental commit. * Makefile.maint: Fix typo. 2004-10-22 Gary V. Vaughan <gary@gnu.org> * clcommit.m4sh, config/mailnotify.m4sh: Updated from cvs-utils--tla--1.0 to fix quoting of metachars in patch names. * HACKING: Updated: `.in' files are now `.m4sh'; document some more coding standards for these files. * config/general.m4sh (sed_double_backslash): Undo an over-optimisation. 2004-10-21 Gary V. Vaughan <gary@gnu.org> * AUTHORS: Reformatted to better reflect the current state of Libtool maintainership. * THANKS: Reformatted to give maintainers a quick way to look up who has supplied FSF paperwork. 2004-10-21 Noah Misch <noah@cs.caltech.edu>, Gary V. Vaughan <gary@gnu.org> * config/general.m4sh (sed_double_backslash): Improve this sed expression to correct left anchored \$ input to double_quote_subst, as well as backslash escaped $ preceded by any odd-numbered amount of \ characters. 2004-10-20 Gary V. Vaughan <gary@gnu.org> * config/general.m4sh (sed_double_backslash): New sed expression to escape \$ properly in combination with double_quote_subst. (func_quote_for_eval): Four space indent margin for functions! (func_quote_for_expand): Use $sed_double_backslash. (func_show_eval): New function that echos an escaped but variable expanded command, and then evaluates it. 2004-10-20 Noah Misch <noah@cs.caltech.edu>, Gary V. Vaughan <gary@gnu.org> * m4/libtool.m4 (sed_quote_subst): Remove superfluous backslashes from the match character set. (double_quote_subst): Ditto. * config/general.m4sh (sed_quote_subst): Ditto. (double_quote_subst): New variable, copied from m4/libtool.m4. Much the same as sed_quote_subst, but variable references are not quoted. (func_quote_for_eval): Given any $foo; $bar and $foo must be identical after the following commands: func_quote_for_eval "$foo" eval "bar=$func_quote_for_eval_result" (func_quote_for_expand): In a similar vein to to func_quote_for_eval, except that variable expansions are not protected when quoting the command for subsequent display. * config/ltmain.m4sh: Factor away use of $sed_quote_subst now that it has been subsumed into func_quote_for_eval. (func_mode_link): Instead of `2004-10-14 Peter O'Gorman' below, use func_quote_for_expand so that ${wl} is expanded properly in the $show expression. 2004-10-16 Gary V. Vaughan <gary@gnu.org> * config/ltmain.m4sh (func_mode_finish): solaris-2.6 also has crle(1). Reported by Albert Chin-A-Young <china@thewrittenword.com> 2004-10-16 Gary V. Vaughan <gary@gnu.org> Add some new tests for Libtool's support of Automake subdir-objects builds. This marks the beginning of a move to an Autotest driven test framework, which will eventually allow us to trim away many of the generated files in the current test demo subdirectories: * configure.ac (AC_CONFIG_TESTDIR): Re-enable commented out Autotest macros. (AUTOTEST, M4SH): Use --language long hand. * bootstrap: Generate tests/testsuite, and by implication tests/package.m4. * Makefile.am (edit): Add substitutions needed to generate tests/package.m4 from bootstrap. (check-recursive): Add tests/testsuite. (TESTSUITE): The new Autotest testsuite target. (TESTSUITE_AT): The Autotest sources. (EXTRA_DIST): Distribute the generated testsuite and sources. (tests/package.m4): Use $(edit) to propagate package metadata to the new tests. (tests/testsuite): Build the testsuite. (tests/atconfig): How to regenerate the file. (check-local): Hook Autotest into `make check'. (installcheck-local): Run the testsuite on the installed tree. (clean-local): Tidy our file droppings. * tests/Makefile.am: Remove bitrotted code from Autotest experiments in Autoconf 2.52 era. Updated the rest and moved into Makefile.am. * tests/testsuite.at: New container for Autotest test groups. * tests/am-subdir.at: New test group for compatibility with Automake's subdir-objects builds. Currently holds two tests, one for a C project and another similar project in C++. * TODO: Add an entry to remind us that these new tests expose a bug in libtool. * NEWS: Updated. 2004-10-14 Peter O'Gorman <peter@pogma.com> * config/ltmain.m4sh: Revert most of my last commit, only eval \$show \"$cmds\", and only when building a library. I'm a wimp. Thanks Gary for pointing out errors in previous commit. 2004-10-13 Gary V. Vaughan <gary@gnu.org> * config/ltmain.m4sh (func_mode_finish): Mention crle(1) on solaris 2.7 and higher in the finalisation notes. Reported by Kurt J. Lidl <lidl@pix.net> * tests/cdemo-undef.test: New test for hosts that allow shared libraries with undefined symbols, but have no C++ compiler installed. * tests/Makefile.am (COMMON_TESTS): Add it. 2004-10-13 Peter O'Gorman <peter@pogma.com> * config/ltmain.m4sh: Make sure that we $show what we will $run, use eval $show if we do $run eval. 2004-10-13 Charles Wilson <spam.protected> * config/ltmain.m4sh: add foo/bin for every foo/lib in dllsearchpath when creating wrapper script. Fixes depdemo-relink test failure. 2004-10-12 Charles Wilson <spam.protected> * config/ltmain.m4sh (func_mode_link): don't relink on cygwin/mingw; no need. But do ensure that wrappers are created unless doing a purely static build. 2004-10-13 Gary V. Vaughan <gary@gnu.org> * tests/tagdemo-undef.test: New test for hosts that allow shared libraries with undefined symbols. * tests/Makefile.am (CXX_TESTS): Add it. 2004-10-11 Charles Wilson <spam.protected> * tests/link.test: Fix check for use of libnlsut.a under Cygwin. 2004-10-11 Noah Misch <noah@cs.caltech.edu> * tests/quote.test: Do not look for $preargs in the output, because libtool may change them. 2004-10-10 Charles Wilson <spam.protected> * config/ltmain.m4sh: Really don't require versions of GNU sed newer than 3.02 for Cygwin and MinGW, and don't break dryrun mode. 2004-10-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> * config/getopt.m4sh: Under MinGW, reported paths may include ':' so ':' should not be used as the sed delimiter. Use '*' instead since it is very unlikely to appear in a path. 2004-10-10 Albert Chin-A-Young <china@thewrittenword.com> * config/ltmain.m4sh: Don't require versions of GNU sed newer than 3.02 for Cygwin and MinGW. 2004-10-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> * tests/pdemo-inst.test: Correction for mis-application of Charles Wilson's earlier patch. 2004-10-09 Gary V. Vaughan <gary@gnu.org> * m4/libtool.m4 (_LT_LANG_F77_CONFIG): Make sure the save and restore code for CC is nested at the same depth. (_LT_LANG_CXX_CONFIG): Ditto, but for several variables. 2004-10-08 Gary V. Vaughan <gary@gnu.org> Update to the latest commit and mailnotify scripts from gary@gnu.org--2004/cvs-utils--tla--1.0: * commit, config/mailnotify: Removed. Now built from... * clcommit.m4sh, config/mailnotify.m4sh: ...these new sources. * Makefile.maint (commit, config/mailnotify): How to build them. * bootstrap: If we have a checked out tree (i.e. clcommit.m4sh is present), then build them. 2004-10-08 Gary V. Vaughan <gary@gnu.org> Fix some issues that mangled the reexecution path to a script, and thus prevented it from finding itself: * config/general.m4sh (progname): Don't actually change the name of the script if it begins with a `-', just prepend `./'. (progpath): Add a new clause that first searches the execution PATH, and then finally assumes this script is in the current working directory if $progname has no directory separators (e.g when invoked as `$SHELL progname'). 2004-10-08 Gary V. Vaughan <gary@gnu.org> * config/general.m4sh (func_verbose): Work around a bash bug in shell functions. 2004-10-08 Charles Wilson <cygwin@cwilson.fastmail.fm> * tests/pdemo-inst.test: pdemo-inst should depend on pdemo-make. * config/ltmain.m4sh: Windows and Cygwin reserve the .lnk extension to represent shortcuts. Use the extension ".lnkscript" rather than ".lnk" for the piecewise linking ld script in order to avoid the conflict. 2004-10-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/ltdl.c (lt_dlexit, lt_dlpath_insertdir): Fix memleaks, free user_search_path on lt_dlexit. 2004-10-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/sh.test: Remove tests which fail on AS_SHELL_SANITIZE from autoconf >= 2.59. * TODO: Remove item: no need for a libltdl without stdio. 2004-10-07 Gary V. Vaughan <gary@gnu.org> * tests/defs.m4sh (scripts): Actually scan the generated ltmain.sh for shell portability problems. * m4/libtool.m4 (_LT_FORMAT_COMMENT): Shell meta-characters in _LT_DECL descriptions were not being escaped before injection into TAG CONFIG here documents in config.status. 2004-10-06 Peter O'Gorman <peter@pogma.com> * m4/libtool.m4 (_LT_PROG_CXX, _LT_PROG_F77): New macros to work around the deficiencies in AC_PROG_CXX and AC_PROG_F77. * configure.ac: Cleaned up, having moved the checks for compilers which do not exist to libtool.m4. 2004-10-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/ltdl.c (try_dlopen): Move .la file parsing part.. (parse_dotla_file): ..here. Adjust. * libltdl/ltdl.c (load_deplibs, try_dlopen): Revert unnecessary casts to int from my patch from 2004-10-01. * AUTHORS: Add myself. 2004-10-05 Peter O'Gorman <peter@pogma.com> * config/ltmain.m4sh [darwin]: Make the -dylib_file flag work on older darwins too. Reported by Christoph Egger. 2004-10-05 Gary V. Vaughan <gary@gnu.org> * configure.ac: Bumped version to 2.1a. 2004-10-04 Gary V. Vaughan <gary@gnu.org> * m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Don't confuse $ECHO with $lt_ECHO, or we always get a libtool with ECHO=echo, rather than testing for a mechanism that quotes \ properly. * NEWS: Updated. * config/ltmain.m4sh: Need to include getopt.m4sh earlier so that progpath is set before it is called to --no-reexec. * NEWS: Updated. 2004-10-04 Gary V. Vaughan <gary@gnu.org> Without this change, the distributed libtool tarball has a dependency on autom4te. There was some inconsistency in the filenames: now we have foo.m4sh -> m4sh -> foo.in -> configure -> foo[.sh]. Bootstrap runs the m4sh steps and the resulting .in files are distributed: * tests/Makefile.am (EXTRA_DIST): Distribute defs.m4sh. * Makefile.am (EXTRA_DIST): Distribute libtoolize.m4sh. (libtoolize.in, libtoolize): Split into bootstrap and runtime stages. ($(top_srcdir)/tests/defs.in, $(top_srcdir)/tests/defs): Ditto. ($(top_srcdir)/config/ltmain.sh): Swap ltmain.m4sh and ltmain.in names. * bootstrap: Make libtoolize.in and tests/defs.in. * NEWS: Updated. 2004-10-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> * README, README.alpha: Update notes regarding available VERBOSE settings. 2004-10-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> * config/ltmain.in: Change $XSED to $Xsed to fix hang noticed under MinGW. * tests/defs.in: Support VERBOSE=debug to enable shell tracing while running tests. 2004-10-03 Gary V. Vaughan <gary@gnu.org> * NEWS: Updated. * configure.ac: Bumped version to 1.9e. GNU libtool 1.9d was released. * configure.ac: Bumped version to 1.9d. * NEWS: Updated. * libltdl/lt__alloc.h (lt__alloc_die): Declare with LT_SCOPE as per Ralf's original patch. Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us> * libltdl/Makefile.am (libltdlc_la_LIBADD): Don't use libdlloader_la_OBJECTS, an undocumented Automake internal variable... (libltdlc_la_SOURCES): ...use libdlloader_la_SOURCES here instead. Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us> * libltdl/argz_.h: Forgot to spell lt_system.h with just one `_'. * libltdl/argz_.h: Forgot to include lt__system.h for LT_SCOPE definition. 2004-10-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, Gary V. Vaughan <gary@gnu.org> * libltdl/lt__alloc.h: Declare exported functions with LT_SCOPE for mingw32. * libltdl/lt__dirent.h: Ditto. * libltdl/argz._h: Ditto. Be careful about not requiring additional libltdl files when used outside of libltdl. * libltdl/slist.h: Ditto. * HACKING: Add a section on libltdl implementation layering. 2004-10-03 Gary V. Vaughan <gary@gnu.org> * tests/quote.test: echo is called ECHO now. Make sure we extract the value of ECHO from the libtool script. Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2004-10-02 Gary V. Vaughan <gary@gnu.org> * m4/libtool.m4 (hardcode_shlibpath_var) [darwin7*]: Revert my hack from 2004-09-30 now that I've removed /lib/hello.la and the tests work properly for me again. 2004-10-02 Jim Tison <jtison@us.ibm.com> Initial support for s390x-ibm-tpf: * m4/libtool.m4: Correct obvious spelling errors in remarks. (_LT_ENABLE_LOCK): Make s390x-ibm-tpf hosts adopt elf64_s390 conventions. (_LT_SYS_DYNAMIC_LINKER): Set defaults for s390x-ibm-tpf host. (_LT_CHECK_MAGIC_METHOD): Skip all dependency checks for s390x-ibm-tpf hosts. (_LT_LINKER_SHLIBS): Make s390x-ibm-tpf hosts adopt GNU/Linux OS attributes. * NEWS: Updated. 2004-10-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config/ltmain.in (func_mode_install): Need to set $tmpdir before using it. * config/ltmain.in (func_mode_link): Fix quoting bug. Fixes e.g. the quoting of the -export-symbols-regex argument in .la files' relink_command. * libltdl/lt__alloc.c (lt__memdup): Allocation can fail, so we need to guard against null pointer dereference here. * libltdl/ltdl.c (lt_dlcaller_register): Ditto. * libltdl/slist.c (slist_foreach): result was declared as inner variable, shadowing the actually returned value. * libltdl/ltdl.c (load_deplibs, try_dlopen): Cast argument to isspace/isalnum to the correct range. Also, cast to int to avoid compiler warnings. 2004-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/ltdl.c (try_dlopen): Fix null pointer dereference in case the name given to lt_dlopen contains no extension. * libltdl/lt_dlloader.c (lt_dlloader_remove), libltdl/ltdl.c (tryall_dlopen, lt_dlhandle_next): Show usage of function pointers. * doc/libtool.texi (LT_INIT, Using libltdl) (Module loaders for libltdl, Multiple dependencies) (libtool script contents): Fix several typos (trivial change). Also, libltdl consists of more than two small files. 2004-09-30 Gary V. Vaughan <gary@gnu.org> * m4/libtool.m4 (hardcode_shlibpath_var) [darwin7]: My Panther workstation doesn't hardcode the shared library path, although it used to, so this is more likely a function of the binutils and/or gcc I am using at the moment. The hardcode value setting code for the configure script sucks at the moment though... * TODO: ...and needs to do a test compile instead of a table lookup before 2.0 final. * m4/libtool.m4 (echo): Use ECHO throughout for consistency with config/ltmain.in. Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (rm): Use RM throughout for consistency with config/ltmain.in. Reported by Charles Wilson <cwilson@spam.protected> 2004-09-27 Peter O'Gorman <peter@pogma.com> * m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [darwin]: Don't echo gcc -v output during configure. (Really this time, honest) 2004-09-26 Albert Chin-A-Young <china@thewrittenword.com> * m4/libtool.m4 (_LT_LINKER_SHLIBS) [aix]: In archive_expsym_cmds, move -bnoentry linker option before $compiler_flags to honor any possible -e entries in LDFLAGS. 2004-09-25 Gary V. Vaughan <gary@gnu.org> * config/ltmain.in (func_mode_link): When linking an installed libtool library on the command line using -lfoo we need to find the library in the search paths and add it's dependency_libs to the link in the conv pass so that any libtool libs listed are correctly expanded in the link pass. 2004-09-24 Charles Wilson <cwilson@spam.protected> * libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Revert changeset from `2004-09-22 Charles Wilson <cwilson@spam.protected>'. 2004-09-24 Gary V. Vaughan <gary@gnu.org> * config/general.m4sh (Xsed): Set a default when not used from ltmain.in. (ECHO): Audit for (and correct!) uses of $ECHO with more than one argument, which breaks when ECHO='printf %s\n', and with possible `-' as first character of the argument, which breaks `print -r' and some implementations of `echo'. * config/ltmain.in, tests/defs.in, libtoolize.in (ECHO): Ditto. Reported by Albert Chin-A-Young <china@thewrittenword.com> 2004-09-24 Peter O'Gorman <peter@pogma.com> * m4/libtool.m4 (_LT_CMD_STRIPLIB) [darwin]: strip archives too. * m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [darwin]: Don't echo gcc -v output during configure. 2004-09-24 Gary V. Vaughan <gary@gnu.org> * m4/libtool.m4 (_LT_DECL_EGREP): Only the newest CVS autoconf AC_SUBSTs for GREP. Do our own here too to cater for release autoconfen. * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [openbsd3.3]: Set need_version to yes or no depending on the os release. Reported by Dalibor Topic <robilad@kaffe.org> 2004-09-23 Gary V. Vaughan <gary@gnu.org> * tests/cdemo-conf.test, tests/cdemo-exec.test, tests/cdemo-make.test, tests/cdemo-shared.test, tests/cdemo-static.test, tests/demo-conf.test, tests/demo-deplibs.test, tests/demo-exec.test, tests/demo-hardcode.test, tests/demo-inst.test, tests/demo-make.test, tests/demo-nofast.test, tests/demo-noinst-link.test, tests/demo-nopic.test, tests/demo-pic.test, tests/demo-relink.test, tests/demo-shared.test, tests/demo-static.test, tests/demo-unst.test, tests/depdemo-conf.test, tests/depdemo-exec.test, tests/depdemo-inst.test, tests/depdemo-make.test, tests/depdemo-nofast.test, tests/depdemo-relink.test, tests/depdemo-shared.test, tests/depdemo-static.test, tests/depdemo-unst.test, tests/f77demo-conf.test, tests/f77demo-exec.test, tests/f77demo-make.test, tests/f77demo-shared.test, tests/f77demo-static.test, tests/link-2.test, tests/link.test, tests/mdemo-conf.test, tests/mdemo-dryrun.test, tests/mdemo-exec.test, tests/mdemo-inst.test, tests/mdemo-make.test, tests/mdemo-shared.test, tests/mdemo-static.test, tests/mdemo-unst.test, tests/mdemo2-conf.test, tests/mdemo2-exec.test, tests/mdemo2-make.test, tests/nomode.test, tests/pdemo-conf.test, tests/pdemo-exec.test, tests/pdemo-inst.test, tests/pdemo-make.test, tests/quote.test, tests/sh.test, tests/suffix.test, tests/tagdemo-conf.test, tests/tagdemo-exec.test, tests/tagdemo-make.test, tests/tagdemo-shared.test, tests/tagdemo-static.test, tests/tagtrace.test: POSIX `.' searches only in user's $PATH, so we must use `. ./defs' to source the common code. Reported by Alexandre Duret-Lutz <adl@src.lip6.fr> * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Gah. Merge error corrected. 2004-09-23 Gary V. Vaughan <gary@gnu.org> Since defs can change (path to grep for example) when it is made for a different host, it can't be shipped. That also means that defs will always be generated in the build tree, so each test case can have the srcdir discovery factored away into tests/defs.in: * Makefile.am (EXTRA_DIST): s/defs/defs.in/g * tests/Makefile.am (defs): New rule to remake defs from the parent directory's Makefile. * tests/cdemo-conf.test, tests/cdemo-exec.test, tests/cdemo-make.test, tests/cdemo-shared.test, tests/cdemo-static.test, tests/demo-conf.test, tests/demo-deplibs.test, tests/demo-exec.test, tests/demo-hardcode.test, tests/demo-inst.test, tests/demo-make.test, tests/demo-nofast.test, tests/demo-noinst-link.test, tests/demo-nopic.test, tests/demo-pic.test, tests/demo-relink.test, tests/demo-shared.test, tests/demo-static.test, tests/demo-unst.test, tests/depdemo-conf.test, tests/depdemo-exec.test, tests/depdemo-inst.test, tests/depdemo-make.test, tests/depdemo-nofast.test, tests/depdemo-relink.test, tests/depdemo-shared.test, tests/depdemo-static.test, tests/depdemo-unst.test, tests/f77demo-conf.test, tests/f77demo-exec.test, tests/f77demo-make.test, tests/f77demo-shared.test, tests/f77demo-static.test, tests/link-2.test, tests/link.test, tests/mdemo-conf.test, tests/mdemo-dryrun.test, tests/mdemo-exec.test, tests/mdemo-inst.test, tests/mdemo-make.test, tests/mdemo-shared.test, tests/mdemo-static.test, tests/mdemo-unst.test, tests/mdemo2-conf.test, tests/mdemo2-exec.test, tests/mdemo2-make.test, tests/nomode.test, tests/pdemo-conf.test, tests/pdemo-exec.test, tests/pdemo-inst.test, tests/pdemo-make.test, tests/quote.test, tests/sh.test, tests/suffix.test, tests/tagdemo-conf.test, tests/tagdemo-exec.test, tests/tagdemo-make.test, tests/tagdemo-shared.test, tests/tagdemo-static.test, tests/tagtrace.test: Removed srcdir discovery boilerplate... * tests/defs.in: ...and put it here. 2004-09-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): move symcode calculation to correct place. * doc/libtool.texi (libtool script contents): update description of global_symbol_to_cdecl. 2004-09-23 Gary V. Vaughan <gary@gnu.org> * configure.ac (M4SH): AC_SUBST m4sh expander. * config/general.m4sh, config/getopt.m4sh: New files with factored out functionality from... * config/ltmain.in, libtoolize.in: ...here. m4_include the shared code, and call AS_SHELL_SANITIZE. Also quote all `[' and `]' to survive m4 run. (func_serial): No need to double up m4sh quotes after a `#'. (func_check_macros): Escape `dnl' to stop m4sh interpreting it as a macro. * tests/defs.in: New file expanded into tests/defs by autom4te. * m4/libtool.m4 (_LT_DECL_EGREP): Also require fgrep for the tests that use it. * Makefile.am ($(top_srcdir)/config/ltmain.sh): Now built with M4SH. (libtoolize): Ditto. * bootstrap: Set M4SH for call to make. * HACKING: No need to sync to AS_SHELL_SANITIZE by hand any more. * m4/libtool.m4: _LT_DECL uppercase ECHO. * config/ltmain.in: Use it throughout. (func_mkdir_p): Now matches the other implementations in tests/defs and libtoolize.in. * tests/sh.test: Updated to detect ECHO misuse. 2004-09-22 Gary V. Vaughan <gary@gnu.org> * config/ltmain.in (func_mode_link): Propagate a convenience library's dependency libs correctly when it is being linked into a libtool library. Deplibs are now propagated whether libdir is set or not. 2004-09-22 Andreas Schwab <schwab@suse.de> The dlpreopen pass over libraries reverses the elements in the $deplibs list. This causes problems when the link pass tries to find libraries when they are located in non-standard places denoted by -L options. Due to the reversed order these -L options occur after the libraries that need them, and they are not found: * config/ltmain.in: (Un)Reverse $deplibs list at the start of the link pass in lib mode. 2004-09-22 Charles Wilson <cwilson@spam.protected> * ltmain.in (func_generate_dlsyms) [cygwin, mingw]: when creating a .exp file for an executable, also create a .def file, and add that file to the link command via SYMFILES. This causes binutils to generate an .edata section, and allows self dlopening to work. * NEWS: Updated. * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): better quoting for postinstall_cmds and postuninstall_cmds to allow spaces in install paths. * config/ltmain.in (func_generate_dlsyms): Addresses in _preloaded_symbols[] cannot go into .rdata section if symbols are DATA imported from DLL, on windows, because runtime relocations must happen. * m4/libtool.m4 (_LT_LINKER_SHLIBS([TAGNAME])): Build exports for symbols in .rdata sections. 2004-09-19 Gary V. Vaughan <gary@gnu.org> The checks in assign.test are trying to catch case of this ilk: `foo=bar break', but unfortunately they also choke on `foo=bar; break' and `foo=bar && break'. Writing a sophisticated test to catch just the intended case seems like more trouble than it's worth, but leaving the test in causes the testsuite to fail on valid m4sh output: * tests/assign.test: Removed; chokes on perfectly valid shell syntax. * tests/Makefile.am (COMMON_TESTS): Remove assign.test. * tests/defs.in (scripts): Don't check the m4sh inputs, go back to checking the generated ltmain.sh script. 2004-09-17 Gary V. Vaughan <gary@gnu.org> * config/ltmain.in (func_echo): Except for multi-line warnings and errors, always use func_echo. $show is for command output, and $echo is for internal use in backtick expressions and similar. 2004-09-17 Gary V. Vaughan <gary@gnu.org> Missed a couple of MKDIR_P references in ltmain.in in my last patch; fix them carefully. Introduce an opt_dry_run to ltmain.in so that the implementations of func_mkdir_p can converge, and a func_mktempdir to do a better job of temporary directory creation: * libtoolize.in (func_mkdir_p): Don't fail if the directory wasn't created in dry run mode. * tests/defs (func_mkdir_p): Ditto. We don't actually have a dry run mode for the tests, but the function is written carefully to be kept in synch and work correctly here too. * config/ltmain.in (func_mkdir_p): Ditto. This copy of the function now only differs in its use of $echo over $ECHO. (func_extract_archive): Removed first redundant mkdir call. (func_mktempdir): New function that tries to avoid races when making temporary directories. (opt_dry_run): Set this if --dry-run is given at the CLI, or if tests/mdemo-dryrun.test has forced the value of $run. (func_mode_install): Call $MKDIR directly and error out if the directory cannot be created. (func_mode_link): Rather than copying func_mkdir_p into the wrapper script as a replacement for $MKDIR_P, we know that the script won't be called my `make -j', so write the current value of $MKDIR. 2004-09-17 Peter O'Gorman <peter@pogma.com> * m4/libtool.m4: remove an extra "]" * m4/libtool.m4 [darwin] (_LT_LANG_CXX_CONFIG): Changes for 10.4. * config/libtool.in [darwin]: ditto. 2004-09-16 Gary V. Vaughan <gary@gnu.org> My most recent `2004-09-02 Gary V. Vaughan' patch for mkdir_p below is horrendously broken since it makes the installed libtool try to run the mkinstalldirs or install-sh helper scripts. This patch fixes the `make -j' mkdir race condition internally: * libtoolize.in (func_mkdir_p): New slice and dice algorithm to build the directory tree one dir at a time, ignoring errors until the end incase they are transient due to a concurrent identical mkdir. * tests/defs (func_mkdir_p): Ditto. * config/ltmain.in (func_mkdir_p): Ditto, except that ltmain.in uses $echo rather than $ECHO, and uses $show and $run to interact correctly with the command line. * configure.ac (AM_INIT_AUTOMAKE): 1.8 is sufficient again. * Makefile.am (edit): Don't substitute automake's $(mkdir_p). * NEWS: Updated. 2004-09-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> * libltdl/loaders/loadlibrary.c: Compilation fixes (originally from Gary V. Vaughan) to compile under MinGW. * config/mkstamp: Translate input data so that it is assured to use the Unix line terminations. This is necessary under Windows if the files are checked out with CR/NL line terminations. A side-effect of this change is that input must always be from stdin. Previously a filename argument was accepted as well. 2004-09-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * tests/Makefile.am: Use the same CPP, F77, CXX and CXXFLAGS for the test suite. 2004-09-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_ENABLE_LOCK):Replace AC_TRY_LINK with AC_LINK_IFELSE to get rid of `autoconf -Wobsolete' warning. * m4/ltdl.m4 (LT_LIB_DLLOAD): Ditto. 2004-09-15 Gary V. Vaughan <gary@gnu.org> * config/ltmain.in (func_quote_for_eval): Set a return value to avoid forking at every call. Changed all callers. (func_mode_link): Simplified, and removed the final non-portable nested escaped double quotes in back quotes usage in the process. 2004-09-14 Gary V. Vaughan <gary@gnu.org> * config/ltmain.in (func_quote_for_eval): Factor out the ugly shell meta-character quoting. Changed all callers. 2004-09-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Simplification: distinguish between data and code symbols on every system. 2004-09-14 Albert Chin-A-Young <china@thewrittenword.com> Unfortunately, libtool has no way of telling if unrecognized compiler flags need an argument or not, and can disect options and pass parts through incorrectly. This changeset reverts both 2004-09-06 Albert Chin-A-Young (topmost) and 2004-09-05 Albert Chin-A-Young below, and recognises more options explicitly: * config/ltmain.in (func_mode_link): Pass through options needed to compile in 64-bit mode with gcc, and the SGI, Sun, HP and IBM compilers. 2004-09-13 Gary V. Vaughan <gary@gnu.org> * m4/libtool.m4 (_LT_CMD_GLOBALS_SYMBOLS): Fix a typo I made when applying 2004-09-11 Ralf Wildenhues. 2004-09-12 Brad <brad@comstyle.com> * libtool.m4: Fixes for the OpenBSD support 2004-09-12 Peter O'Gorman <peter@pogma.com> Our fortran tests were not very good. All the libraries created were convenience libs, so we did not test the creation of shared libraries on any platform. Also none of the libs used any actual fortran library calls, adding a call to write(*,*) in each lib causes the tests to fail on darwin (and presumably other platforms). These new tests would likely cause many more fortran test failures, so if there is an error during make it is reported as SKIP. * tests/f77demo-make.test: Don't fail hard, skip on failure. * tests/f77demo/foof2.f: New file. * tests/f77demo/foof3.f: New file. * tests/f77demo/fprogram.f: Call routine in new lib. * tests/f77demo/foof.f: Call routine in another new lib. * tests/f77demo/Makefile.am: Make a couple of new libraries, add $(FLIBS) to cprogram LDADD. 2004-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): The linker distinguishes data and code symbols on linux-gnu/ia64. Fixes multiple testsuite failures. * NEWS: Updated. 2004-09-06 Gary V. Vaughan <gary@gnu.org> * libltdl/loaders/shl_load.c (get_vtable): Typo. 2004-09-06 Albert Chin-A-Young <china@thewrittenword.com> Hopefully, passing unrecognised compiler arguments through unmolested will prove to be a good plan for the 2.0 release. If it goes awry, we can get back to where we were by reverting this patch and the 2004-09-05 Albert Chin-A-Young patch, aka gary@gnu.org--2004/libtool--devo--1.0--patch-169,172: * config/ltmain.in (func_mode_link): Because we now pass through compiler arguments we doesn't recognize, the code to pass through GCC's -m* arguments is not needed. 2004-09-06 Albert Chin-A-Young <china@thewrittenword.com> * Makefile.am (clean-ltmain-sh): Using '==' to test for equality in a shell script is not portable. Use '=' instead. 2004-09-05 Andreas Schwab <schwab@suse.de> * m4/ltdl.m4 (LT_WITH_LTDL): Remove excess quoting in argument of AC_CONFIG_SUBDIRS. 2004-09-05 Albert Chin-A-Young <china@thewrittenword.com> * config/ltmain.in (func_mode_link): Pass otherwise unrecognised + and - style switches to the compiler. * NEWS: Updated. 2004-09-05 Gary V. Vaughan <gary@gnu.org> * Makefile.am (libtool): Force libtool to be regenerated if stamp-vcl has changed. 2004-09-05 Albert Chin-A-Young <china@thewrittenword.com> * m4/libtool.m4, config/ltmain.in: When calling $LTCC, pass default $CFLAGS through with $LTCFLAGS. 2004-09-03 David Edelsohn <dje@watson.ibm.com> * config/ltmain.in (func_mode_link): Use $pic_object as $non_pic_object if $non_pic_object=none. * NEWS: Updated. 2004-09-03 Gary V. Vaughan <gary@gnu.org> * bootstrap: Remember that the ltmain.sh generated by bootstrap is missing most of its substitution values, so force it to be rebuilt at make time by touching $(top_srcdir)/config/ltmain.in. From Martin Quinson <mquinson@ens-lyon.fr> * m4/libtool.m4 (_LT_SETUP, _LT_ENABLE_LOCK, LT_PATH_LD): Use AS_HELP_STRING to get rid of autoconf -Wobsolete warning messages. * m4/ltdl.m4 (LT_WITH_LTDL, _LT_ENABLE_INSTALL): Ditto. * m4/ltoptions.m4 (_LT_ENABLE_SHARED, _LT_ENABLE_STATIC) (_LT_ENABLE_FAST_INSTALL, _LT_WITH_PIC): Ditto. * TODO: Updated 2004-09-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/slist.c (slist_cons): Don't leak the tail of a list. 2004-09-03 Albert Chin-A-Young <china@thewrittenword.com> * m4/libtool.m4 (_LT_ENABLE_LOCK): Reformatted. 2004-09-03 Gary V. Vaughan <gary@gnu.org> * HACKING: Explain how to verify detached signatures with gpg in the release announcement templates. * AUTHORS: Fix typo in my address. 2004-09-02 Gary V. Vaughan <gary@gnu.org>, Builds of packages that use libtool and make -j produce "directory already exists warnings" for .lib directory. Build on automake wisdom to support make -j builds where a suitable mkdir is available: * configure.ac (AM_INIT_AUTOMAKE): Require 1.9, which goes to some trouble to find a $(mkdir_p) that doesn't interfere with make -j. * Makefile.am (edit): Substitute for @mkdir_p@. * config/ltmain.in (MKDIR_P): Take @mkdir_p@ value. (mkdir): Removed. (func_mkdir_p): New function to use $MKDIR_P. Factor out all previous mkdir calls to use this function. (RM, MV): Declared as in libtoolize.in. Changed all callers. * libtoolize.in (MKDIR_P): Take @mkdir_p@ value from automake. (func_mkdir_p): Use it, similarly to new config/ltmain.in. * tests/defs: Synchronize boiler plate code with ltmain.in. Adjust all callers. Add missing copyright preamble. * tests/demo-static.test: Add missing copyright preamble. * NEWS: Updated. Reported by Daniel Reed <n@ml.org> 2004-09-02 Gary V. Vaughan <gary@gnu.org>, * Makefile.am (clean-ltmain-sh): Quote $(top_builddir) for the shell, incase it is not set when running maintainer rules with `make -fMakefile.maint'. Don't show the shell commands. * AUTHORS: Fix my email address. 2004-09-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/ltdl.c (try_dlopen): Fix memory leak. * NEWS: Updated. 2004-09-02 Gary V. Vaughan <gary@gnu.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/slist.c, libltdl/slist.h: Merge in changes from latest upstream. Mostly comments, formal item boxing, a sort function, and const madness reduction. (slist_new): Removed. (slist_box, slist_unbox, slist_sort): New. (SListCompare, SListCallback): Swapped! (slist_remove, slist_find): Change order of parameters for orthogonality with slist_foreach. Changed all callers. * libltdl/lt_dlloader.c (loader_cmp): Renamed to... (loader_callback): ...this. Return boxed item. (lt_dlloader_remove): Adjust to new loader_callback semantics; unbox each removed item before returning. Remove unused variable. Remove const from name parameter, since the slist API cannot guarantee userdata const-ancy for its callback functions. (lt_dlloader_find): Adjust to new loader_callback semantics; need to return the contents of the boxed item. Remove const from name parameter, since the slist API cannot guarantee userdata const-ancy for its callback functions. * libltdl/lt_dlloader.h (lt_dlloader_find, lt_dlloader_remove): Adjust to new constless footprint. * libltdl/ltdl.c (ltdl_exit): The global `loaders' list is changed by `lt_dlloader_remove' while cleaning up, so the address in local variable `loader' is invalidated. Since some loaders may be resident modules that cannot be unloaded (though we have none yet), we must save each `next' address before calling `lt_dlloader_remove'. * NEWS: Updated. * THANKS: Added Ralf. 2004-09-01 Gary V. Vaughan <gary@gnu.org> * libltdl/lt_dlloader.c (lt_dlloader_add): Handle malloc failure from slist_new. * libltdl/ltdl.c (loader_init): Trust lt_dlloader_add(), don't overwrite its error type, and simplify. Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2004-09-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/slist.c (slist_new): Handle malloc failure gracefully. 2004-09-01 Gary V. Vaughan <gary@gnu.org> * libtoolize.in, config/ltmain.in: Add CDPATH protection to preamble. * tests/defs: Put a full m4sh.m4 style 'Be Bourne compatible' preamble in here too. * HACKING: Note that tests/defs needs synching with m4sh.m4 too. * TODO: Add new item. * libltdl/ltdl.c (try_dlopen, lt_dlforeachfile): Use correct cpp macro name, LT_DLSEARCH_PATH. * libltdl/ltdl.c (lt_dlexit, tryall_dlopen): Fix gcc parentheses warning. (foreach_dirinpath, try_dlopen, lt_dlpath_insertdir): Fix gcc signed vs unsigned warning. Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us> * m4/libtool.m4 (_LT_PROG_LTMAIN): Simplified in light of ltmain.sh no longer being in the build tree. Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2004-09-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * libltdl/loaders/preopen.c: Initialise memory in get_vtable. * tests/sh.test: Look in the source tree for ltmain.sh. 2004-09-01 Gary V. Vaughan <gary@gnu.org> Don't use C99 flexible array types as we want to be C89 compatible. Instead, revert to the old way of doing things with an array of symbol name vs. address, and adding the originator as the first symbol but with a NULL address: * config/ltmain.in (func_extract_dlsyms): Store originator as a NULL address symbol. * libltdl/ltdl.h (lt_dlsymbol): Removed. (lt_dlsymlist): Remove originator field. (LTDL_SET_PRELOADED_SYMBOLS): Adjust. * libltdl/loaders/preopen.c (vm_open, lt_dlpreload_open): Adjust for new types. (vm_sym): Skip the new originator symbol when scanning symbol names. * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Adjust preloaded symbols test file to match. * NEWS: Updated. Reported by Andreas Schwab <schwab@suse.de> 2004-09-01 Gary V. Vaughan <gary@gnu.org> Libtool currently assumes that certain characteristics, such as enable_shared, apply to the host architecture rather than per- language. Running the tests over a broken compiler can corrupt these values, when there is no C++ compiler for example, so we skip most of the tests in those cases. * m4/libtool.m4 (_LT_LANG_CXX_CONFIG): If caught_CXX_compiler was set from configure.ac, then don't run all the compiler tests. (_LT_LANG_F77_CONFIG): Similarly for caught_F77_compiler. 2004-08-31 Gary V. Vaughan <gary@gnu.org> * Makefile.am (clean-ltmain-sh): Remove stale config/ltmain.sh from the build tree that were left behind by previous versions of libtool. ($top_srcdir)/stamp-vcl: Since this rule is already called on every invocation of make, hook clean-ltmain-sh in here too. Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2004-08-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * bootstrap: Update warning message to reflect having split libtool.m4 into several files. Also, add config/ltmain.sh to list of stale files from previous versions to be removed before bootstrap. * libltdl/ltdl.c: Replace strdup with lt__strdup. 2004-08-30 Gary V. Vaughan <gary@gnu.org> * config/ltmain.in: Double quote even $# for the sake of sh.test. (exec_cmd): Be careful about "`\"foo\"`" quoting, even in comments to avoid triggering the tests in sh.test. * configure.ac: Because of the way the autoconf C++ testing works, we need to call the C test first to work in an environment that has no C++ compiler. * libltdl/lt_dlloader.c (lt_dlloader_remove): Since the return value of this function is often passed to free, don't declare it `const'. Responsibility for this memory is given back to the caller on return. * libltdl/lt_dlloader.h (lt_dlloader_remove): Ditto. * libltdl/ltdl.c (lt_dlexit): Adjust. * NEWS: Updated. 2004-08-30 Andreas Schwab <schwab@suse.de> * libltdl/ltdl.c (lt_dlexit): Remove lvalue cast. * libltdl/slist.h (SListCallback): Fix missing type. * config/ltmain.in: Accept --mode=relink. 2004-08-29 Gary V. Vaughan <gary@gnu.org> * NEWS: Updated. * configure.ac: Bumped version to 1.9c. GNU libtool 1.9b was released. * configure.ac: Bumped version to 1.9b. * NEWS: Updated. * INSTALL, config/config.guess, config/config.sub, config/texinfo.tex: Updated from canonical source. * Makefile.maint, HACKING: Update instructions for releasing in a VPATH build. * Makefile.am (dist-hook): Only run if README-alpha exists. * README.alpha: Renamed from README-alpha to stop automake from automatically adding it to DIST_COMMON. * NEWS: Merge changes from branch-1-5. * Makefile.am (dist-hook): Always distribute just a README file, but take its contents from README-alpha for alpha releases. * TODO: Reformat. Removed some items that have been implemented. 2004-08-29 Gary V. Vaughan <gary@gnu.org> Add a new `-weak' flag to tell libtool when not to propogate dependency libraries from dlpreopened modules to libraries: * config/ltmain.in: Support new -weak link mode option. Adjust help message. * libltdl/Makefile.am (libltdlc_la_LDFLAGS): Use it. * doc/libtool.texi (Linking with dlopened modules): Document it. (Link mode): Mention -weak. * NEWS: Updated. 2004-08-29 Gary V. Vaughan <gary@gnu.org> * config/ltmain.in (opt_help): Defer showing help messages until after a possible following --mode argument has been parsed, so we can handle `libtool --help --mode=foo'. 2004-08-29 Gary V. Vaughan <gary@gnu.org> We have had shell functions in ltmain.in for a few years without complaint now, and recently a few more have crept in. Make a start at refactoring the code with shell functions, and standardising on option parsing style: * config/ltmain.in (func_echo, func_verbose, func_error) (func_fatal_error, func_fatal_help, func_missing_arg) (func_version, func_usage, func_help): Boiler plate shell functions mostly copied from libtoolize.in. Changed *lots* of shell snippets to call these functions as appropriate, rather than inlining the same code over and over. (func_config, func_features, func_enable_tag, func_mode_help): Factored out from the shared option parsing loop. Write a new shared option parser based on the one in libtoolize.in. (func_check_version_match): Factored out from global scope. (func_mode_compile, func_mode_execute, func_mode_finish) (func_mode_install, func_mode_link, func_mode_uninstall): Break each of the top level mode handlers out into a function. Adjust main loop. (modename, prevopt, prev, optarg, show_help): Removed in the course of cleaning up the shared option parser. (opt_duplicate_deps): Use `:' and `false' instead of `yes' and `', so we can run it directly, rather than calling test. 2004-08-28 Gary V. Vaughan <gary@gnu.org> To help users submit better bug reports, improve the general instructions, and provide additional useful info alongside the bug reporting address in --help output: * Makefile.am (edit): Substitute $host_triplet. * libtoolize.in: Output useful debug info with --help. * config/ltmain.in: Ditto. * README: Rewritten. Added copyright info. * README-alpha: Rewritten. Added copyright info. * HACKING: New file, partly taken from old README-alpha. 2004-08-27 Gary V. Vaughan <gary@gnu.org> Two things to stop `make distcheck' from trying to rebuild distributed files (m4/ltversion.m4 and config/ltmain.in) in the readonly source tree: * Makefile.am (stamp-vcl): Keep only one copy of stamp-vcl; in $(top_srcdir), so that an up-to-date version is rolled into the dist tarball even from a VPATH build. ($(top_srcdir)/config/ltmain.sh): Don't depend on Makefile, otherwise ltmain.sh needs to be rebuilt after every config.status run, and then configure needs to be rebuilt, and it all goes horribly wrong :-/ Unfortunately, we can't depend on Makefile.am either, because that is a circular dependency. The downside of this change is that it is now possible to edit Makefile.am to change the way ltmain.sh is generated, and the dependency information can't tell that ltmain.sh needs regenerating. 2004-08-27 Gary V. Vaughan <gary@gnu.org> * doc/libtool.texi (Cheap tricks): Escape the `@' for texinfo. 2004-08-27 Gary V. Vaughan <gary@gnu.org> * doc/libtool.texi (Cheap tricks): Fix the instructions for making a ltmain.in wrapping libtool in light of recent changes to the version checking code. 2004-08-26 Peter O'Gorman <peter@pogma.com> * config/ltmain.in [darwin]: Use the -dylib_file flag and avoid linking to so many libraries on darwin. * m4/libtool.m4 [darwin]: Don't use a libname triplet, a couplet is perfectly fine. * m4/ltdl.m4: Don't use the dyld loader on darwin 8 or later. 2004-08-25 Paolo Bonzini <bonzini@gnu.org> * config/ltmain.in (piecewise linking): Use a GNU ld script if possible. * m4/libtool.m4 (_LT_LINKER_SHLIBS): Add per-tag variable with_gnu_ld. (_LT_LANG_CXX_CONFIG): Don't set unused variable with_gnu_ldcxx. 2004-08-22 Gary V. Vaughan <gary@gnu.org> The Grand Renaming. In preparation for libtool-2.0, move all of the many and varied m4 symbols accumulated by libtool over the years, considering also that modern autoconf can detect unexpanded macros even without AC in the macro name: * bootstrap: Remove libltdl/config.h from previous releases. * m4/libtool.m4, m4/ltdl.m4, doc/libtool.texi: Basically, run a giant sed transformation like this: s,AC_LIB_LTDL,LTDL_INIT,g s,AC_LIBLTDL_CONVENIENCE,LTDL_CONVENIENCE,g s,AC_LIBLTDL_INSTALLABLE,LTDL_INSTALLABLE,g s,AC_WITH_LTDL,LT_WITH_LTDL,g s,AC_LTDL_ENABLE_INSTALL,_LT_ENABLE_INSTALL,g s,AC_DEPLIBS_CHECK_METHOD,_LT_CHECK_MAGIC_METHOD,g s,AC_LIBTOOL_OBJDIR,_LT_CHECK_OBJDIR,g s,AC_LTDL_OBJDIR,_LT_CHECK_OBJDIR,g s,AC_LTDL_DLPREOPEN,_LT_CHECK_DLPREOPEN,g s,AC_LIBTOOL_SYS_MAX_CMD_LEN,LT_CMD_MAX_LEN,g s,AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE,_LT_CMD_GLOBAL_SYMBOLS,g s,AC_LIBTOOL_SYS_OLD_ARCHIVE,_LT_CMD_OLD_ARCHIVE,g s,AC_PROG_LD_RELOAD_FLAG,_LT_CMD_RELOAD,g s,AC_LIBTOOL_SYS_LIB_STRIP,_LT_CMD_STRIPLIB,g s,AC_CHECK_LIBM,LT_LIB_M,g s,AC_LTDL_DLLIB,LT_LIB_DLLOAD,g s,AC_LIBTOOL_COMPILER_OPTION,_LT_COMPILER_OPTION,g s,AC_LIBTOOL_PROG_CC_C_O,_LT_COMPILER_C_O,g s,AC_LIBTOOL_PROG_COMPILER_NO_RTTI,_LT_COMPILER_NO_RTTI,g s,AC_LIBTOOL_PROG_COMPILER_PIC,_LT_COMPILER_PIC,g s,AC_LIBTOOL_SYS_HARD_LINK_LOCKS,_LT_COMPILER_FILE_LOCKS,g s,AC_LTDL_DLSYM_USCORE,LT_FUNC_DLSYM_USCORE,g s,AC_LIBTOOL_LINKER_OPTION,_LT_LINKER_OPTION,g s,AC_LIBTOOL_PROG_LD_SHLIBS,_LT_LINKER_SHLIBS,g s,AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH,_LT_LINKER_HARDCODE_LIBPATH,g s,AC_PATH_MAGIC,_LT_PATH_MAGIC,g s,AC_PATH_TOOL_PREFIX,_LT_PATH_TOOL_PREFIX,g s,AC_PROG_LD,LT_PATH_LD,g s,AC_PROG_LD_GNU,_LT_PATH_LD_GNU,g s,AC_PROG_NM,LT_PATH_NM,g s,AC_LTDL_SYS_DLOPEN_DEPLIBS,LT_SYS_DLOPEN_DEPLIBS,g s,AC_LIBTOOL_DLOPEN_SELF,LT_SYS_DLOPEN_SELF,g s,AC_LIBTOOL_POSTDEP_PREDEP,_LT_SYS_HIDDEN_LIBDEPS,g s,AC_LTDL_SYSSEARCHPATH,LT_SYS_DLSEARCH_PATH,g s,AC_LTDL_SHLIBEXT,LT_SYS_MODULE_EXT,g s,AC_LTDL_SHLIBPATH,LT_SYS_MODULE_PATH,g s,AC_LTDL_SYMBOL_USCORE,LT_SYS_SYMBOL_USCORE,g s,AC_LIBTOOL_SYS_DYNAMIC_LINKER,_LT_SYS_DYNAMIC_LINKER,g s,_LT_AC_TAGVAR,_LT_TAGVAR,g s,_LT_AC_SYS_COMPILER,_LT_TAG_COMPILER,g s,_LT_AC_PROG_ECHO_BACKSLASH,_LT_PROG_ECHO_BACKSLASH,g s,_LT_AC_SYS_LIBPATH_AIX,_LT_SYS_MODULE_PATH_AIX,g s,_LT_AC_SHELL_INIT,_LT_SHELL_INIT,g s,_LT_AC_LOCK,_LT_ENABLE_LOCK,g s,_LT_AC_CHECK_DLFCN,_LT_HEADER_DLFCN,g s,_LT_AC_TRY_DLOPEN_SELF,_LT_TRY_DLOPEN_SELF,g s,LT_AC_PROG_EGREP,_LT_DECL_EGREP,g s,LT_AC_PROG_SED,_LT_DECL_SED,g * doc/libtool.texi (Autoconf macros): Document exported macros. * libtoolize.in: Compare ltdl.m4 serial numbers for LTDL_INIT instead of newly obsoleted AC_LIB_LTDL. (func_scan_files): Also set seen_ltdl for LTDL_INIT and LT_WITH_LTDL. 2004-08-12 Peter O'Gorman <peter@pogma.com> * m4/libtool.m4 [GNU/linux] (AC_DEPLIBS_CHECK_METHOD): Cleanup, thanks to Daniel Reed. 2004-08-11 Daniel Reed <djr@redhat.com> * tests/demo-nopic.test: Do not run on x86_64 or s390* 2004-08-06 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.c (lt_dlforeachfile): LT_SYS_LIBSEARCH_PATH is not an environment variable, it is an actual path. * bootstrap: Remove `-f Makefile.am' now that we have an actual Makefile to build ltmain.sh. Reported by Noah Mish <noah@cs.caltech.edu> 2004-08-05 Gary V. Vaughan <gary@gnu.org> * bootstrap: Run the bootstrap rules from a file named Makefile, copied from Makefile.am for fresh checkouts. 2004-08-05 Alexandre Duret-Lutz <adl@gnu.org> * m4/libtool.m4 (_LT_PROG_LTMAIN): Require ltmain.sh using using Autoconf's new AC_REQUIRE_AUX_FILE. 2004-08-05 Gary V. Vaughan <gary@gnu.org> * Makefile.am ($(top_srcdir)/config/ltmain.sh): Depends on Makefile. (timestamp): Factor out timestamp setting and edit it based on the version number, so that it is empty for release versions. ($(top_srcdir)/config/ltmain.sh): Use it. (libtoolize): Ditto. * Makefile.am (libtool): Depends on ltmain.sh. (libtoolize): Set and substitute TIMESTAMP. * Makefile.am ($(top_srcdir)/config/ltmain.sh): Actually run $(MKSTAMP) before changing directories, or it won't be found. Forgot to save before my last commit :-( * Makefile.am ($(top_srcdir)/m4/ltversion.m4): Since we already did `cd $(top_srcdir)' for this rule, we can't mv ltversion.tmp to the relative $(top_srcdir) again! Also, run $(MKSTAMP) before changing directories, or it won't be found. ($(top_srcdir)/config/ltmain.sh): Ditto. (EXTRA_DIST): We should distribute ltversion.m4 too. 2004-08-04 Peter O'Gorman <peter@pogma.com> * m4/libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Since CONFIG_SHELL may not actually be set, we should use SHELL here, also make darn sure that SHELL is set to something. Bug from Willem Jan Palenstijn <wpalenst@math.leidenuniv.nl>. 2004-08-03 Jacob Meuser <jakemsr@jakemsr.com> * ltmain.in: Allow some static libraries to be used in generating a shared library on NetBSD and OpenBSD. match-pattern_regex decides which are good. 2004-08-02 Geoffrey Keating <geoffk@apple.com> * m4/libtool.m4 [darwin]: Don't use -all_load. 2004-08-01 Maciej W. Rozycki <macro@linux-mips.org> * m4/libtool.m4 (LT_AC_PROG_SED): Set SED when running from cache as well. 2004-07-31 Gary V. Vaughan <gary@gnu.org> Although libtool is optimised to not need to subconfigure libltdl, the installed libltdl sources for libtoolize need to put libltdl/configure.ac in the parent package so that *it* can subconfigure libltdl. That way we don't put any constraints on the build system used by the parent package because the libtoolized libltdl subtree is a self-contained sub-project: * libltdl/Makefile.am (EXTRA_DIST): Add configure.ac. (nobase_ltdldata_DATA): Change back to libltdl's own configure.ac. 2004-07-30 Gary V. Vaughan <gary@gnu.org> My thanks to Alexandre Duret-Lutz <adl@gnu.org> for the insight required to write this changeset -- especially that ltmain.sh is the same on any machine for a given release, which I hadn't noticed for some bizarre reason: It turns out that generating distributed files from configure causes no end of hassle, as evidenced by the many patches I've generated over the last few days to try and get the dist and distcheck make rules to work. Instead of all that hair, we now simply generate our distributed files (now including ltmain.sh) with make rules -- and since automake creates make variables for all AC_SUBSTs, that is really easy. The code looks a lot more like automake and autoconf Makefile.ams now, and doesn't have all the rough edges the earlier hacky solution suffered from. We still generate libtool from config.status, but that is not a distributed file, and doesn't break the golden rule. Besides, there is way more going on there than a bunch of substitutions: * Makefile.am (edit): New common sed substitutions for files now generated by make instead of config.status. (CLEANFILES): Clean new tmp files. (EXTRA_DIST): Add ltmain.sh. (vcl-tmp): Reinstated. (m4/ltversion.m4, config/ltmain.sh): New rules. Generate from here instead of config.status. (libtoolize): Ditto. (libtool): Call config.status to regenerate if necessary. (dist-hook): Removed. * config/ltmain.in: Moved here from top_srcdir. * README-alpha: Update instructions to check AS_SHELL_SANITIZE is up to date. * bootstrap: Rewritten. Generate m4/ltversion.m4 and config/ltmain.sh because configure depends on them. * configure.ac (AC_CONFIG_SRCDIR): Use libtoolize.in now that ltmain.in has moved. (AC_CONFIG_FILES): Don't generate distributed files, config/ltmain.sh and libtoolize from config.status. We have make rules to do that now. 2004-07-30 Peter O'Gorman <peter@pogma.com> * m4/libtool.m4, ltmain.in: readd the comments that I erased. * ltmain.in [darwin]: We already had a module var, there can be only one. * m4/libtool.m4, ltmain.in: autoconf now says the best thing to do with CDPATH is to (unset CDPATH) >/dev/null 2>&1 && unset CDPATH, so do it. 2004-07-29 Gary V. Vaughan <gary@gnu.org> * Makefile.am ($(top_srcdir)/config/ltmain.sh): Ugh. More hair to help `make distcheck'; not only do we have to make a copy of ltmain.sh available in the source tree, but we have to be really careful about permission bit twiddling when we copy it across into the possible read-only $(top_srcdir)/config directory! * tests/tagtrace.test: Skip this test when running a VPATH build against a read-only source tree (as in distcheck for example), since autoconf wants to write temporary files in $top_srcdir otherwise. * Makefile.am ($(top_srcdir)/config/ltmain.sh): Automake assumes, quite rightly for every project except libtool, that there will be an ltmain.sh in the source tree. (EXTRA_DIST): As do the dist rules it generates. (dist-hook): Even though we definitely don't want to distribute our local ltmain.sh. * config/config.guess, config/config.sub: Don't check these in, they cause spurious conflicts on cvs commit and update, and are added by bootstrap in any case. * configure.ac (AC_INIT): Revert an accidental commit from my testing of package_revision. 2004-07-29 Alexandre Duret-Lutz <adl@gnu.org> * doc/libtool.texi (Tags): Document CC. * m4/libtool.m4 (_LT_SETUP): Register CC as supported tag so that Automake uses it. 2004-07-28 Gary V. Vaughan <gary@gnu.org> Fix a long-standing bug where macro_version was always empty in the generated m4/ltversion.m4. Except for CVS revisions: * ltmain.in (package_revision): Don't try to deduce it from TIMESTAMP, since that is empty for release versions; simply substitute it... * configure.ac (package_revision): ...from here, having precalculated it before resetting TIMESTAMP for release versions. * bootstrap: Force regeneration of m4/ltversion.m4, but retain timestamps if there is no change to the content. 2004-07-28 Gary V. Vaughan <gary@gnu.org> To take full advantage of this, libtool must be bootstrapped with CVS autoconf, otherwise pdksh chokes on some nested escaped quotes from libtool.m4. Using CVS autoconf protects configure from non-bourne compatible shells in the same way this changeset protects libtool and libtoolize: * libtoolize.in: Include latest CVS autoconf AS_SHELL_SANITIZE expansion to make various shells fully bourne compatible. * ltmain.in: Ditto. * m4/libtool.m4 (AC_PATH_TOOL_PREFIX): Remove spurious quotes, the RHS of = assignment is not IFS split. (_LT_LANG_CXX_CONFIG): Ditto. (AC_LIBTOOL_POSTDEP_PREDEP): Ditto. 2004-07-27 Gary V. Vaughan <gary@gnu.org> This change fixes another VPATH build bug, where the vcl.tmp target forced a rebuild of stamp-vcl in the build tree (and hence regeneration of m4/ltversion.m4, thus an automake driven rebootstrap that doesn't know about $fakes) requiring a fresh ./bootstrap after every cvs/tla update: * Makefile.am (vcl.tmp): Removed. (stamp-vcl): Adopt former vcl.tmp target rules. 2004-07-25 Gary V. Vaughan <gary@gnu.org> * ltmain.in: Make sure that dependency libraries of -dlpreopened libraries are propogated properly. 2004-07-23 Joe Orton <joe@manyfish.co.uk> * libtool.m4: Treat bsdi5* like bsdi4*. 2004-07-22 Peter O'Gorman <peter@pogma.com> * ltmain.in [darwin](func_extract_archives): $SED not sed. * ltmain.in [darwin](func_extract_archives): Clean up last commit a little, some suggestions are from Albert Chin, those that are broken are mine. * libltdl/Makefile.am, libltdl/loaders/Makefile.am: Look for included files in the right places. 2004-07-18 Peter O'Gorman <peter@pogma.com> * ltmain.in [darwin](func_extract_archives): Because fat archives on darwin can not be extracted using ar, we need to use lipo to extract the thin archives and then use lipo again to generate the individual fat objects. This should allow people to run configure with CC set to "cc -arch ppc -arch ppc64" or "cc -arch ppc -arch i386" or whatever to match the toolchain they have available. 2004-07-18 Greg Eisenhauer <eisen@cc.gatech.edu> * libltdl/loaders/Makefile.am: Use AM_MAKEFLAGS not MAKEFLAGS. 2004-07-18 Peter O'Gorman <peter@pogma.com> * libltdl/Makefile.am: Ensure that lt__dirent.h is part of the dist, also make failed looking for configure.ac, look for $(top_srcdir)/configure.ac instead. 2004-07-15 Gary V. Vaughan <gary@gnu.org> * libltdl/lt__private.h (lt_dlhandle_struct): Renamed to lt__handle to better reflect the naming scheme. * libltdl/ltdl.h (lt_dlhandle): Be truly opaque with a void *. * libltdl/lt_dlloader.c (lt_dlloader_remove): Party to lt__private.h, so use internal lt__handle instead of opaque lt_dlhandle. * libltdl/ltdl.c (LT_DLGET_FLAG, LT_DLSET_FLAG): Add a cast to internal lt__handle type. (try_dlopen, tryall_dlopen, load_deplibs, unload_deplibs): Ditto. (lt_dlexit, lt_dlclose, lt_dlsym): Use lt__handle to iterate throught the handle list. (try_dlopen): Use lt__zalloc instead of MALLOC and memset. * libltdl/ltdl.h (lt_dlcaller_id): Be truly opaque with a void *. (lt_dlhandle_interface): New callback type for filtering handles according to the interface they present. * libltdl/ltdl.c (lt_dlcaller_register): Take an id and an interface check callback, and generate a caller_id. (iterator): New static variable for the use of... (lt_dlhandle_first): New function. Set the iterator for subsequent calls to lt_dlhandle_next. (lt_dlhandle_next): Either work as before when iterator is unset, or else skip handles that fail the interface check in iterator set by lt_dlhandle_first. * libltdl/ltdl.h (lt_dlhandle_first): Declaration. * doc/libtool.texi (User defined module data): Document the new APIs. * NEWS: Updated. 2004-07-15 Gary V. Vaughan <gary@gnu.org> Split lt_dlloader management into a separate file, and factor `loaders' list management into a new SList ADT. In the process, the API for writing loaders is a little cleaner, so all the existing loaders were tweaked to take advantage of that: * libltdl/slist.h, libltdl/slist.c: New files implementing a generic singly linked list container ADT. The ADT is purely internal, and none of its API's are visible from an installed libltdl. * libltdl/lt_dlloader.h (lt_dlloader): Removed next field again :-) Renamed to lt_dlvtable for API. Changed all callers. (lt_dlloader_get): New function to turn an lt_dlloader into its associated lt_dlvtable. (lt_dlloader_add): Removed unused data parameter. The caller data belongs to (and is set by) the loader itself, not the loader's client. Changed all callers. (lt_dlloader_name, lt_dlloader_data): Removed. Use lt_dlloader_get instead! * libltdl/lt__private.h: Include slist.h. (lt__alloc_die_callback): Add missing LT_SCOPE to declaration. (lt_dlhandle_struct): Use lt_dlvtable instead of opaque lt_dlloader. * libltdl/ltdl.c (lt_dlexit): Rewritten for the new loader API. (loaders, lt_dlloader_add, lt_dlloader_remove, lt_dlloader_next, lt_dlloader_find): Moved from here... * libltdl/lt_dlloader.c ((loaders, lt_dlloader_add, lt_dlloader_remove, lt_dlloader_next, lt_dlloader_find): ...to here. And rewritten in terms of new SList interface. * libltdl/ltdl.c (lt_dlexit, tryall_dlopen): Rewritten in terms of new lt_dlloader interface. * libltdl/Makefile.am (libdlloader_la_SOURCES): Add slist.h and slist.c. Move lt_dlloader.h from here... (pkginclude_HEADERS): ...to here. (libltdl_la_SOURCES): Add lt_dlloader.c and lt_dlloader.h. 2004-07-15 Gary V. Vaughan <gary@gnu.org> Collapse two almost identical structures into one: * libltdl/lt_dlloader.h (lt_dlloader): Add next field. * libltdl/ltdl.c (lt_user_dlloader): Remove entirely. Change all callers to use lt_dlloader instead. Add a compatibility macro. (lt_dlloader_add): Remove copy and allocate stage, just hook directly into the loaders list. 2004-07-15 Gary V. Vaughan <gary@gnu.org> A cleaner way to access the private fields of an lt_dlhandle than my move of the module field into lt_dlinfo: * libltdl/ltdl.c (lt_caller_data, lt_dlhandle_struct): Move from here... * libltdl/lt__private.h (lt_caller_data, lt_dlhandle_struct): ...to here. And put the module field back here... * libltdl/ltdl.h (lt_dlinfo): ...instead of here. * libltdl/loaders/loadlibrary.c (vm_open): Adjust. 2004-07-15 Gary V. Vaughan <gary@gnu.org> * libltdl/lt__private.h (streq, strneq): New macros to make strcmp calls as used for simple comparison easier to read. * libltdl/loaders/dyld.c, libltdl/loaders/preopen.c, libltdl/ltdl.c: Use them! 2004-07-15 Gary V. Vaughan <gary@gnu.org> This pervasive changeset makes two intertwined deep changes to the operation of libtool (neither would work alone). First, there is a new feature that allows libraries to preopen modules. This entails a backwards incompatible change to the libltdl API for separating out the preloaded symbol lists by owner. Second, in the tradition of "eating our own dogfood", libltdl now preloads its own dlloaders. The internal API for dlloaders has also had to change in a backwards incompatible way in support of the new library preloading feature. If you don't use preloaded libraries, you needn't change your project sources, though you will need to recompile against the new libltdl. The API changes are mostly confined to dlloaders, so you probably needn't worry about those (unless you have written a custom loader that you want libltdl to use): * configure.ac (AC_CONFIG_FILES): Add libltdl/loaders/Makefile. * libltdl/configure.ac (AC_CONFIG_FILES): Add loaders/Makefile. * libltdl/loaders: New directory for module loaders, to simplify Makefile rules, and to give the loaders themselves names that are unique in the first few characters. * libtoolize.in (func_copy_all_files): Copy recursively to pick up the loaders directory contents. * libltdl/loaders/Makefile.am: New file. Move module building rules to here... * libltdl/Makefile.am: ...from here. (VERSION_INFO): Bumped version info to signify interface changes. (libltdl_la_CPPFLAGS, libltdlc_la_CPPFLAGS): Set LTDLOPEN appropriately for each library. * libltdl/loader-dld_link.c, libltdl/loader-dlopen.c, libltdl/loader-dyld.c, libltdl/loader-load_add_on.c, libltdl/loader-loadlibrary.c libltdl/loader-preopen.c, libltdl/loader-shl_load.c: Moved from here... * libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c: ...to here. (get_vtable): New entry function for each. * libltdl/loaders/preopen.c (lt_dlsymlists_t): Replaced by... (symlist_chain): ...a new structure which maps lists of preloaded symbols from the object that loads them. (lt_dlpreload_open): New function to automatically open all preloaded modules belonging to a named object (ORIGINATOR). * libltdl/lt__alloc.c (lt__zalloc): New function to return a block of zeroed out new memory. * libltdl/lt__alloc.h (lt__zalloc): Prototype it. * libltdl/lt__private.h (lt__alloc_die_callback): Add missing prototype. (lt__error_strings): Make this opaque to callers. * libltdl/lt_error.c (lt__error_strings): Move the implementation to here. * libltdl/lt_dlloader.h (lt_user_dlloader): Add extra fields to make originator focused preloading possible. *BREAKS BACKWARDS COMPATIBILITY* (lt_dlloader_add): Take advantage of new fields to simplify paramater list. * libltdl/lt_system.h (LT_STR): New ANSI stringification macro. (LT_CONC): Fix it to work from within macros. * libltdl/ltdl.c (loader_init, loader_init_callback): Simplify dlloader loading. (get_vtable, preloaded_symbols): Point these at the preopen.c symbols to bootstrap the loader chain. (lt_dlinit): Load the preopen dlloader manually, and then use it to load any other preloaded dlloaders. (lt_dlloader_add): Simplify parameter list. Populate new fields. Chain new loaders according to priority field. * libltdl/ltdl.h (lt_dlsymlist): Add a new originator field. (lt_dlpreload_callback_func): Type of a callback for automatic lt_dlpreload_open loading. (LTDL_SET_PRELOADED_SYMBOLS): Adjust to hook into preloaded symbols from the "@PROGRAM@" originator. * tests/demo/dlmain.c (main): Use mangled preloaded_symbols symbol. * tests/pdemo/longer_file_name_dlmain.c (main): Ditto. * ltmain.in: Don't spew spurious warnings when dlopening and dlpreopening modules. (func_generate_dlsyms): Factored out from multiple copies in the rest of the code. Generate originator keyed symbol lists. (func_extract_archives): Also factored. Extract the contents of convenience archives for linking with dependent libraries when --whole-archive is not available. [darwin]: Don't try to link $old_library unless it exists, and $lib is a bundle. * m4/ltdl.m4 (AC_LTDL_DLLIB): Check for all possible dynamic loading libraries/apis rather that stopping when an acceptable one is discovered. (LT_DLLOADERS): New variable for holding dlloaders that can be preloaded. * doc/libtool.texi: Document interface changes. * NEWS: Updated. 2004-07-12 Peter O'Gorman <peter@pogma.com> * m4/libtool.m4 [darwin]: Set whole_archive_flag_spec to '' for xlc, or it does not pass it's tests. xlc passes -noall_load (the default) and when -all_load is also specified Apple's /usr/bin/libtool barfs and dies. 2004-07-07 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.h (lt_dlinfo): Move private module field to here... * libltdl/ltdl.c (lt_dlhandle_struct): ...from here. Changed all callers. * libltdl/loader-loadlibrary.c (sys_wll_open): Use new inteface to scan loaded handle->info.module fields for previously loaded modules. * doc/libtool.texi (User defined module data): Document changes to the interface. * NEWS: Updated. Reported by Chuck Wilson <cwilson@ece.gatech.edu> 2004-07-07 Brad <brad@comstyle.com> * m4/libtool.m4: Fixes for the OpenBSD support 2004-06-24 Noah Misch <noah@cs.caltech.edu> * ltmain.in: Unset the zsh GLOB_SUBST option, which makes zsh handle backslash quoting poorly, before doing anything else. * tests/defs: Likewise. 2004-06-21 Gary V. Vaughan <gary@gnu.org> * libtoolize.in (libtoolize_flags): With the --ltdl option, we libtoolize the libltdl subdirectory automatically. * m4/ltdl.m4 (AC_WITH_LTDL): Fix overquoted args. 2004-06-21 Peter O'Gorman <peter@pogma.com> * ltmain.in (dependency_libs) [darwin]: Remove -framework stuff from dependency_libs. Instead, invent a new .la var "inherited_linker_flags" to keep any linker flags which should be used when linking the library, but are outside the usual -L -l, -R etc that can be used in dependency_libs. Any unusual flags in dependency_libs cause recent versions of libtool to die with "cannot find the library `'", so it is required to move frameworks out of there. :( 2004-06-21 Gary V. Vaughan <gary@gnu.org> From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>: * libtoolize.in: Quote $# to make sh.test happy again. * m4/ltdl.m4 (AC_WITH_LTDL): Remove redundant AC_REQUIRE calls. Either set variables to allow a client to link with the installed libltdl, or else compile a local libltdl as a convenience library. * libtoolize.in (opt_ltdl): Removed in favour of... (ltdldir): ...this, which is defaulted to "libltdl" or can be set by the user with an argument to --ltdl. (Main): Use it! * doc/libtool.texi (Distributing libltdl): Improved documentation on libltdl. (Invoking libtoolize): Document new optional --ltdl target directory argument. 2004-06-17 Gary V. Vaughan <gary@gnu.org> * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [darwin*]: Fix a typo in allow_undefined_flag: s,${Wl},${wl},g * libtoolize.in (func_scan_files): Accept AC_WITH_LTDL as an indication that libltdl is being used. (Main): Without AC_CONFIG_MACRO_DIR, don't just dump all the macro files in `.' since they are never used, and aclocal will copy them from $aclocaldir into aclocal.m4 anyway. Reported by Alexandre Duret-Lutz <adl@gnu.org> 2004-06-16 Brad <brad@comstyle.com> * m4/libtool.m4: More improvements to OpenBSD support. * NEWS: Updated. 2004-06-16 Gary V. Vaughan <gary@gnu.org> libltdl uses LIBOBJS, which leak out into a parent project if both share the same configure.ac. Libtool itself doesn't compile any code, so it is okay to do it during bootstrap, but other projects need to treat libltdl as a configurable subproject to keep their respective LIBOBJS separate: * libltdl/configure.ac: New file, based on configure.ac. * libltdl/Makefile.am (AC_LOCAL_AMFLAGS): Use our own m4 directory. (ltdldata_DATA): List *all* the files that libtoolize --ltdl will install. 2004-06-16 Gary V. Vaughan <gary@gnu.org> Automake 1.9 won't have the AC_PROG_EGREP bug (aclocal used to pull an old installed libtool.m4 as well as the bootstrap m4/libtool.m4 if an AC_DEFUN was removed), and we have lt~obsolete.m4 to work around it in the mean time. libtoolize can install macro files from $prefix/share/aclocal perfectly well without us needing to move to a whole other directory: * Makefile.am (pkgmacro_DATA): Renamed to aclocal_DATA, so m4 files are installed to $prefix/share/aclocal again. (install-data-local): Don't remove just installed macros! * libtoolize.in (pkgmacrodir): Renamed to aclocaldir. (func_copy_some_files): New function factored out of... (func_copy_all_files): ...here. Adjust to use func_copy_some_files. (re_pkgaux_files): Renamed to glob_pkgaux_files, since it is not a regular expression. (re_pkgmagro_files): Replaced with... (pkgmacro_files): ...a colon delimited list of libtool installed m4 files from aclocaldir. (Main): Copy macro files from aclocaldir again. * NEWS: Updated. 2004-05-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> * ltmain.sh (check_executable): The WIN32 API and MinGW do not support S_IXOTH and S_IXGRP so use of these modes should be conditional. 2004-05-21 Gary V. Vaughan <gary@gnu.org> * tests/tagtrace.test: Forgot to add this file to the repository for Alexandre's 2004-05-16 patch below. 2004-05-18 Peter O'Gorman <peter@pogma.com> * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Make this an m4_defun, test the tags compiler to see if it is GCC, not the CC compiler. 2004-05-16 Alexandre Duret-Lutz <adl@gnu.org> * doc/libtool.texi (Invoking libtool): Mention --tag=TAG. (Tags, Trace interface): New nodes. * m4/libtool.m4 (LT_SUPPORTED_TAG): New macro. (_LT_LANG): Call it. * tests/tagtrace.test: New file. * tests/Makefile.am (TESTS): Add tagtrace.test. * tests/defs: Define AUTOCONF. 2004-05-14 Mike Gorchak <lestat@i.com.ua> * ltmain.in: Add new qnx version type support. * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Use it. Set ldqnx.so linker type. (AC_DEPLIBS_CHECK_METHOD): QNX6 uses GNU C++, with deplib checking, so use pass_all. (AC_LIBTOOL_PROG_COMPILER_PIC): Use -shared for QNX. (_LT_LANG_CXX_CONFIG): QNX can make shared libraries. * m4/ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): QNX opens deplibs on dlopen. * NEWS: Updated. 2004-05-05 Peter O'Gorman <peter@pogma.com> * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH): Insert space around = for a test and a comma between runpath_var and $1. Bug reported by Max Bowsher. 2004-04-22 Gary V. Vaughan <gary@gnu.org> * libltdl/argz.h: Moved from here... * libltdl/argz_.h: ...to here, so as not to shadow system argz.h when we `#include <argz.h>' for example. #include stdlib.h and sys/types.h to ensure we get a size_t definition. * libltdl/argz.c (HAVE_CONFIG_H): Set it up how ltdl likes it when used by another client. * m4/argz.m4: New file. (gl_FUNC_ARGZ): Try to find an error_t definition, and a system argz.h. * m4/ltdl.m4: Use it. (AC_LTDL_FUNC_ARGZ): Removed. * libltdl/lt__glibc.h: #include <argz.h> to pick up either the system argz.h or our libltdl/argz.h if necessary. * libltdl/Makefile.am (libltdl_la_SOURCES): Move argz.h from here... (ltdldata_DATA): ...here. Along with argz.c. (argz.h): Generate from argz_.h if the system file is missing. Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2004-04-22 Gary V. Vaughan <gary@gnu.org> According to Howard Chu <hyc@highlandsun.com>: Applications should assume that the native dlopen is NOT thread-safe, and take care of locking themselves. All application calls into libltdl should thus be protected by the caller. * libltdl/lt_mutex.c, libltdl/lt_mutex.h: Removed. * libltdl/Makefile.am (pkginclude_HEADERS): Removed lt_mutex.h. (libltdl_la_SOURCES): Removed lt_mutex.c and lt_mutex.h. * libltdl/ltdl.h: Don't include lt_mutex.h. * libltdl/lt__private.h (LT__MUTEX_GETERROR, LT__MUTEX_SETERROR) (LT__MUTEX_SETERRORSTR): Renamed to... (LT__GETERROR, LT__SETERROR, LT__SETERRORSTR): ...this. Changed all callers. (LT__MUTEX_LOCK, LT__MUTEX_UNLOCK, lt_dlmutex_lock) (lt_dlmutex_unlock, lt_dlmutex_seterror, lt_dlmutex_geterror): Removed. Changed all callers. * doc/libtool.texi (Thread Saftey in libltdl): * NEWS: Updated. 2004-04-19 Gary V. Vaughan <gary@gnu.org> * m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Detect Intel C++ compiler version more idiomatically. 2004-04-19 Albert Chin-A-Young <china@thewrittenword.com> * m4/libtool.m4: Use cc rather than ld to created a shared library on HP-UX 11.x. On HP-UX 10.x, the C compiler doesn't grok -b so we continue to use ld. * m4/libtool.m4: Use cc rather than ld to create a shared library on Solaris. When using the Sun Workshop compiler 5.0 (and I presume any previous version), revert to ld due to compiler errors. * m4/libtool.m4: Use cc rather than ld to created a shared library on Tru64 UNIX. * m4/libtool.m4: Use cc rather than ld to created a shared library on IRIX. * libltdl/loader-shl_load.c: Fix typos during reorg. 2004-04-19 Alexandre Duret-Lutz <adl@gnu.org> * doc/libtool.texi (LT_INIT): Properly display options in a table. 2004-04-19 Gary V. Vaughan <gary@gnu.org> * m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Intel C++ compiler 8.0 and newer adds predep_objects and postdep_objects itself, so don't duplicate them in $archive_cmds and $archive_expsym_cmds. * NEWS: Updated. Reported by Roberto Bagnara <bagnara@cs.unipr.it> 2004-04-17 Peter O'Gorman <peter@pogma.com> * libltdl/loader-dyld.c: Fix compilation issues. Set Original author to me. 2004-04-17 Todd Vierling <tv@duh.org>, Peter O'Gorman <peter@pogma.com> * m4/libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Use sysctl to get the max cmd length on BSD* and darwin. Make sure that there is a safety factor too. 2004-04-15 Scott James Remnant <scott@netsplit.com> * m4/libtool.m4 (_LT_LANG_DEFAULT_CONFIG): Remove code to handle 'none' and 'all' options, this now always assumes automatic mode as that works so well. (_LT_LANG_DEFAULT): Remove definition * m4/ltoptions.m4: Remove 'no-lang', 'auto-lang' and 'all-lang' options. * configure.ac: Invoke LT_LANG for each desired supported language. * doc/libtool.texi: Remove documentation for the LT_INIT options, rewrite LT_LANG documentation. 2004-04-14 Alexandre Duret-Lutz <adl@gnu.org> * bootstrap: Delete acinclude.m4. 2004-04-14 Gary V. Vaughan <gary@gnu.org> * libtoolize.in (configure_ac): Don't complain about the lack of aclocal.m4. Reported by Alexandre Duret-Lutz <adl@src.lip6.fr> 2004-04-13 Gary V. Vaughan <gary@gnu.org> * m4/ltdl.m4 (AC_LIB_LTDL): Remove AC_REPLACE_FUNCS for memmove and strcpy. * libltdl/lt__pre89.h, libltdl/memcpy.c, libltdl/memmove.c, libltdl/strchr.c, libltdl/strcmp.c, libltdl/strrchr.c: Remove half-assed pre-c89 support entirely. * libltdl/lt__private.h: Don't refer to lt__pre89.h. * libltdl/Makefile.am (ltdldata_DATA): Remove references to deleted files. * NEWS: Mention it. * libltdl/lt__pre89.h, libltdl/ltdl.c, libltdl/ltdl.h, libltdl/argz.c, libltdl/argz.h, libltdl/lt__glibc.h, libltdl/lt_dlloader.h, libltdl/lt__dirent.c, libltdl/lt__dirent.h, libltdl/lt__private.h, libltdl/lt__alloc.c, libltdl/lt__alloc.h, libltdl/lt_system.h, libltdl/loader-dld_link.c, libltdl/loader-dlopen.c, libltdl/loader-dyld.c, libltdl/loader-loadlibrary.c, libltdl/loader-shl_load.c, libltdl/lt_error.h, libltdl/lt_mutex.h: Autoconf either defines to 1 or undefs the discovery macros it puts in config.h, and many (non-GNU) compilers throw a spurious warning when testing an #undef macro with #if. For consistency, while we are touching all these lines, use defined(MACRO) style throughout. Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2004-04-13 Gary V. Vaughan <gary@gnu.org> Factor out the individual loaders, in preparation for preloading them as libtool modules. Currently loader-preopen.c is linked unconditionally and other appropriate loaders discovered by AC_LTDL_DLLIB are built and linked in: * libltdl/Makefile.am (libltdl_la_SOURCES): Add loader-preopen module. * m4/ltdl.m4 (AC_LTDL_DLLIB): Use AC_LIBOBJ to add appropriate loaders to libltdl. * libltdl/lt_system.h (LT_SCOPE): Moved to here. * libltdl/ltdl.h (lt_dlloader, lt_user_data, lt_module) (lt_module_open, lt_module_close, lt_find_sym, lt_dlloader_exit) (struct lt_user_dlloader, lt_dlloader_next, lt_dlloader_find) (lt_dlloader_name, lt_dlloader_data, lt_dlloader_add) (lt_dlloader_remove): Moved declarations... * libltdl/lt_loader.h: ...to here. * libltdl/ltdl.c: Include lt_loader.h. Move loader implementation code from here... * libltdl/loader-dld_link.c, libltdl/loader-dlopen.c, libltdl/loader-dyld.c, libltdl/loader-load_add_on.c, libltdl/loader-loadlibrary.c, libltdl/loader-preopen.c, libltdl/loader-shl_load.c: ...to here. * tests/cdemo/Makefile.am, tests/demo/Makefile.am, tests/depdemo/Makefile.am, tests/f77demo/Makefile.am, tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am (AM_CPPFLAGS): Add -I$(top_srcdir)/../.. so that libltdl include files can be written as #include <libltdl/lt_dlloader.h> and found correctly. 2004-04-13 Gary V. Vaughan <gary@gnu.org> Factor out the mutex handling and error handling into their own modules. Mutex handling is not currently useful in combination with posix threads, and should be easier to replace if it is in a separate module. Additionally, we can factor out the loaders in such a way as to depend on only the portability layer and these new mutex and error modules now: * libltdl/Makefile.am (pkginclude_HEADERS): Install lt_error.h and lt_mutex.h to $includedir/libltdl. (libltdl_la_SOURCES): Build lt_error and lt_mutex objects. * libltdl/ltdl.h (LT_SCOPE): Moved from here... * libltdl/lt_system.h (LT_SCOPE): ...to here. * libltdl/ltdl.c (lt_dlerror_strings, LT_DLSTRERROR): Moved from here... * libltdl/lt__private.h (lt__error_strings, LT__STRERROR): ...to here as additional internal interfaces to lt_error. Changed all callers. * libltdl/ltdl.c (LT_DLMUTEX_LOCK, LT_DLMUTEX_UNLOCK) (LT_DLMUTEX_SETERROR, LT_DLMUTEX_GETERROR, lt_dlmutex_lock_func) (lt_dlmutex_unlock_func, lt_dlmutex_geterror_func) (lt_dllast_error): Moved from here... (LT__MUTEX_LOCK, LT__MUTEX_UNLOCK, LT__MUTEX_SETERRORSTR) (LT__MUTEX_GETERROR, lt__mutex_lock_func, lt__mutex_unlock_func) (lt__mutex_geterror_func, lt__last_error): ...to here as additional internal interfaces to lt_mutex. Changed all callers. (LT_MUTEX_SETERROR): Take an errorcode rather than a string. Changed all callers. * libltdl/ltdl.c, libltdl/ltdl.h (lt_dlmutex_register): Moved from here... * libltdl/lt_mutex.c, libltdl/lt_mutex.h (lt_dlmutex_register): ...to here. New files. * libltdl/ltdl.c, libltdl/ltdl.h (lt_dladderror, lt_dlseterror) (lt_dlerror_table): Moved from here... * libltdl/lt_error.c, libltdl/lt_error.h (lt_dladderror) (lt_dlseterror, lt_dlerror_table): ...to here. New files. 2004-04-13 Scott James Remnant <scott@netsplit.com> * Makefile.am (XDELTA_OPTIONS): Remove --pristine as that generates huge xdeltas. 2004-04-08 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.c (argz_append, argz_create_sep, argz_insert) (argz_next, argz_stringify): Move from here... * libltdl/argz.c: New file. ...to here. * libltdl/lt__glibc.h: New file. Rename global symbols into the lt__ namespace. * libltdl/lt__private.h: Include lt__glibc.h. * libltdl/Makefile.am (libltdl_la_SOURCES): Add new files. (AM_CPPFLAGS): Add -DLTDL. * libltdl/argz.h (argz_append, argz_create_sep, argz_insert) (argz_next, argz_stringify): New file. Declare argz functions here, including lt__glibc.h when LTDL is defined to rename global symbols for libltdl. * m4/ltdl.m4 (AC_LTDL_FUNC_ARGZ): Add argz to AC_LIBOBJ if any of our argz_* functions are missing from the system libraries. * libltdl/ltdl.c: Move standard headers and preprocessor guards from here... * libltdl/lt__private.h: ...to here. New file to declare ltdl's internal interfaces. * libltdl/ltdl.c: Include lt__private.h. * m4/ltdl.m4 (AC_LIB_LTDL): Add lt_dirent to AC_LIBOBJ if all of opendir, readdir and closedir are missing. (AC_CHECK_HEADERS): Remove assert.h, ctype.h, errno.h, malloc.h, stdio.h and stdlib.h; these headers are all available in standard c89 environments and newer. * libltdl/lt__private.h: Include them here unconditionally. * libltdl/lt__dirent.c (opendir, readdir, closedir): New file. Windows dirent emulation functions moved to here... * libltdl/ltdl.c (opendir, readdir, closedir): ...from here. * libltdl/lt__dirent.h: New file. Rename the global symbols from lt__dirent.c into the lt__ namespace so they don't clash with other libraries. 2004-04-08 Gary V. Vaughan <gary@gnu.org> Factor out the bottom portability layer from ltdl. Code in this layer has global symbols renamed by lt__pre89.h, and may not refer to any symbols except those provided by the system libraries or other code in the portability layer: * libltdl/lt__pre89.h: New file. Rename all the symbols from LTLIBOBJS into the lt__ namespace so that they don't clash with other libraries. * libltdl/ltdl.c (rpl_memcpy, rpl_memmove, rpl_strchr, rpl_strcmp) (rpl_strrchr): Moved from here... * libltdl/memcpy.c (memcpy): ...to here, and fixed void * dereference bug... * libltdl/memmove.c (memmove): ...to here, and fixed void * dereference bug... * libltdl/strchr.c (strchr): ...to here... * libltdl/strcmp.c (strcmp): ...here... * libltdl/strrchr.c (strrchr): ...and here. * libltdl/Makefile.am (libltdl_la_SOURCES): Add lt__pre89.h. (libltdl_la_LIBADD, libltdlc_la_LIBADD): Add $(LTLIBOBJS). (ltdldata_DATA): Add replacement sources files. * m4/ltdl.m4 (AC_LIB_LTDL): Do careful config.h and LTLIBOBJ setting for missing pre89 functions. 2004-04-08 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.h (LT_PARAMS): Removed. Changed all users to ANSI prototypes. (lt_ptr): Keep backwards compatibility stub. * libltdl/ltdl.c, libltdl/ltdl.h: Use ANSI function declarations throughout. s/lt_ptr/void */g. 2004-04-08 Fredrik Estreen <estreen@algonet.se> * m4/ltdl.m4: Rename shrext to shrext_cmds here too. 2004-04-06 Gary V. Vaughan <gary@gnu.org> There was no clean separation of abstraction layers in libltdl. The first step in fixing this is to factor out the memory management abstraction, making a start on removing promiscuity from the underlying portability layer: * doc/libtool.texi (Libltdl interface): Remove lt_dlmalloc, lt_dlrealloc and lt_dlfree references. The memory management layer used by libltdl is now private. * libltdl/lt_system.h: New installed header for system portability abstraction. * libltdl/ltdl.h: Use it. * libltdl/lt__alloc.c, libltdl/lt__alloc.h: New module above system portability layer to abstract ltdl's memory management. * libltdl/ltdl.c: Use lt__alloc.h. (closedir): Use free. (opendir): Use malloc/free. (lt__xalloc_die_callback): Report memory failures through lt_dlerror. (lt_dlinit): Use it to initialise memory management. (LT_DLMALLOC, LT_DLREALLOC, LT_DLFREE, LT_EMALLOC, LT_EREALLOC) (rpl_strdup, rpl_realloc, lt_estrdup, lt_emalloc, lt_erealloc): Removed in favour of... (lt__strdup, lt__memdup, MALLOC, REALLOC, FREE): ...these calls from libltdl/lt__alloc.h. Changed all callers. (rpl_argz_append, rpl_argz_create_sep, rpl_argz_insert): As part of the portability layer, these functions no longer use libltdl memory management API. (free_vars): Factored out. (LT_DLMEM_REASSIGN): While redoing memory handling, renamed... * libltdl/lt__alloc.h (MEMREASSIGN): ...to this. * libltdl/Makefile.am (AUTOMAKE_OPTIONS): Let automake track dependencies automatically. (pkgincludedir): Override from parent package's setting. (pkginclude_HEADERS): Install lt_system.h. (libltdl_la_SOURCES): Add new files. * NEWS: Updated. Reported by Dalibor Topic <robilad@kaffe.org> 2004-04-01 Peter O'Gorman <peter@pogma.com> * ltmain.in: Remove an extra eval concat_cmds that some idiot added. Fixes double eval on AIX, reported by Albert Chin and Uwe Moeller. * NEWS: Add a news item about xlc support that I forgot yesterday. 2004-03-31 Peter O'Gorman <peter@pogma.com> * m4/libtool.m4, ltmain.in (darwin): Support IBM's xlc and xlc++. 2004-03-31 Gary V. Vaughan <gary@gnu.org> * m4/libtool.m4 (_LT_LANG_C_CONFIG): If $compiler is not set, then don't call the macros that test it. (_LT_LANG_CXX_CONFIG): Ditto. (_LT_LANG_F77_CONFIG): Ditto. (_LT_LANG_GCJ_CONFIG): Ditto. (_LT_LANG_RC_CONFIG): Ditto. 2004-03-30 Gary V. Vaughan <gary@gnu.org> * libtoolize.in (func_scan_files): sed BRE have no alternation, so break LT_INIT matcher out. (func_serial): Don't escape literal parens for grep BRE. * m4/libtool.m4 (LT_INIT): aclocal can't see AC_DEFUN_ONCE, so use AC_DEFUN and m4_define. * libtoolize.in (func_serial): No longer accept AC_DEFUN_ONCE... (func_grep): ...so mere grep is sufficient again... (EGREP): ...and this is no longer required. 2004-03-29 Gary V. Vaughan <gary@gnu.org> * m4/libtool.m4: Use LT_INIT as #serial tag. * libtoolize.in: Grok LT_INIT! Pass A[CM]_PROG_LIBTOOL to... (func_serial_update): ...here, we now take an additional parameter containing another regex to match ancient serialed files. (func_serial): Accept AC_DEFUN_ONCE of the #serial tag... (func_grep): ...which requires egrep... (EGREP): ...substituted by config.status. (func_scan_files): Set seen_libtool if LT_INIT goes by. * Makefile.am (pkgmacro_DATA): Install ltoptions.m4. * libltdl/Makefile.am (AM_CPPFLAGS): Also check $top_builddir for config.h. (ltdl.o): config.h is in $top_builddir. 2004-03-24 Scott James Remnant <scott@netsplit.com> * NEWS: Explain more fully why we no longer load libraries with global symbol resolution. * doc/libtool.texi (libtool script contents): Add missing documentation for 'inherit_rpath' variable. * configure.ac: Catch errors during calls to AC_PROG_CXX, AC_PROG_CXXCPP and AC_PROG_F77 before LT_INIT. Only set the HAVE_CXX and HAVE_F77 conditions to true if an error didn't occur (AC_PROG_CXX leaves CXX="g++" even if it didn't find one). Set HAVE_GCJ and HAVE_RC to true correctly as well. * m4/libtool.m4 (LT_PROG_GCJ): If AC_PROG_GCJ or AM_PROG_GCJ are defined, expand to the definition of those instead of our own. Define GCJ to '' instead of 'no' if not found. (LT_PROG_RC) Define RC to '' instead of 'no' if not found. (_LT_LANG_GCJ_CONFIG): Require LT_PROG_GCJ to be expanded first. (_LT_LANG_RC_CONFIG): Require LT_PROG_RC to be expanded first. * libltdl/ltdl.c (sys_dl_open): Don't load libraries with global symbol resolution. * NEWS: Updated. 2004-03-24 Albert Chin-A-Young <china@thewrittenword.com> * m4/libtool.m4: Add new variable, inherit_rpath, if the RPATHs of the libraries being linked are inherited in the output file. For systems with a linker exhibiting this feature, programs/libraries must be relinked at installation time. * m4/libtool.m4: When linking convenience libraries on Solaris with the Sun C++ compiler, pass convenience libraries through to the linker with -Qoption between allextract/defaultextract. The Sun C++ compiler bundles -Qoption arguments so convenience libraries are linked with defaultextract otherwise. * tagdemo/Makefile.am, tagdemo/main.cpp, tagdemo/conv.h, tagdemo/conv.cpp: Augment tagdemo test to link a convenience library with a libtool library. * ltmain.in: Piecewise linking doesn't work when the output file is an absolute path, use the basename only instead. * ltmain.in: When a library is installed, dependent on a convenience library, and it involves relinking, the object files extracted from the convenience library are not removed after the relink. This is a problem if you build as non-root, install as root, then try to remove the build directory as non-root; Clean up properly if relink fails; Change "$realname"U to ${realname}T to be consistent. 2004-03-24 Scott James Remnant <scott@netsplit.com> * ltmain.in <prog linkmode>: Always add -L options to $newlib_search_path instead of just in scan mode to ensure that non-libtool libraries in user-specified directories can be found. 2004-03-22 Scott James Remnant <scott@netsplit.com> * m4/libtool.m4 (_LT_CONFIG): Remove unneeded else condition code, now the support determination is done in m4. (_LT_LANG): Correct comment, unexpected leak from keybuk-lt-tag.patch. 2004-03-21 Scott James Remnant <scott@netsplit.com> * libltdl/Makefile.am (libltdl_la_LDFLAGS): Increment CURRENT and AGE of libltdl, warranted by the addition of lt_dlhandle_find() since 1.5.2. 2004-03-21 Scott James Remnant <scott@netsplit.com> Further sweeping changes to the user interface to libtool from `configure.ac' to allow users to better control the list of supported languages. Three LT_INIT options 'no-lang', 'all-lang' and 'auto-lang' (the default) control the initial list and others may be added with LT_LANG. * m4/libtool.m4 (_LT_CONFIG): Renamed AC_LIBTOOL_CONFIG to _LT_CONFIG which is more consistent with our own namespace and gets us further out of Autoconf's. (_LT_LIBTOOL_TAGS): Output available_tags variable based entirely on the value of _LT_TAGS. (_LT_COPYING): Call _LT_LIBTOOL_TAGS to output available tags, always append tag configuration if the tag is available. (LT_LANG): New macro to enable support for a language that accepts tag names (eg. "CXX") or human language names (eg. "C++"). (_LT_LANG): Internal support macro for above that appends the tag to _LT_TAGS and calls the appropriate config macro. (LT_INIT): Ensure that LT_LANG is not called before LT_INIT. (AC_LIBTOOL_TAGS): Removed, call LT_LANG for each language now. (_LT_AC_TAG_CHECK): Removed, _LT_LANG handles duplicate calls. (_LT_LANG_DEFAULT_CONFIG): Macro to set initial language support based on options passed to LT_INIT. (_LT_SETUP): Call _LT_LANG_DEFAULT_CONFIG. (_LT_AC_TAG_CONFIG): Removed, handled by _LT_LANG_DEFAULT_CONFIG. (_LT_AC_LANG_CXX, _LT_AC_LANG_F77, _LT_AC_LANG_GCJ): Removed, automatic language support inclusion now handled by _LT_LANG_DEFAULT_CONFIG. (AC_LIBTOOL_CXX): Obsolete macro, update to LT_LANG(C++). (AC_LIBTOOL_F77): Obsolete macro, update to LT_LANG(Fortran 77). (AC_LIBTOOL_GCJ): Obsolete macro, update to LT_LANG(Java). (AC_LIBTOOL_LANG_C_CONFIG_: Removed. (_LT_AC_LANG_C_CONFIG): Renamed to _LT_LANG_C_CONFIG, call _LT_CONFIG instead of AC_LIBTOOL_CONFIG. (_LT_SETUP): Replace call to AC_LIBTOOL_LANG_C_CONFIG with call to new _LT_LANG_C_CONFIG macro. (AC_LIBTOOL_LANG_CXX_CONFIG): Removed. (_LT_AC_LANG_CXX_CONFIG): Renamed to _LT_LANG_CXX_CONFIG, call _LT_CONFIG instead of AC_LIBTOOL_CONFIG. (AC_LIBTOOL_LANG_F77_CONFIG): Removed. (_LT_AC_LANG_F77_CONFIG): Renamed to _LT_LANG_F77_CONFIG, call _LT_CONFIG instead of AC_LIBTOOL_CONFIG. (AC_LIBTOOL_LANG_GCJ_CONFIG): Removed. (_LT_AC_LANG_GCJ_CONFIG): Renamed to _LT_LANG_GCJ_CONFIG, call _LT_CONFIG instead of AC_LIBTOOL_CONFIG. (AC_LIBTOOL_LANG_RC_CONFIG): Removed. (_LT_AC_LANG_RC_CONFIG): Renamed to _LT_LANG_RC_CONFIG, call _LT_CONFIG instead of AC_LIBTOOL_CONFIG. (LT_AC_PROG_GCJ): Renamed to LT_PROG_GCJ. (LT_AC_PROG_RC): Renamed to LT_PROG_RC. * m4/ltoptions.m4: Define new 'no-lang', 'auto-lang' and 'all-lang' options which set the default for _LT_LANG_DEFAULT_CONFIG. * m4/lt~obsolete.m4: Removed AC_LIBTOOL_CONFIG, _LT_AC_LANG_C_CONFIG, _LT_AC_LANG_GCJ_CONFIG, _LT_AC_LANG_RC_CONFIG; all of which are no long referenced in any way. * configure.ac: Enable all languages. * tests/cdemo/configure.ac, tests/demo/configure,ac, tests/depdemo/configure.ac, tests/f77demo/configure.ac, tests/mdemo/configure.ac, tests/pdemo/configure,ac, tests/tagdemo/configure.ac: Remove calls to AC_LIBTOOL_TAGS, the default 'auto-lang' mode now does the right thing. * doc/libtool.texi (The LT_INIT macro): Add documentation for new LT_INIT options and the LT_LANG macro, replacing the old documentation of AC_LIBTOOL_TAGS which is no more. * NEWS: Updated. 2004-03-17 Scott James Remnant <scott@netsplit.com> * m4/libtool.m4: Removed AC_BEFORE references to AC_LIBTOOL_SETUP which is no more. * m4/lt~obsolete.m4: As AC_LIBTOOL_SETUP is no longer referenced, it can be removed from this file. Remove _AC_PROG_LIBTOOL also. 2004-03-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/libtool.m4: Remove newlines from lt_ld_extra, so variable can safely be stored in config.cache. 2004-03-14 Michael Pruett <michael@68k.org> * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS0 [irix]: Define archive_expsym_cmds so that --export-symbols will work. 2004-03-11 Peter O'Gorman <peter@pogma.com> * ltmain.in (link_all_deplibs,darwin): Link libraries in the correct order. Bug from Zachary Pincus <zpincus@stanford.edu>. 2004-03-14 Scott James Remnant <scott@netsplit.com> * m4/ltmain.in: Only check precious_files_regex if it is not empty. 2004-03-14 Gary V. Vaughan <gary@gnu.org> * doc/libtool.texi (Autoconf and LTLIBOBJS): The correct version of Autoconf is 2.54. From Alexandre Duret-Lutz <adl@src.lip6.fr> 2004-03-13 Gary V. Vaughan <gary@gnu.org> * doc/libtool.texi (Using Automake): Cite correct Automake version for -dlopen quoting. (Autoconf and LTLIBOBJS): Cite correct Autoconf versions throughout. (Distributing libltdl): Use AM_CPPFLAGS; INCLUDES is deprecated. From Alexandre Duret-Lutz <adl@src.lip6.fr> 2004-03-05 David Edelsohn <edelsohn@gnu.org> * m4/libtool.m4: Disable building static libraries if building shared libraries on AIX 5L. 2004-03-05 Gary V. Vaughan <gary@gnu.org> * libtoolize.in: Remove --ltdl-tar. It doesn't work with the current implementation, and seems more or less pointless. * doc/libtool.texi (Invoking libtoolize): Updated. * NEWS: Updated. * doc/libtool.texi: This manual has not been maintained properly for a number of years. Much of what it said was outdated, or plain wrong with reference to modern autotools. This change represents a first pass edit to clean up the obviously wrong. 2004-03-02 Gary V. Vaughan <gary@gnu.org> * bootstrap: Prune out my arch mirror dir before running amok through the tree with 'rm -rf'! 2004-03-02 Patrick Welche <prlw1@newn.cam.ac.uk> * doc/libtool.texi (LT_INIT): Dumb typos fixed. 2004-02-23 Gary V. Vaughan <gary@gnu.org> * ltmain.in <install mode>: Add missing --help doc for -inst-prefix option. * ltmain.in <link mode>: Add missing --help doc for -shrext option. * ltmain.in (IFS): Move '\n' to beginning of IFS so that emacs doesn't offer to strip trailing ' \t' on every save. * ltmain.in: Add missing --help doc for --preserve-dup-deps. 2004-02-22 Gary V. Vaughan <gary@gnu.org> * Makefile.maint (web-manual): Generate the web manual carefully so that links will still work when it is uploaded to gnu.org. * README-alpha: Note that this rule should be used at release time. 2004-02-20 Gary V. Vaughan <gary@gnu.org> Sweeping changes to the user interface to libtool from `configure.ac' to be more like AC_INIT and accept a space delimited list of options. Instead of calling `AC_LIBTOOL_DLOPEN; AC_PROG_LIBTOOL', we now recommend `LT_INIT([dlopen])': * m4/libtool.m4 (AC_PROG_LIBTOOL, _AC_PROG_LIBTOOL) (AC_LIBTOOL_SETUP): Removed. Added AU_DEFUNs. (LT_INIT): Replace with an Autoconf like interface which accepts a version number as a minimum required libtool release at configure time. * m4/ltoptions.m4: New file inspired by automake/m4/amoptions.m4, which additionally flags an error if the configuring libtool macros are not new enough according to LT_INIT. (LT_OPTION_DEFINE): New macro to declare option handlers. (dlopen, win32-dll, shared, disable-shared, static) (disable-static, fast-install, disable-fast-install, pic-only) (no-pic): Newly LT_OPTION_DEFINEd option handlers that use... (_LT_ENABLE_SHARED, _LT_ENABLE_STATIC, _LT_ENABLE_FAST_INSTALL) (_LT_WITH_PIC, _LT_WIN32_DLL): New macros to handle LT_LIBTOOL_INIT options... * m4/libtool.m4 (AC_ENABLE_SHARED, AC_ENABLE_STATIC) (AC_ENABLE_FAST_INSTALL, AC_LIBTOOL_DLOPEN, AC_LIBTOOL_WIN32_DLL): ...to replace these user interface macros, now defined as AU_DEFUNs. (AC_DISABLE_SHARED, AC_DISABLE_STATIC, AC_DISABLE_FAST_INSTALL): Removed. No longer required with LT_INIT_LIBTOOL interface. Added AU_DEFUNs. (AM_ENABLE_SHARED, AM_DISABLE_SHARED, AM_ENABLE_STATIC) (AM_DISABLE_STATIC): Changed AU_DEFUNs to match new interface. (_LT_SETUP): Internal to LT_INIT, replaces AC_LIBTOOL_SETUP. * m4/lt~obsolete.m4 (AC_LIBTOOL_SETUP, _AC_PROG_LIBTOOL) (_LT_PROG_LTMAIN): More AC_DEFUNs that have been retracted. * configure.ac: Use new interface. * doc/libtool.texi: Document new interface. * NEWS: Updated. 2004-02-18 Gary V. Vaughan <gary@gnu.org> * commit (SHELL): Set it explicitly, incase some madman is using tcsh as their login shell :-b 2004-02-15 Scott James Remnant <scott@netsplit.com> * Makefile.am (m4/ltversion.m4): Generate serial number by removing initial '1.' from the revision, replace @MACRO_SERIAL@ with this new variable. * m4/ltversion.in: Use @MACRO_SERIAL@ for the serial number as some shells don't like a '.' when using test. * m4/ltversion.in: Add a serial number to this file otherwise libtoolize will refuse to copy it into $pkgdatadir, where it is needed by m4/libtool.m4. 2004-02-15 Peter O'Gorman <peter@pogma.com> * m4/libtool.m4, ltmain.in: Rename shrext to shrext_cmds. 2004-02-13 Scott James Remnant <scott@netsplit.com> * ltmain.in, libtoolize.in, commit, config/mailnotify: Correctly quote usage of $basename and $dirname to avoid (unlikely) path expansion. * tests/sh.test: Test the config/ltmain.sh and libtoolize in the build directory not the source directory, where they won't exist during 'make distcheck'. * ltmain.in: Revert one line of previous intendation clean-up to enable one of the sh.test checks to pass. * tests/cdemo/configure.ac: Drop AC_PREREQ back to 2.54, this was debris from Gary's cvsapply going mad and wasn't backed out. * Makefile.am (pkgmacro_DATA): We have to distribute m4/ltversion.m4 because it can be needed before the Makefile that generates it exists. 2004-02-13 Gary V. Vaughan <gary@gnu.org> * commit (MKSTAMP): Look for mkstamp in the right place. 2004-02-12 Scott James Remnant <scott@netsplit.com> * Makefile.maint, Makefile: Move rules intended for Libtool maintainers only out of the Makefile we distribute and into one that we only need keep in CVS. * README-alpha: Add -fMakefile.maint to the instructions where needed. 2004-02-12 Albert Chin-A-Young <china@thewrittenword.com> Scott James Remnant <scott@netsplit.com> * ltmain.in: Fix typo: duplcations -> duplications, Fix indentation of a handful of badly indented blocks, Fix last remaining use of 'grep' to $GREP, Remove unnecessary trailing slash where we break a line on a command separator. * m4/libtool.m4: Also remove unnecessary trailing slash where we break a line on a command separator. 2004-02-12 Scott James Remnant <scott@netsplit.com> * m4/ltoptions.m4: This got committed by an over-keen Gary, but the support for this isn't ready yet and if aclocal decides to m4_include this (which it will) you'll get a non-functioning libtool. Removed. * ltmain.in: Remove duplicated version checking block. * bootstrap, m4/libtool.m4: Argh, Gary went crazy after cvsapply went crazy and backed out more than he should've. This patch puts some of it back again. * ltmain.in, libtoolize.in, commit, config/mailnotify: Remove $SED from definitions of $dirname and $basename and prefix each use with it instead. Some shells (zsh) treat the expansion as a single command instead of a command with arguments. * config/mailnotify (func_sendmail): Look for sendmail in a couple of common non-PATH locations as well. * ltmain.in: Fix typo: macro's -> macros. * ltmain.in: Correct definition of basename sed expression to not include single quotes. 2004-02-12 Gary V. Vaughan <gary@gnu.org> * libtoolize.in: Use $progpath as for ltmain.in to work around the IRIX bug described below. * commit, config/mailnotify: Ditto. Resynch with cvs-utils HEAD. 2004-02-12 Albert Chin-A-Young <china@thewrittenword.com>, Gary V. Vaughan <gary@gnu.org> * ltmain.in (progpath): Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh is ksh but when the shell is invoked as "sh" and the current value of the _XPG environment variable is not equal to 1 (one), the special positional parameter $0, within a function call, is the name of the function. So, rather than using "$0" in functions, we set $progpath in the body and use that everywhere instead (incase of code refactoring later). (EXIT_SUCCESS, EXIT_FAILURE, EXIT_MISMATCH): For clarity. 2004-02-12 Gary V. Vaughan <gary@gnu.org> * Makefile.am (EXTRA_DIST): Remove config/mailnotify after all; it is of no use in a distribution tarball. 2004-02-11 Gary V. Vaughan <gary@gnu.org> * commit: Fix cut-n-paste error. * commit: Completely change CVS/Root->name sed script to actually work when :ext: is not shown. * commit: Improve CVS/Root->name sed script to work when :ext: is not shown. 2004-02-11 Albert Chin-A-Young <china@thewrittenword.com> * m4/libtool.m4: Fix typo: testring -> teststring. 2004-02-11 Gary V. Vaughan <gary@gnu.org> * commit: Mail a nicer commit notification. 2004-02-10 Gary V. Vaughan <gary@gnu.org> * NEWS, bootstrap, configure.ac, ltmain.in, m4/libtool.m4: * m4/lt~obsolete.m4, tests/cdemo/configure.ac: Arghh. cvsapply just went crazy and committed a bunch of stuff that shouldn't have been in the last changeset. The patch backs it all out. * config/mailnotify: New file for mailing commit notifications, imported from cvs-utils. * commit: Updated from cvs-utils and tweaked for libtool. * Makefile.am (EXTRA_DIST): Add config/mailnotify. 2004-02-06 Gary V. Vaughan <gary@gnu.org> * bootstrap: Remove vcl.tmp, otherwise it can interfere with make. * Makefile.am (vcl.tmp): Move comment out of multi-line command, as this rule is called from bootstrap as if it were a Makefile. * m4/ltversion.in: New file to capture what version number macros are being used. * Makefile.am (m4/ltversion.m4): New rule to create it from m4/ltversion.in. (nodist_pkgmacro_DATA): Add m4/ltversion.m4. (EXTRA_DIST): Add m4/ltversion.in. * m4/libtool.m4 (AC_LIBTOOL_SETUP): AC_REQUIRE LTVERSION_VERSION from ltversion.m4. * bootstrap: Call the Makefile.am to create an initial m4/ltversion.m4. * ltmain.in: Diagnose version mismatches of various flavours. * TODO: Remove mismatch item. * NEWS: Updated. * Makefile.am ($(top_builddir)/config.status): Removed. * configure.ac (CONFIG_STATUS_DEPENDENCIES): This substitution is how automake-1.8 now informs all Makefiles when config.status needs to be rebuilt. Reported by Alexandre Duret-Lutz <adl@src.lip6.fr> * configure.ac (AC_CONFIG_FILES): Generate libtoolize from here. * Makefile.am (libtool, libtoolize): These rules are redundant. Automake generates better rules for remaking these files. * m4/libtool.m4 (AC_LIBTOOL_SETUP): Catch unexpanded macros with beginning with LT_ and _LT_. * configure.ac (LT_MAJOR, LT_MINOR, LT_MICRO, LT_ALPHA): Renamed to lt_major, lt_minor, lt_micro, lt_alpha to save triggering the unexpanded macros error. * m4/libtool.m4 (AC_PROVIDE_IFELSE): Removed. We now require Autoconf 2.58, which ships this macro anyway. * Makefile.am: Comment typo. * m4/libtool.m4 (LT_PREREQ): Declare the minimum release number that is required for the calling code. * doc/libtool.texi (AC_PROG_LIBTOOL): Document it. * NEWS: Updated. 2004-02-05 Peter O'Gorman <peter@pogma.com> * ltmain.in (infer_tag, win32_libid): Style changes. Rename infer_tag to func_infer_tag and win32_libid to func_win32_libid. * m4/libtool.m4 (cygwin): rename win32_libid to func_win32_libid. 2004-02-04 Peter O'Gorman <peter@pogma.com> * ltmain.in (infer_tag): Move tag inferrence to a shell function. Also test $base_compile against $CC with escaped arguments. Bug reported by Geoff Keating <geoffk@apple.com>. 2004-02-03 Scott James Remnant <scott@netsplit.com> * Makefile.am (install-data-hook): Manually make config.guess and config.sub executable after they are installed as _DATA. We can't use _SCRIPTS because the various program name transforms may be applied to them. (dist_pkgdata_DATA): List config.guess and config.sub here (pkgdata_SCRIPTS): instead of here. 2003-02-03 Scott James Remnant <scott@netsplit.com> * ltmain.in: Create temporary directory under a strict umask rather than running chmod afterwards, preventing a race condition where the directory could be replaced with a symbolic link in the time between the two commands. 2004-01-31 Peter O'Gorman <peter@pogma.com> * m4/libtool.m4 (_LT_CONFIG_STATUS_DECLARE): Change `echo to `$echo, causes problems when builtin echo is broken. Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>. 2004-01-27 Scott James Remnant <scott@netsplit.com> This fixes release procedure problems discovered whilst making the 1.5.2 release. * Makefile.am (cvs-dist): Because we check whether ChangeLog has been committed, this rule can't be run with uncommitted source so we can't run 'commit' and don't need to run 'make dist' a second time. Fix CVS tag as it should be "release-X" not "Release-X". (cvs_commit): New rule for the cvs-release chain that runs 'commit' (cvs-release): Depend on cvs-commit, depend on deltas instead of cvs-diff and xdelta. (cvs-diff): Removed, replaced with delta-diff. (delta-diff): Unpack and diff the old and new tarballs rather than using CVS, so we get a genuinely complete diff. (xdelta): Removed, replaced with delta-xdelta. (got-xdelta): New rule for improved reading. (delta-xdiff): Copied and cleaned up version of old xdelta rule. (deltas): Depends on delta-diff and delta-xdelta (make deltas). (cvs-news): Don't depend on timestamps, cvs-dist itself does now. (prev-tarball): This is the only place we need a LASTRELEASE check so copy the code here and remove the CHECK_RELEASE variable. (new-tarball): Check there's a new tarball (did cvs-dist work?) (FETCHFILES): Remove obsolete libltdl mentions. * README-alpha: Update CVS instructions as everything's changed on Savannah. (Release procedure): Update NEWS and ChangeLog after changing the version number (both times); Run 'make fetch' after running 'configure' (difficult to do it beforehand); Require 'commit' before 'make cvs-dist' as that checks ChangeLog is committed; 'make deltas' instead of 'cvs-diff' and 'xdelta', pass LASTRELEASE to make instead of OLDVERSION (and it's mandatory); Clean up uploading paragraph; Clearer announcement sending instruction; Removed ftp-upload@gnu.org mail as that's not necessary now; Make web page updating instructions a bit clearer; Add an instruction to update the manual for non-alphas. (Alpha release note template): Add a Subject; update CVS instructions. (Full release note template): Add a Subject; update CVS instructions. * configure.ac: Add dist-bzip2 to AM_INIT_AUTOMAKE as we talk about bz2 files in our release announcements; remove old reference to OLDVERSION. 2004-01-25 Scott James Remnant <scott@netsplit.com> * NEWS: Include 1.5.2 release information. 2004-01-22 Gary V. Vaughan <gary@gnu.org> This fixes a bug in the libtoolize ltdl source installation rules, which were copying Makefile.in from the libtool tree into the package running libtoolize. Now we explicitly list the files to copy to force the package to generate its own Makefile.in: * libltdl/Makefile.am (libltdl_la_SOURCES, libltdlc_la_SOURCES): Add ltdl.h. (ltdldatadir): New variable for installation directory of libtoolize --ltdl files. (ltdldata_DATA): Tell automake what files to copy there at install time (and remove at unistall time!). (local-install-files): Removed. This hack is not required anymore, the automake generated install rules are much more advanced than this. * Makefile.am (install-data-hook, uninstall-local): Removed. Libltdl files for libtoolize are installed by their own Makefile now. 2004-01-22 Jeff Squyres <jsquyres@lam-mpi.org> * m4/libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): Some compilers (e.g. Intel Linux icc compiler) write temporary files to the current directory. These compilers do support -c and -o simultaneously but wrongly fail the test due to the failure to create temporary files. It is incorrect to penalize compilers which write temporary files to the current directory so the 'chmod -w .' is therefore removed. 2004-01-22 Gary V. Vaughan <gary@gnu.org> * m4/libtool.m4 (LT_AC_PROG_EGREP): Wrapper for AC_PROG_GREP. AIX has a brain-dead grep that only handles lines < 2048 characters. Default GREP incase we are not using a future autoconf that sets it for us :-) Changed all callers to use $GREP instead of grep, and to AC_REQUIRE LT_AC_PROG_EGREP. Declare GREP as a libtool config var. * ltmain.in: Use it. * tests/sh.test (scripts): Accept `if $GREP "^foo=bar"' by tightening the regexp. Reported by Albert Chin-A-Young <china@thewrittenword.com> 2004-01-21 Nick Hudson <skrll@netbsd.org> * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [netbsd*]: Remove gratuitous ${libname}${release}${shared_ext} from library_names_spec. 2004-01-21 Peter O'Gorman <peter@pogma.com> * m4/libtool.m4 (AC_PROG_LD_RELOAD_FLAG): On darwin change the reload_cmds to use $CC, otherwise ld will thin out any fat objects. 2004-01-18 Benjamin Reed <ranger@befunk.com> * ltmain.in: Fix handling of frameworks in search paths. Also a one-liner fix to eval shrext in the libtool library search. 2004-01-16 Gary V. Vaughan <gary@gnu.org> * configure.ac (AM_INIT_AUTOMAKE): Require 1.8 for bootstrap, or else aclocal.m4 is huge, and m4 directory is not distributed. * configure.ac (AC_CONFIG_HEADERS): Create config.h in $top_srcdir. * m4/ltdl.m4 (AC_LIB_LTDL): Run AC_CONFIG_HEADERS for the user if necessary. Calculate filename from first argument to AC_CONFIG_HEADERS, and substitute as CONFIG_H. * libltdl/Makefile.am (AM_CPPFLAGS): Make sure we are searching in $top_srcdir for headers. (DEFS): Override the default HAVE_CONFIG_H with the config.h filename. (ltdl.lo): Reference config.h via $(CONFIG_H). * libltdl/ltdl.c (HAVE_CONFIG_H): Ditto. 2004-01-15 Scott James Remnant <scott@netsplit.com> * m4/lt~obsolete.m4: Add a file containing aclocal-fooling macro definitions which stop the contents of an installed libtool.m4 ending up in our aclocal.m4 when we bootstrap. * Makefile.am (pkgmacro_DATA): Note that we don't need to add lt~obsolete.m4 to this list. 2004-01-12 Gary V. Vaughan <gary@gnu.org> * m4/libtool.m4 (_LT_COPYING): Factor out copyright message so it only needs to be updated in one place. (AC_LIBTOOL_CONFIG): Refactor to be more readable. Only add tags if a compiler was found; ie if you have no gcj compiler, don't tack the GCJ tag onto the generated libtool script. 2004-01-13 Peter O'Gorman <peter@pogma.com> * m4/libtool.m4: Quote shrext as it is evaled in ltmain. 2004-01-11 Scott James Remnant <scott@netsplit.com> * ltmain.in: new -precious-files-regex link mode option to prevent removal of matching files from the temporary output directory. (Debian Bug #221420) * doc/libtool.texi: document the new option. * NEWS: announce the new option. 2004-01-11 Gary V. Vaughan <gary@gnu.org> * libtoolize.in (func_copy_all_files): s/xfunc_copy/Xfunc_copy. Now the test can actually succeed sometimes. 2004-01-09 Gary V. Vaughan <gary@gnu.org> * libtoolize.in: Break out of the command argument parse loop when -- is encountered. 2004-01-08 Gary V. Vaughan <gary@gnu.org> * libtoolize.in (func_copy_all_files): s/test "x/test "X/ to keep tests/sh.test happy. 2004-01-07 Gary V. Vaughan <gary@gnu.org> * Makefile.am (aclocal_macros, aclocal_DATA): Removed. (EXTRA_DIST): Remove m4 macro files; they are automatically added by automake. (pkgmacrodir): Where to install libtool macro files. (pkgmacro_DATA): List installable libtool macro files. (install-data-local): Remove previous versions of ltdl.m4 and libtool.m4 from their old location. * libtoolize.in: Use new pkgmacrodir installed macros when libtoolizing a project. Treat libtool.m4 and ltdl.m4 specially, and func_serial_update() any other files from pkgmacrodir. (pkgmacrodir): Where to find installed libtool macro files. (aclocaldir): Removed. (func_copy_all_files): Add an optional callback parameter to control how files are copied. If the callback is passed, don't tell it whether it can copy or not. (func_serial): Exchange parameters and make macro_regex optional, so that this function can be used to extract serial numbers from files with the traditional /^# serial [1-9][0-9]*$/ syntax. Changed all callers. (func_serial_update): Make macro_regex optional last parameter, so that this function can be used as a callback for func_copy_all_files(). Changed all callers. * m4/ltsugar.m4: Add a serial number. 2004-01-07 Gary V. Vaughan <gary@gnu.org> A complete rewrite of the m4 code involved in the generation of libtool via config.status. The old way involved manually synchronising disparate bits of shell code in several macros, to quote a copy of a shell variable, put that in config.status, maybe add it to some quotation loops to prevent early expansion, and then add a block to _LT_CONFIG_COMMANDS to bring it into the libtool script. The new way is to mark shell variables for propogation using _LT_DECL for language independent variables, or _LT_TAGDECL for those that need to be propogated in several language flavours. The marking can be done in the macro that probes the variables, and this new m4 machinery takes care of synchronising all the other bits of code at autoconf time: * m4/ltsugar.m4: New file. Macros that are useful outside the context of libtool. Initially, contains some generalised list management macros, and the scaffolding for dictionary type data storage and retrieval. * Makefile.am (aclocal_macros): Install ltsugar.m4. * m4/libtool.m4 (_LT_DECL): Mark a shell variable for export to the libtool script, along with a comment, and hints for quoting and renaming. (_LT_TAGDECL): Similarly mark a tagged shell variable for export in each tag. (lt_decl_tag_varnames, lt_decl_quote_varnames) (lt_decl_dquote_varnames, lt_decl_varnames_tagged) (lt_decl_all_varnames): New utility macros for managing lists of shell variable names from _LT_DECL and _LT_TAGDECL. (_LT_CONFIG_STATUS_DECLARATIONS, _LT_CONFIG_STATUS_DECLARE): Expand to correctly quoted variable declarations in config.status from all marked shell variables. (_LT_LIBTOOL_DECLARE): Expand to commented and quoted variable declaration for libtool tag section. (_LT_LIBTOOL_CONFIG_VARS, _LT_LIBTOOL_TAG_VARS): Pass all marked variables to _LT_LIBTOOL_DECLARE. (_LT_CONFIG_COMMANDS): Use _LT_CONFIG_STATUS_DECLARATIONS and friends to generate all the variable passing shell code for config.status, to get marked variables from libtool.m4 into libtool itself eventually. (AC_LIBTOOL_CONFIG): Generate marked variable code for libtool tag configuration. Changed all client macros to mark variables suitably rather than the hand pasting that was necessary previously. (AC_PROG_SED): Renamed from LT_AC_PROG_SED. (LT_AC_PROG_SED): Wrap AC_PROG_SED, and mark shell variables for propogation to the libtool script. 2004-01-07 Gary V. Vaughan <gary@gnu.org> * libtoolize.in (seen_gettext): Removed unused variable. 2004-01-06 Gary V. Vaughan <gary@gnu.org> * libtoolize.in (func_scan_files): Don't assume the existence of aclocal.m4. Make the comment more descriptive. Reported by Alexandre Duret-Lutz <adl@src.lip6.fr> * NEWS: Note libtoolize changes. * ChangeLog.2003: New file, containing all the ChangeLog entries from 2003. Trimmed ChangeLog accordingly. * ltmain.in: Output 2004 in the copyright from libtool --version. 2004-01-03 Stefan Nordhausen <nordhaus@informatik.hu-berlin.de> Scott James Remnant <scott@netsplit.com> * ltmain.in: Don't use the mkdir -p option when creating a temporary output directory so a symlink attack can't be used to arbitrarily chmod other directories on the system if libtool gets run as root. 2004-01-02 Peter O'Gorman <peter@pogma.com> * m4/libtool.m4: Ensure that ${ZSH_VERSION+set} is properly escaped. * m4/libtool.m4 (CDPATH): Change the CDPATH setting so that it allows for zsh differences, as noted in the autoconf manual's Portable Shell - Special Shell Variables section. 2004-01-02 Scott James Remnant <scott@netsplit.com> * .cvsignore: Ignore stamp-vcl created by the Makefile. 2004-01-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> Joe Orton <joe@manyfish.co.uk> * m4/libtool.m4 (AC_LIBTOOL_CONFIG): Add extra blackslash in front of all the inner double-quotes as this is removed on Solaris, IRIX and AIX leading to broken definitions in config.status. 2004-01-02 Scott James Remnant <scott@netsplit.com> * NEWS: Next release will be in 2004. 2003-12-31 Scott James Remnant <scott@netsplit.com> * ltmain.sh: Infer tagged configuration for link mode with the full compiler arguments available rather than only the first. 2003-12-31 Alexandre Duret-Lutz <adl@gnu.org> * ltmain.sh: Quote $exec_cmd before it is eval'ed, so that libtool --mode=execute echo '4 * 5' does not expand the `*'. 2003-11-28 Peter O'Gorman <peter@pogma.com> * m4/libtool.m4: Move things around so that "setopt NO_GLOB_SUBST" to make zsh behave wrt \ escapes happens early in config.status. 2003-11-27 Gary V. Vaughan <gary@gnu.org> * libltdl/configure.ac: Removed. * configure.ac (AC_CONFIG_HEADERS): Merged from libltdl/configure.ac. (AC_LIB_LTDL): Ditto. (AC_CONFIG_FILES): Add libltdl/Makefile. (AC_CONFIG_SUBDIRS): Removed. (AC_CONFIG_COMMANDS): Remove generation of libltdl/ltmain.sh. * libltdl/Makefile.am (libtool): Removed references, since we now share $(top_builddir)/libtool. * NEWS: Updated. 2003-11-26 Gary V. Vaughan <gary@gnu.org> * Makefile.am (vcl.tmp): Be careful of VPATH builds. * Makefile.am (EXTRA_DIST): Add stamp-vcl, or we go back to a double configure run from a distributed tarball :-? 2003-11-26 Gary V. Vaughan <gary@gnu.org> Okay, the problem I am trying to solve is that when a change (say, bumping the version to 1.6 for the next release) is committed, the timestamp in ChangeLog is updated, but ltmain.sh and libtoolize inherit the pre-commit build number from config.status. This delta notes the change in build number in the unstamped ChangeLog and forces a rerun of configure etc. to roll a new ltmain.sh with the correct TIMESTAMP: * Makefile.am (stamp-vcl): We actually need a new config.status to force the correct timestamp into libtoolize and ltmain.sh, rerunning autoconf has no effect at all if configure.ac hasn't changed. 2003-11-26 Gary V. Vaughan <gary@gnu.org> * Makefile.am (stamp-vcl): New rules to force libtool and libtoolize scripts to update when the TIMESTAMP changes in ChangeLog, but the file modification time doesn't (e.g in cvs commit). Otherwise we'll carry on releasing tarballs with the wrong version numbers in the tools! * config/mkstamp: Change output format to ` $rev $date'. * configure.ac: Make the banner more like suggestions in http://www.gnu.org/prep/standards_toc.html Section 4.6. * libtoolize.in: Make --version output conform to the GNU standard. * ltmain.in: Ditto. And tweak the generated file headers to match. 2003-11-25 Gary V. Vaughan <gary@gnu.org> * Makefile.am (config.status): Removed. Rebuilding config.status isn't enough, because the TIMESTAMP in configure is still out of date. (configure): We actually need a new configure to force the correct timestamp into ltmain.sh. * Makefile.am (config/ltmain.sh): Removed. Rebuilding ltmain.sh isn't enough, because the TIMESTAMP in config.status is still out of date. (config.status): We actually need a new config.status to force the correct timestamp into ltmain.sh. * Makefile.am (config/ltmain.sh): Note the dependency on the timestamp in ChangeLog so we don't ship libtools that report the wrong version number :-/ * bootstrap: Explain automake and autoconf version dependencies truthfully, and the difference between bootstrap and user dependencies. * configure.ac (AM_INIT_AUTOMAKE): List AUTOMAKE_OPTIONS here. * Makefile.am, doc/Makefile.am, tests/Makefile.am (AUTOMAKE_OPTIONS): Removed from here. 2003-11-24 Gary V. Vaughan <gary@gnu.org> * tests/defs (func_configure): cdemo, demo and mdemo are shows signs of indeterminacy for some users. Be more verbose during failure to help track down the cause. 2003-11-22 Peter O'Gorman <peter@pogma.com> * ltmain.in: Check for module_cmds if max_cmd_len is exceeded too. * ltmain.in: Move eval to after command separation to allow ~ in paths. * tests/demo-hardcode.test: Call ./libtool not libtool. * ltmain.in: Test $old_striplib before using it, not $striplib. 2003-11-22 Gary V. Vaughan <gary@gnu.org> * configure.ac (LASTRELEASE): Calculate it as best as we can from AC_PACKAGE_VERSION. * Makefile.am (distdir): Remove dependency on timestamps so that it is possible to roll a dist without contacting the cvs server. Use `make cvs-release' for that. (cvs-news): Extracted from cvs-dist. (cvs-dist): Depend on cvs-news. (CHECK_LASTRELEASE): Check LASTRELEASE has been set. (prev-tarball): New rule. Use LASTRELEASE to make sure the previous release tarball is present. (cvs-diff): Use CHECK_LASTRELEASE. (xdelta): Ditto. (cvs-release): Depend on prev-tarball, timestamps, cvs-news and fetch. Provided you set LASTRELEASE appropriately, making a full cvs release is just a matter of `make cvs-release', and submitting the files to ftp-upload. 2003-11-19 Gary V. Vaughan <gary@gnu.org> * m4/libtool.m4 (_LT_PROG_LTMAIN): Ensure config.status has a value for `ac_aux_dir' when automake is not used. Reported by Patrick Welche <prlw1@newn.cam.ac.uk>. * configure.ac (AC_PREREQ): AS_HELP_STRING was introduced after autoconf-2.57 was released. 2003-11-18 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.c (lt_dlhandle_find): New function to find a handle by module name. * libltdl/ltdl.h (lt_dlhandle_find): Declare it. * doc/libtool.texi (User defined module data): Document it. * NEWS: Updated. 2003-11-17 Gary V. Vaughan <gary@gnu.org> * m4/libtool.m4 (AC_LIBTOOL_SETUP): Uncomment call to _LT_CONFIG_COMMANDS. (_LT_AC_TAG_CONFIG, AC_LIBTOOL_CONFIG): Accumulate tag generation for `config.status' using _LT_CONFIG_SAVE_COMMANDS. Remove AC_MSG_NOTICE noise now that libtool is generated by a single config.status tag. * Makefile.am (libtool): Specify CONFIG_COMMANDS properly now that libtool is generated in one pass. * configure.ac (CONF_SUBDIRS): Make these relative to tests/Makefile.am. (DIST_MAKEFILE_LIST): Adjust to compensate for having removed the `tests/' part in CONF_SUBDIRS. * tests/Makefile.am (DIST_SUBDIRS): Distribute these directories. (SUBDIRS): Set to `.', a NOP, to workaround an automake bug which ignores DIST_SUBDIRS unless SUBDIRS is also set. * Makefile.am (DIST_SUBDIRS): Don't try to distribute the tests subdirectories from here, since the recursive automake dist rule only works with direct child directories. Defer to tests/Makefile.am in this case. 2003-11-15 Scott James Remnant <scott@netsplit.com> * ltmain.in: In compile mode, delay parsing of -shared, -static, -prefer-pic and -prefer-non-pic until after tagged configuration has been read. In link mode, read tagged configuration before parsing any arguments. These arguments will now work when using a non-C compiler. 2003-11-14 Gary V. Vaughan <gary@gnu.org> * NEWS: Mention AC_LIBTOOL_TAGS. * Makefile.am (EXTRA_DIST): List ChangeLog files correctly. * tests/cdemo/configure.ac, tests/demo/configure.ac, tests/depdemo/configure.ac, tests/f77demo/configure.ac, tests/mdemo/configure.ac, tests/mdemo2/configure.ac, tests/pdemo/configure.ac, tests/tagdemo/configure.ac: Declare just the tags we need using AC_LIBTOOL_TAGS, reducing the size of the configure script by 50% in most cases. 2003-11-14 Marius Vollmer <mvo@zagadka.de> * doc/libtool.texi (Libltdl interface): libltdl does in fact load dependency libs for lt_dlopen()ed modules. 2003-11-14 Gary V. Vaughan <gary@gnu.org> Run our configure.ac files through Autoconf 2.59's autoupdate, and then tweak the results by hand: * m4/libtool.m4 (AC_PROG_LD): In common with all the other AC_PROG_ macros, AC_SUBST the discovered LD. (AC_PROG_NM): Similarly for NM. (LT_AC_PROG_SED): Similarly for SED. * configure.ac: No need to SUBST NM and LD manually any more. (AC_PREREQ): Conservatively downgrade from 2.59 to 2.54. * tests/cdemo/configure.ac, tests/demo/configure.ac, tests/depdemo/configure.ac, tests/f77demo/configure.ac, tests/mdemo/configure.ac, tests/mdemo2/configure.ac, tests/pdemo/configure.ac, tests/tagdemo/configure.ac: Ditto. * m4/libtool.m4 (AM_PROG_LIBTOOL, AM_ENABLE_SHARED, AM_ENABLE_STATIC, AM_DISABLE_SHARED, AM_DISABLE_STATIC, AM_PROG_LD, AM_PROG_NM): AU_DEFUN these macros so autoupdate can use the newer definitions. 2003-11-12 Gary V. Vaughan <gary@gnu.org> The rules for uploading releases to gnu.org have been updated, and are in fact now rather complicated. This delta updates the release instructions to the describe the new process, and updates the maintainer rules to help automate many of the steps: * README-alpha: Updated release instructions. * Makefile.am (GPG): Name of the program for generating signatures for files to be uploaded. (XDELTA, XDELTA_OPTIONS): Invocation of xdelta. (cvs-dist): Run distcheck before tagging the cvs tree incase distcheck fails, and then generate the gpg signature files. (cvs-diff): Generate the gpg signature files for the diff. (xdelta): New rule for generating the xdelta diffs and associated gpg signature files. (cvs-release): New rule to do all of the above, if you don't mind typing your gpg passphrase over and over again. :-) (fetch): New rule inspired by automakes similar rule for updating files maintained outside the project. * config/config.guess, config/config.sub: Updated with the new fetch rule. 2003-11-11 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.c (lt_dlinit): Save a function call for each loader added to the list, in exchange for appending loaders to the list with O(N) rather than O(1). The longest the loader list can ever get is 4 (on cygwin with dld installed) so it probably constitutes a small speedup, in addition to making the code much more readable. * m4/libtool.m4 (AC_LIBTOOL_SETUP): Don't define the value for ltmain unconditionally. (_LT_PROG_LTMAIN): New macro to ensure that the shell variable `ltmain' actually points at a suitable `ltmain.sh'. (_AC_PROG_LIBTOOL): Require it. (AC_LIBTOOL_CONFIG, _LT_AC_TAG_CONFIG): Invoke it. * Makefile.am (libtool): ltmain.sh is in the build tree. * libltdl/configure.ac: Ditto. 2003-11-10 Scott James Remnant <scott@netsplit.com> * ltmain.in: Add -pthread and similar to $deplibs ($compile_deplibs and $finalize_deplibs for programs) when found on the command line or in a .la file's dependency_libs (but don't place them there) so they are honoured when linking both programs and libraries. 2003-11-10 Scott James Remnant <scott@netsplit.com> * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [linux]: Include directories found in /etc/ld.so.conf in sys_lib_dlsearch_path_spec. 2003-11-09 Peter O'Gorman <peter@pogma.com> * ltmain.in (linkalldeplibs,darwin): Fix a bug reported by Idar Tollefsen where a dir could be added to the link line with no '-L' on darwin. 2003-11-07 Gary V. Vaughan <gary@gnu.org> * tests/cdemo/configure.ac, tests/demo/configure.ac, tests/depdemo/configure.ac, tests/f77demo/configure.ac, tests/mdemo/configure.ac, tests/mdemo2/configure.ac, tests/pdemo/configure.ac, tests/tagdemo/configure.ac: s/AM_PROG_LIBTOOL/AC_PROG_LIBTOOL/. Marching boldly into the 21th century :-$ * m4/libtool.m4 (AC_LIBTOOL_TAGS, AC_ENABLE_SHARED, AC_DISABLE_SHARED, AC_ENABLE_STATIC, AC_DISABLE_STATIC, AC_ENABLE_FAST_INSTALL, AC_DISABLE_FAST_INSTALL, AM_PROG_LIBTOOL, AM_ENABLE_SHARED, AM_ENABLE_STATIC, AM_DISABLE_SHARED, AM_DISABLE_STATIC): These macros must be AC_DEFUNed after all, otherwise aclocal can't find them when it tries to construct `aclocal.m4'. * Makefile.am (install-data-local): Wipe out old installation pkgdatadir before installing new files. * NEWS: Updated. * libtoolize.in (func_scan_files): If libtoolize is run before automake has created install-sh and configure.ac does not mention AC_CONFIG_AUX_DIR, fall back to the current directory for auxdir. 2003-11-07 Robert Millan <zeratul2@wanadoo.es> * m4/libtool.m4 (AC_DEPLIBS_CHECK_METHOD) [GNU/KNetBSD]: Detect inter-library dependencies. 2003-11-06 Gary V. Vaughan <gary@gnu.org> * m4/libtool.m4 (_LT_AC_FILE_LTDLL_C): Removed; no longer in use. * m4/libtool.m4: s/ifelse(/m4_if(/g (_LT_AC_SYS_LIBPATH_AIX, _LT_AC_SHELL_INIT, _LT_AC_PROG_ECHO_BACKSLASH, AC_LIBTOOL_LINKER_OPTION, AC_LIBTOOL_TAGS, _LT_AC_TAG_CHECK, _LT_AC_TAG_CONFIG, AC_ENABLE_SHARED, AC_DISABLE_SHARED, AC_ENABLE_STATIC, AC_DISABLE_STATIC, AC_ENABLE_FAST_INSTALL, AC_DISABLE_FAST_INSTALL, _LT_AC_LANG_C_CONFIG, _LT_AC_LANG_GCJ_CONFIG, _LT_AC_LANG_RC_CONFIG, AC_LIBTOOL_CONFIG, _LT_AC_TAGVAR, AM_PROG_LIBTOOL, AM_ENABLE_SHARED, AM_ENABLE_STATIC, AM_DISABLE_SHARED, AM_DISABLE_STATIC): Use m4_define instead of AC_DEFUN for internal macros that do not AC_PROVIDE or AC_REQUIRE, and documented user macros that cannot be AC_REQUIREd because they need arguments, or because that would violate the documented API. * m4/libtool.m4 (AC_LIBTOOL_SETUP): Add a new delay_single_quote_subst sed script to quote single quotes in variables that are copied to `config.status'. (_LT_CONFIG_STATUS_DECLARE): New macro to apply delay_single_quote_subst to a named variable. (AC_LIBTOOL_CONFIG): Use _LT_CONFIG_STATUS_DECLARE to declare all `configure' variables that are copied to `config.status'. (AC_LIBTOOL_PROG_COMPILER_PIC): Fix a quoting bug exposed by _LT_CONFIG_STATUS_DECLARE using the null quadrigraph in the rvalues of lt_prog_compiler_pic. 2003-11-06 Owen Taylor <otaylor@redhat.com> * m4/libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Recognise the 'R' symbol type so read-only symbols can be exported when combining GCC and Solaris LD. 2003-11-06 James Henstridge <james@daa.com.au>, Scott James Remnant <scott@netsplit.com> * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [Linux]: Fix the -export-symbols and -export-symbols-regex options. 2003-11-06 Scott James Remnant <scott@netsplit.com> * tests/demo-nopic.test: Skip test on hppa, which don't like non-PIC shared libraries. 2003-11-06 Charles Wilson <cwilson@ece.gatech.edu> * tests/depdemo/configure.ac, tests/mdemo/configure.ac, tests/mdemo2/configure.ac: process 'libtool --features' from Makefile, not configure -- because libtool doesn't exist at configure time. * ltmain.in (find_executable, check_executable) [cygwin*, mingw*]: binary wrapper used with uninstalled executables breaks when invoked via execlp/execvp (that is, via $PATH). Handle that case. (fnqualify): Subsumed into find_executable. * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [cygwin*, mingw*]: when extracting symbols from an import lib (occurs if --enable-shared --disable-static), the output of $global_symbol_pipe is not the same as when extracting from a static library (the default case). Add extra filters to $export_symbols_cmds to process this sort of output in addition to 'normal' static-lib output. * NEWS: Updated. 2003-11-06 Charles Wilson <cwilson@ece.gatech.edu>, Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.c (LT_USE_POSIX_DIRENT): Factored out. (LT_USE_WINDOWS_DIRENT_EMULATION): Move to after include "ltdl.h", as they are affected by __WINDOWS__ definition. (LT_READTEXT_MODE): Use textmode to read .la files. (lt_dlinit): Use LoadLibrary loader as a fallback on cygwin. 2003-11-06 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.h (__WINDOWS__): Define this if _WIN32 or WIN32 are defined, unless __CYGWIN__ or __CYGWIN32__ are defined. (LT_SCOPE): Now set without reference to __CYGWIN__ definition, since __WINDOWS__ now implies !__CYGWIN__ after canonicalisation. (LT_PARAMS, lt_ptr): Use canonicalised __WINDOWS__ to determine which values to set these macros to. 2003-11-05 Gary V. Vaughan <gary@gnu.org> * README-alpha: Mention autotools-announce@gnu.org, and update release note templates. 2003-11-01 Scott James Remnant <scott@netsplit.com> * ltmain.in: When relinking, place the -L parameter containing the installation prefix directory after the intended destination, so we don't accidentally link against an older installed library. 2003-11-01 Peter O'Gorman <peter@pogma.com> * tests/mdemo2/Makefile.am: Let mdemo2 find ltdl.h again. 2003-10-30 Peter O'Gorman <peter@pogma.com> * m4/libtool.m4 (Darwin): Fix stupidities for darwin tags support. Makes it work again if AC_LIBTOOL_TAGS is specified in configure.ac. Bug reported by Joe Orton and Christian Schaffner. 2003-10-21 Gary V. Vaughan <gary@gnu.org> Start to eliminate the double run of configure in a fresh CVS checkout by generating ltmain.sh, using that to create libtool, and then adding the tags to that, all from config.status. * configure.ac (AC_CONFIG_FILES): Make config/ltmain.sh, and copy it to libltdl. * Makefile.am ($(srcdir)/config/ltmain.sh): This file is now created by config.status. Adjust this rule. (libtoolize): Set CONFIG_COMMANDS to empty to prevent regenerating the libtool script as a side effect of running this rule. * libtool.m4: Bump serial number. Fix comment typos. (_LT_CONFIG_LIBTOOL_INIT, _LT_CONFIG_LIBTOOL, _LT_CONFIG_SAVE_COMMANDS, _LT_CONFIG_COMMANDS: New macros. They don't work for some reason - the variable value quoting in the init section is all wrong. Not used at the moment. (AC_LIBTOOL_CONFIG): Generate libtool from config.status. (_LT_AC_TAG_CONFIG): Add the tags in config.status. (compiler_DEFAULT): Save the compiler value for the DEFAULT tag, or it gets overwritten by the other macros. (EOF): Globally replace with _LT_EOF to avoid namespace pollution. * tests/demo/configure.ac (STATIC): Check $enable_static instead of running ./libtool which doesn't exist yet. (BINARY_HELLDL): Check $lt_cv_sys_global_symbol_pipe with case instead of grepping ./libtool which doesn't exist yet. * tests/pdemo/configure.ac (STATIC, BINARY_HELLDL): Ditto. * doc/libtool.texi (AC_PROG_LIBTOOL): Add some notes about trying to get config details from `libtool --config'. * NEWS: Updated. 2003-10-21 Gary V. Vaughan <gary@gnu.org> * ChangeLog, ChangeLog.0, ChangeLog.1: Refactored... * ChangeLog, ChangeLog.2002, ChangeLog.2001, ChangeLog.2000, ChangeLog.1999, ChangeLog.1998, ChangeLog.1997, ChangeLog.1996: ...into entries by year for easier copyright confirmation. * configure.ac, libltdl/configure.ac, tests/cdemo/configure.ac, tests/demo/configure.ac, tests/depdemo/configure.ac, tests/f77demo/configure.ac, tests/mdemo/configure.ac, tests/mdemo2/configure.ac, tests/pdemo/configure.ac, tests/tagdemo/configure.ac (AM_INIT_AUTOMAKE): Remove redundant arguments. * libltdl/configure.ac: Use quadrigraphs to escape macronames. * bootstrap (reconfdirs): Same as yesterday, only with portable bourne shell syntax. :-/ 2003-10-20 Gary V. Vaughan <gary@gnu.org> * bootstrap (reconfdirs): Overridable top dirs for bootstrap, for those times when you don't want to wait for all of the test directories to be rebootstrapped! 2003-10-19 Kevin P. Fleming <kpfleming@backtobasicsmgmt.com> Charles Wilson <cygwin@cwilson.fastmail.fm> * ltmain.in: include --tag options, if specified, in the relink_command in uninstalled .la files. Also, preserve --silent, --debug options when libtool re-execs itself. * NEWS: Updated. 2003-10-19 Charles Wilson <cygwin@cwilson.fastmail.fm> * libtoolize.in: protect sed expression against AC_CONFIG_AUX_DIR_DEFAULT. 2003-10-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> * m4/libtool.m4 (AC_DEPLIBS_CHECK_METHOD): For MinGW, reverted DLL check method back to a working objdump-based test. This is not as concrete a test as using the 'file' command, but it does not require that the 'file' command be available. 2003-10-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> * doc/libtool.texi (AC_LIBTOOL_TAGS): Incorporate documentation for AC_LIBTOOL_TAGS macro to specifify libtool tags. The now defunct --with-tags option was never documented. 2003-10-15 Albert Chin-A-Young <china@thewrittenword.com> * m4/libtool.m4: Restrict the list of tags that can be created with a new AC_LIBTOOL_TAGS([tag1 tag2 ...]) macro. Deprecate --with-tags. 2003-10-15 Gary V. Vaughan <gary@gnu.org> * libtoolize.in: Typo when copying config.sub. From Patrick Welche <prlw1@newn.cam.ac.uk> * demo/Makefile.am (libhell0_a_SOURCES): Do not name sources already built with libtool... (libhell0_a_LIBADD): ...instead name the objects directly. This prevents a long standing warning from automake 1.7+. * pdemo/Makefile.am (libhell0_a_SOURCES, libhell0_a_LIBADD): Ditto. * bootstrap: Make the fake files valid shell scripts with a comment incase they get left around. (LIBTOOLIZE): Use a dummy script to prevent the installed `libtoolize' from trashing the distributed libtool.m4, config.guess and config.sub. * configure.ac (AC_CONFIG_TESTDIR, AC_CONFIG_TESTFILES): Comment this out for now, the autotest testsuite rewrite is not ready yet. * tests/cdemo/Makefile.am, tests/demo/Makefile.am, tests/depdemo/Makefile.am, tests/f77demo/Makefile.am, tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am (top_distdir): Removed. `autoreconf' needs literals in ACLOCAL_AMFLAGS. 2003-10-14 Gary V. Vaughan <gary@gnu.org> * libtoolize.in (func_mkdir_p): Synch with tests/defs; if there are no more directories in the stack, break out of the loop. * tests/Makefile.am (COMMON_TESTS): Remove pdemo-unst.test, which isn't a real test. 2003-10-14 Gary V. Vaughan <gary@gnu.org> Refactor all the test case common code into shell functions in tests/defs, and move the various demo directories out of $top_srcdir, and into tests too. The refactoring showed up a number of inconsistencies and latent bugs, as well as fixing (I think!!) the long-standing annoyance with some of the tests giving spurious failures intermittently. While I was here, emacs kindly removed a lot of bogus whitespace and added copyright notices for us: * cdemo, demo, depdemo, f77demo, mdemo, mdemo2, pdemo, tagdemo: Moved from here... * tests/cdemo, tests/demo, tests/depdemo, tests/f77demo, tests/mdemo, tests/mdemo2, tests/pdemo, tests/tagdemo: ...to here. * tests/defs: Factor much common functionality from the test scripts into shell functions. Added a copyright notice. * tests/assign.test, tests/cdemo-conf.test, tests/cdemo-exec.test, tests/cdemo-make.test, tests/cdemo-shared.test, tests/cdemo-static.test, tests/demo-conf.test, tests/demo-deplibs.test, tests/demo-exec.test, tests/demo-inst.test, tests/demo-make.test, tests/demo-nofast.test, tests/demo-nopic.test, tests/demo-pic.test, tests/demo-shared.test, tests/demo-static.test, tests/demo-unst.test, tests/depdemo-conf.test, tests/depdemo-exec.test, tests/depdemo-inst.test, tests/depdemo-make.test, tests/depdemo-nofast.test, tests/depdemo-shared.test, tests/depdemo-static.test, tests/depdemo-unst.test, tests/f77demo-conf.test, tests/f77demo-exec.test, tests/f77demo-make.test, tests/f77demo-shared.test, tests/f77demo-static.test, tests/link-2.test, tests/link.test, tests/mdemo-conf.test, tests/mdemo-exec.test, tests/mdemo-inst.test, tests/mdemo-make.test, tests/mdemo-shared.test, tests/mdemo-static.test, tests/mdemo-unst.test, tests/mdemo2-conf.test, tests/mdemo2-exec.test, tests/mdemo2-make.test, tests/nomode.test, tests/pdemo-conf.test, tests/pdemo-exec.test, tests/pdemo-inst.test, tests/pdemo-make.test, tests/pdemo-unst.test, tests/quote.test, tests/sh.test, tests/suffix.test, tests/tagdemo-conf.test, tests/tagdemo-exec.test, tests/tagdemo-make.test, tests/tagdemo-shared.test, tests/tagdemo-static.test: Refactored to use new functions in tests/defs. Added a copyright notice. * tests/hardcode.test, noinst-link.test, tests/relink.test, tests/relink.test, tests/mdryrun.test: Ditto. Moved from here... * tests/demo-hardcode.test, demo-noinst-link.test, tests/demo-relink.test, tests/depdemo-relink.test, tests/mdemo-dryrun.test: ...to here respectively. * Makefile.am: Added a copyright notice. * tests/sh.test: Check libtoolize.in for non-portabilities too. * libtoolize.in: Fix non-portabilities found by tests/sh.test. 2003-10-12 Peter O'Gorman <peter@pogma.com> * m4/libtool.m4: Speed up max_cmd_len check. 2003-10-08 Gary V. Vaughan <gary@gnu.org> * libtoolize.in: AC_CONFIG_M4_DIR has landed in CVS autoconf. Only it's called AC_CONFIG_MACRO_DIR. Search and replace. Grumble. ;-) 2003-10-08 Scott James Remnant <scott@netsplit.com> * libltdl/ltdl.c (lt_dlerror): change return value when no error has occured to NULL to match documentation. (Debian Bug #157229) 2003-10-07 Gary V. Vaughan <gary@gnu.org> * ltmain.in: Don't suppress output of PIC mode compile if -no-suppress option is given. * doc/libtool.texi (Invoking libtool): Document it. * NEWS: Updated. 2003-10-07 Marcus Comstedt <marcus@mc.pp.se> * m4/libtool.m4 [amigaos-ppc, amigaos-m68k]: Differentiate between amigaos on ppc and m68k. * NEWS: Updated. 2003-10-07 Ralph Schleicher <rs@nunatak.allgaeu.org> * ltmain.in: Do not create `.o' objects when `-shared' is specified in compile mode. Do not make a static library when `-shared' is specified in link mode. * doc/libtool.texi (Compile mode): Document it. * NEWS: Updated. * doc/libtool.texi (Compile mode): Be more specific about the effect of `-static'. * ltmain.in: Do not create `.lo' objects when `-static' is specified. * NEWS: Updated. 2003-10-07 Gary V. Vaughan <gary@gnu.org> * doc/libtool.texi (Invoking libtool): Updated. * ltmain.in: Add missing clean and finish modes to the shorthand options. * ltmain.in: Typo in the --mode shorthand. 2003-10-07 Scott James Remnant <scott@netsplit.com> * m4/libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Remove dead code for platforms that have been using pass_all for some time now. 2003-10-07 Gary V. Vaughan <gary@gnu.org> * libtoolize.in: Completely rewritten. * Makefile.am (AUTOMAKE_OPTIONS): Reduced to 1.7. The 1.8 requirement just made the distribution much smaller due to m4_includes. 1.7 will bootstrap libtool just fine. * NEWS: Updated. 2003-10-05 Peter O'Gorman <peter@pogma.com>, Gary V. Vaughan <gary@gnu.org> * ltmain.in: Remove inferrence of mode, add shorthand for mode choice. * ltmain.in: Specifying -allow-undefined is now an error. 2003-09-29 Scott James Remnant <scott@netsplit.com> * m4/libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use pass_all for linux* solving many build problems on ARM, and hopefully preventing any future ones. (Debian Bug #191133 and #190569) 2003-09-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>, Dalibor Topic <robilad@kaffe.org> * libltdl/ltdl.c: Only include malloc.h if stdlib.h can not be found. 2003-09-26 Alfred M. Szmidt <ams@kemisten.nu> * mdemo2/Makefile.am (INCLUDES): Include `$(top_srcdir)/../libltdl' instead of `../libltdl'. 2003-09-24 Gary V. Vaughan <gary@gnu.org> * bootstrap: Rewritten to use autoreconf. * config.guess, config.sub, mkstamp: Moved from here... * config/config.guess, config/config.sub, config/mkstamp: ...to here, respectively. * libtool.m4, ltdl.m4: Moved from here... * m4/libtool.m4, m4/ltdl.m4: ...to here, respectively. * configure.ac: Removed various acinclude.m4 hackery, as these files are no longer needed with automake 1.8. * Makefile.am: Removed various acinclude.m4 hackery, as these files are no longer needed with automake 1.8. (AUTOMAKE_OPTIONS): Require CVS automake. (CONF_SUBDIRS, CFLAGS, CPPFLAGS, LDFLAGS, LIBS, FFLAGS, FLIBS): Automake now makes a Make variable from every AC_SUBST, so these are NOP. (aclocal_macros): These files are now in their own m4 subdir. Changed all clients. (EXTRA_DIST): mkstamp has moved to the new config subdir. Changed all clients. (pkgdata_SCRIPTS): Ditto wrt config.guess and config.sub. (pkgdata_DATA): Ditto wrt ltmain.sh. * f77demo/configure.ac, libltdl/configure.ac (AM_CONFIG_HEADER): Is deprecated in favour of AC_CONFIG_HEADERS. Updated to the latter. * Makefile.am, cdemo/Makefile.am, demo/Makefile.am, depdemo/Makefile.am, f77demo/Makefile.am, mdemo/Makefile.am, mdemo2/Makefile.am, pdemo/Makefile.am, tagdemo/Makefile.am (EXTRA_DIST): Remove acinclude.m4. (ACLOCAL_AMFLAGS): Search new `m4' macro directory. * configure.ac, cdemo/configure.ac, demo/configure.ac, depdemo/configure.ac, f77demo/configure.ac, mdemo/configure.ac, mdemo2/configure.ac, pdemo/configure.ac, tagdemo/configure.ac (AC_CONFIG_AUX_DIR): Declare that config helper scripts are now kept in the new config subdir. * libltdl/configure.ac (AC_CONFIG_AUX_DIR): Removed. Defaults to `.' anyway. 2003-09-21 Robert Millan <robertmh@gnu.org> * libtool.m4: Add GNU/KNetBSD support. * ltdl.m4: Likewise. 2003-09-13 Scott James Remnant <scott@netsplit.com> * libtool.m4: allow STRIP to contain spaces and additional arguments. (Debian Bug #183055) * ltmain.in: include newline in "sensible default" for IFS. (Debian Bug #98492 and #95447) 2003-09-11 Peter O'Gorman <peter@pogma.com> * AUTHORS, THANKS: Added myself to AUTHORS, removed from THANKS. 2003-09-10 Peter O'Gorman <peter@pogma.com> * mdemo2/configure.ac: Use AC_LIBTOOL_DLOPEN. * mdemo2/main.c: Use LTDL_SET_PRELOADED_SYMBOLS(). * mdemo2/Makefile.am: Set INCLUDES properly and add -dlopen force to make sure the symbols file is included in the link line. * ltmain.in: Accept -framework for darwin and put it in dependency_libs. For non-installed .la's try to avoid having ./.libs/.libs/libfoo.so on the link line. 2003-09-10 Arne Woerner <woerner@mediabase-gmbh.de> * libtool.m4 [openbsd]: openbsd 3.x needs versioning information. 2003-08-29 Gary V. Vaughan <gary@gnu.org> * bootstrap: Typo. 2003-08-29 Alexandre Duret-Lutz <adl@gnu.org> * libtool.m4 (_LT_AC_LANG_C_CONFIG): Fix unquoted call to _LT_AC_LANG_C_CONFIG. (AC_PROG_EGREP): Remove, now that Libtool requires Autoconf 2.56. * bootstrap: Issue an upgrade warning. 2003-08-27 Gary V. Vaughan <gary@gnu.org> * libtool.m4 (_LT_AC_CHECK_DLFCN): Use the interrim new AC_CHECK_HEADER with compiler rather than preprocessor. (AC_LIBTOOL_SETUP): ...which was introduced in autoconf-2.56, so we AC_PREREQ that version. * ltdl.m4 (AC_WITH_LTDL, AC_LIB_LTDL, AC_LTDL_FUNC_ARGZ): Ditto. 2003-08-27 Gary V. Vaughan <gary@gnu.org> Work around a bug in AU_ALIAS in CVS Autoconf that inserts a newline just before AC_FD_CC, by hand updating: * ltdl.m4 (AC_LTDL_SYMBOL_USCORE): s/AC_FD_CC/AS_MESSAGE_LOG_FD/g. 2003-08-05 Jim Pick <jim@kaffe.org>, Ito Kazumitsu <kaz@maczuka.gcd.org>, Gary V. Vaughan <gary@gnu.org> Much as we have tried not to make it the callers' responsibility to maintain an lt_dlrealloc function pointer, it is too difficult to implement realloc as malloc/memcpy/free without knowing the size of the original block. rpl_realloc has been deprecated since 2002-10-30, but kaffe has real failures with that so it's time to bite the bullet. Caller gets to maintain lt_dlrealloc: * NEWS (1.5.1): Updated. * libltdl/ltdl.c (LT_DLREALLOC): Use lt_dlrealloc so the user can update the function pointer to match lt_dlmalloc. (lt_emalloc): Use lt_dlrealloc rather than hardcoding realloc. * doc/libtool.texi (Libltdl interface): Describe lt_dlrealloc now that it too has become part of the exported interface to libltdl. 2003-08-01 Peter O'Gorman <peter@pogma.com> * libtool.m4 (darwin): Use "-undefined dynamic_lookup" if the user set MACOSX_DEPLOYMENT_TARGET to 10.3 or greater. * libltdl/ltdl.c (dyld): Save the error from the first lookup to report in lt_dlerror(). Otherwise the error is always "Symbol _foo not in /usr/lib/libSystem.dylib". Thanks to Chris Zubrzycki for reporting this. 2003-08-01 Robert Boehne <rboehne@gnu.org> * libltdl/ltdl.h: Tweak the header to support visual studio. 2003-07-31 Greg Eisenhauer <eisen@cc.gatech.edu> * ltmain.in: Provide absolute paths for dlopen and dlpreopen files in generating uninstalled libtool libraries. * mdemo2/main.c, mdemo2/Makefile.am, mdemo2/README, mdemo2/configure.ac, mdemo2/.cvsignore, mdemo/mlib.c, tests/mdemo2-conf.test, tests/mdemo2-exec.test, tests/mdemo2-make.test: New files for testing above feature. * configure.ac, bootstrap, tests/Makefile.am: Accomodate new test directory. * mdemo/Makefile.am: Build libmlib.la for mdemo2 tests. 2003-07-30 Tony Wyatt <wyattaw@optushome.com.au> * libtool.m4: Remove parentheses around finish_eval part which broke on amigaos pdksh. 2003-07-30 Christiaan Welvaart <cjw@daneel.dyndns.org> * tests/dryrun.test: Ignore any 'total' line from "ls -l" output. 2003-07-30 Albert Chin-A-Young <china@thewrittenword.com> * libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): Correctly remove IRIX C++ template files. 2003-07-24 Robert Millan <robertmh@gnu.org> * libtool.m4: More fixes for the new GNU/FreeBSD triplet. 2003-07-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> * config.guess, config.sub: Synchronized from ftp.gnu.org since Robert Millan's patch requires it. 2003-07-14 Robert Millan <zeratul2@wanadoo.es> * libtool.m4: Fixed to use the new GNU/FreeBSD triplet. * ltdl.m4: Fixed to use the new GNU/FreeBSD triplet. * ltmain.in: Remove GNU/FreeBSD cases, which are no longer needed. 2003-07-14 Andreas Schwab <schwab@suse.de> * libtool.m4 (_LT_AC_LOCK): Also match powerpc64-*linux* in addition to ppc64-*linux*. From Markus Meissner <meissner@bogus.example.com>. 2003-07-14 Dalibor Topic <robilad@yahoo.com> * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): For AmigaOS with pdksh, set the maximum command line length to 8K since otherwise the test takes over an hour to run. 2003-06-25 Alexandre Oliva <aoliva@redhat.com>, Tim Waugh <twaugh@redhat.com> * libtool.m4: Replace mis-uses of path with pathname. (AC_PROG_LD_GNU): Don't quote $LD when running it. (_LT_AC_LANG_CXX_CONFIG): Use -nostdlib also when linking with g++ and non-GNU ld. 2003-06-11 Gary V. Vaughan <gary@gnu.org> * libtool.m4 (AC_LIBTOOL_COMPILER_OPTION): Require LT_AC_PROG_SED to ensure $SED is set by the time it is used. * ChangeLog: Restore missing entries from 2003-04-22. * NEWS: Sychronised from branch-1-5. 2003-06-03 Benjamin Reed <ranger@befunk.com> * ltmain.in: search libraries in the order of preference, rather than picking .la's even if they're in a less preferred directory. 2003-06-03 Robert Millan <rmh@debian.org> * ltdl.m4: Add support for GNU/FreeBSD. * ltmain.in: Add support for GNU/FreeBSD. 2003-06-03 Albert Chin-A-Young <china@thewrittenword.com> * libtool.m4: No need to use sed to remove leading comma when appending to $tagnames. 2003-06-03 Albert Chin-A-Young <china@thewrittenword.com> * tests/defs, tests/demo-conf.test, tests/demo-nofast.test, tests/demo-nopic.test, tests/demo-pic.test, tests/demo-shared.test, tests/demo-static.test, tests/depdemo-conf.test, tests/depdemo-nofast.test, tests/depdemo-shared.test, tests/depdemo-static.test: Pass build system type to tests to support environment where default system type not equal to build system type (eg. 64-bit HP-UX). 2003-06-03 Peter O'Gorman <peter@pogma.com> * libtool.m4 (darwin): Remove checks for Apple-specific gcc. * libltdl/ltdl.c (HAVE_MACH_O_DYLD_H): #define __private_extern__ for fsf gcc. * ltmain.in (darwin): Only add new paths to newlib_search_path. 2003-06-03 Max Bowsher <maxb@ukf.net> * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Reorder cygwin's system library search path. 2003-06-01 Robert Boehne <rboehne@gnu.org> * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Match all qnx-nto as recent config.guess returns a slightly different string. * ltmain.in: Replace use of "od" with tr. 2003-05-30 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.c (argz_insert): Corrected an off by one error when checking that before is not out of range. 2003-05-29 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.c (lt_int_dyld_lib_install_name): Removed unused variable mh1. (sys_dyld_close): Removed unused variable size. 2003-05-21 Bruno Haible <bruno@clisp.org> * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Add support for GNU/FreeBSD. 2003-04-22 Alexandre Oliva <aoliva@redhat.com> * libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on all mips*-linux* variants. 2003-04-22 Samuel Meder <meder@mcs.anl.gov> * libtool.m4 Switch on $CC and add paterns to cases. 2003-04-22 Peter O'Gorman <peter@pogma.com> * libtool.m4: Move the AC_LIBTOOL_SYS_DYNAMIC_LINKER check to be before AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH, becuase the value of shlibpath_overrides_runpath is used in the HARDCODE test and is set in the DYNAMIC_LINKER test. * ltmain.in [darwin]: We never need to relink on darwin. 2003-04-22 Samuel Meder <meder@mcs.anl.gov> * libtool.m4: Switch on $CC and add patterns to cases. 2003-04-21 Richard Dawe <rich@phekda.freeserve.co.uk> * doc/libtool.texi: Use @ifnottex instead of @ifinfo, to allow production of HTML documentation using makeinfo. 2003-04-14 Robert Boehne <rboehne@gnu.org> * NEWS: Updated. * configure.ac: Bumped version to 1.5a. GNU libtool 1.5 was released. * configure.ac: Bumped version to 1.5. * NEWS: updated. * README-alpha: Updated upload instructions. * README: Changed typo in version description. * config.guess, config.sub, texinfo.tex: Synchronized from ftp.gnu.org. 2003-04-10 Alexandre Oliva <aoliva@redhat.com> * libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on all mips*-linux* variants. 2003-04-09 Samuel Meder <meder@mcs.anl.gov> * libtool.m4 Switch on $CC and add paterns to cases. 2003-04-09 Peter O'Gorman <peter@pogma.com> * libtool.m4: Move the AC_LIBTOOL_SYS_DYNAMIC_LINKER check to be before AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH, becuase the value of shlibpath_overrides_runpath is used in the HARDCODE test and is set in the DYNAMIC_LINKER test. * ltmain.in(darwin): We never need to relink on darwin. 2003-04-09 Samuel Meder <meder@mcs.anl.gov> * libtool.m4 Switch on `basename $CC` not $CC 2003-04-05 Peter O'Gorman <peter@pogma.com> * libtool.m4: if ZSH_VERSION is set then setopt NO_GLOB_SUBST so libtool works. Remove zsh echo test code, don't bother checking for zsh anymore in the darwin archive_expsym_cmds. 2003-04-05 Allan Sandfeld Jensen <snowwolf@one2one-networks.com> * libtool.m4: Switch on $CC not $cc_basename. 2003-04-02 Robert Boehne <rboehne@gnu.org> * tests/defs: Quote $DJGPP to prevent problems with some shells. Pointed out by Albert Chin <libtool@thewrittenword.com> 2003-04-01 Peter O'Gorman <peter@pogma.com> * libtool.m4: Fix the echo test which I broke earlier. * ltmain.in: Make DESTDIR work on darwin, don't use otool. 2003-03-31 Keith Packard <keithp@keithp.com> * ltmain.in: New flag -version-number to be used for maintaining compatability with a previously non-Libtool versioning scheme. * doc/libtool.texi: Document it. 2003-03-31 Naofumi Yasufuku <naofumi@yasufuku.net> * ltmain.in (win32_libid): Fixed sed expression error in win32_nmres evaluation. 2003-03-31 Albert Chin <libtool@thewrittenword.com> * ltmain.in: Don't pass -R flags found in a .la's dependency_libs variable directly down to the linker. Reported by Tim Mooney <mooney@dogbert.cc.ndsu.nodak.edu>. 2003-03-28 Richard Dawe <rich@phekda.freeserve.co.uk> * Makefile.am: Define CONF_SUBDIRS. * tests/defs: Set CONFIG_SITE to /nonexistent, except on DJGPP, which requires its config.site, to work correctly. * tests/cdemo-conf.test, tests/cdemo-shared.test, tests/cdemo-static.test, tests/demo-conf.test, tests/demo-nofast.test, tests/demo-nopic.test, tests/demo-pic.test, tests/demo-shared.test, tests/demo-static.test, tests/depdemo-conf.test, tests/depdemo-nofast.test, tests/depdemo-shared.test, tests/depdemo-static.test, tests/f77demo-conf.test, tests/f77demo-shared.test, tests/f77demo-static.test, tests/mdemo-conf.test, tests/mdemo-shared.test, tests/mdemo-static.test, tests/pdemo-conf.test, tests/tagdemo-conf.test, tests/tagdemo-shared.test, tests/tagdemo-static.test: Don't set CONFIG_SITE, now that tests/defs sets it. * tests/cdemo-exec.test, tests/demo-exec.test, tests/demo-inst.test, tests/depdemo-exec.test, tests/depdemo-inst.test, tests/f77demo-exec.test, tests/mdemo-exec.test, tests/mdemo-inst.test, tests/pdemo-exec.test, tests/pdemo-inst.test, tests/tagdemo-exec.test: When checking for the existence of executables, use the executable file extension from $EXEEXT. 2003-03-28 Peter O'Gorman <peter@pogma.com> * libltdl/ltdl.c (dyld): Remove some debug printf's, fix a bug. * ltmain.in (darwin): Only link against shared libraries when doing link_all_deplibs. 2003-03-25 Robert Boehne <rboehne@gnu.org> * bootstrap: Add f77demo to the directories that AUTOHEADER is run in. 2003-03-21 Wesley W. Terpstra <terpstra@ito.tu-darmstadt.de> * ltmain.in: Don't accumulate directory information in clean mode. Include properly pathed wrapper script. 2003-03-21 Peter O'Gorman <peter@pogma.com> * README: Remove "Important" information about patching automake. * configure.ac: Fix misapplied patch in last commit * libtool.m4 (darwin): Check compiler is apple gcc, add -single_module support so that dyloading c++ shared libraries will work. * libtool.m4 (_LT_AC_TAGCONFIG): Add test -n to the tests so that it will work outside of libtool. * doc/PLATFORMS: Add darwin * f77demo/configure.ac: Add config.h which was misapplied previously. 2003-03-20 Peter O'Gorman <peter@pogma.com> * ltmain.in: Always use $echo not echo for consistency. Changes for darwin building. Warn if linking against libs linked with -module. Use module_cmds if available and building a module, move convenience double lib check, * libltdl/ltdl.c: ltdl support for darwin (first blush) * libltdl/README: note that darwin is supported * ltdl.m4: Changes for darwin, and for new shrext * libtool.m4: Changed the way darwin builds stuff (make check passes) added module_cmds, module_expsym_cmds and hardcode_automatic and put them in the libtool script. check for zsh's removal of escapes. Allow libraries to be stripped on darwin. * TODO: Remove the todo about zsh's removal of excapes. note that zsh echo works perfectly well, eval is screwed up. Seems to be fixed in latest zsh. * THANKS: added self :) * f77demo/configure.ac: Use config.h or it doesn't work. 2003-03-19 Robert Boehne <rboehne@gnu.org> * libtool.m4 (_LT_AC_TAGCONFIG): Add test around the macro that adds tags to the libtool script so that they won't run when not needed. * configure.ac: Set F77 to no when no Fortran compiler is found. 2003-03-16 Charles Wilson <cwilson@ece.gatech.edu> * ltmain.in (win32_libid): use $SED, not head. 2003-03-02 Alexandre Oliva <aoliva@redhat.com> * libtool.m4 (AC_PROG_LD): Use $CC instead of GCC. (_LT_AC_LANG_CXX_CONFIG): Preserve variables used by AC_PROG_LD, and reset them for a C++ environment. Use the with_gnu_ld setting from AC_PROG_LD. 2003-02-28 Ralph Schleicher <rs@nunatak.allgaeu.org> * ltmain.in: Only append a dot to the wrapper script when building on cygwin/MSYS (check for $build, not $host). 2003-02-27 Samuel Meder <meder@mcs.anl.gov> * libtool.m4 (ia64): Add support for Intel compiler (ecc) on IA64 Linux. 2003-02-27 Benjamin Reed <ranger@befunk.com> * THANKS: Added people who have submitted 3 or more patches to libtool to the THANKS file. * README: Added notes about the Darwin (MacOSX) support. 2003-02-25 Bob McElrath <bob+libtool@mcelrath.org> * libtool.m4 (AC_LIBTOOL_PROG_COMPILER_PIC): Add support for the Compaq C compiler for Alpha Linux. 2003-02-25 Benjamin Reed <ranger@befunk.com> * libtool.m4 (darwin): Disable hardcoding library paths to make relinking unnecessary. 2003-02-24 Robert Boehne <rboehne@gnu.org> * libltdl/configure.ac: Use AC_CONFIG_AUX_DIR([.]) to place auxilary files in the libltdl directory. * Makefile.am: Add to the ltmain.sh rule to copy it into the libltdl subdirectory. * bootstrap: Explicitly handle ltmain.sh in libltdl, and pass --copy to automake. 2003-02-24 Ralph Schleicher <rs@nunatak.allgaeu.org> * libtool.m4 (AC_LIBTOOL_SETUP): Check for ar. 2003-02-23 Peter O'Gorman <peter@pogma.com> * libtool.m4 (darwin): Revamp darwin platform support. * ltdl.m4 (darwin): Support dlcompat if found. * ltmain.in: Make sure ranlib is run if needed when piecewise linking. 2003-02-23 Alexandre Duret-Lutz <adl@gnu.org> * ltmain.in (--help): Show mailing-address for bug reports. (--version): Mention only the most recent copyright year. * libtoolize.in (--help): Show mailing-address for bug reports. (--version): Mention only the most recent copyright year. 2003-02-19 Alexandre Oliva <aoliva@redhat.com> * libtool.m4 (AC_PROG_LD): Use $CC instead of GCC. (_LT_AC_LANG_CXX_CONFIG): Preserve variables used by AC_PROG_LD, and reset them for a C++ environment. Use the with_gnu_ld setting from AC_PROG_LD. * libtool.m4: Replace $linker_flags with $compiler_flags wherever it is used as argument to $CC. * libtool.m4: Use linux version_type on IRIX with GNU ld. Prefix -soname, -set_version and their arguments with ${wl}. Add -melf* linker scripts to LD, and use them to determine libsuff, shlibsuff and libmagic. 2003-02-17 Allan Sandfeld Jensen <snowwolf@one2one-networks.com> * libtool.m4: Intel icc fixups for version 7.0. 2003-02-17 Ralph Schleicher <rs@nunatak.allgaeu.org> * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Prepend a dot to the value of the shrext (aka shared_ext) variable and delete it from the library_names_spec and soname_spec definitions. That way the user can omit the shared library suffix by setting it to the empty string. (AC_LIBTOOL_LANG_CXX_CONFIG): Strengthen renaming commands for the KCC compiler. * doc/libtool.texi (Link mode): Update the manual. 2003-02-17 Charles Wilson <cwilson@ece.gatech.edu> * ltmain.in (win32_libid): Rewritten to improve speed. 2003-02-11 Richard Dawe <rich@phekda.freeserve.co.uk> * libtoolize.in: Use the program found by AC_PROG_LN_S to create symlinks. 2003-02-08 Jan Kratochvil <project-libtool@jankratochvil.net> * ltmain.in: Handle duplicate object file names when performing piecewise archive linking by renaming object files when needed. 2003-02-05 Robert Boehne <rboehne@gnu.org> * libtool.m4 (AC_CHECK_LIBM): Search for a real symbol in the math library rather than 'main', it causes problems for C++ compilers with certain Auto* tools. (AC_LIBLTDL_INSTALLABLE): ditto. 2003-02-05 Christian Cornelssen <ccorn@cs.tu-berlin.de> * libtool.m4 (_LT_AC_LANG_CXX_CONFIG) (AC_LIBTOOL_PROG_LD_SHLIBS): Rewrite printf commands so that the format string cannot be mistaken as an option. Reported by Martin MOKREJS. 2003-02-05 Robert Boehne <rboehne@gnu.org> * libtool.m4: Modify the sys_lib_search_path_spec to allow for either native sed or GNU sed to be used. 2003-02-04 Nick Hudson <skrll@netbsd.org> * libtool.m4: don't use -nodefaultlibs in archive_commands or archive_expsym_commands on NetBSD. 2003-02-04 Albert Chin-A-Young <china@thewrittenword.com> * libtool.m4: Change setting of archive_cmds_need_lc so that it doesn't overwrite the previous setting. 2003-01-28 Albert Chin-A-Young <china@thewrittenword.com> * libtool.m4: Allow compiler variable, CC, CXX, etc. to be a program name with arguments. Original version stripped arguments for CC. 2003-01-28 Charles Wilson <cwilson@ece.gatech.edu> * ltmain.in: add code for a binary wrapper to use with uninstalled executables on cygwin/mingw. Make sure that --mode=clean gets shell wrapper and binary wrapper. When sourcing the shell wrapper, invoke using a terminal `.' on cygwin/mingw to avoid the automatic append-.exe behavior. 2003-01-28 Albert Chin-A-Young <china@thewrittenword.com> * libtool.m4: Hardcode library paths into libraries on IRIX. 2003-01-18 Robert Boehne <rboehne@gnu.org> * libtool.m4 (AC_LIBTOOL_PROG_COMPILER_PIC): Don't add -DPIC for languages other than C and C++. 2003-01-13 Albert Chin-A-Young <china@thewrittenword.com> * libtool.m4, ltmain.in: Add support for hppa*64* based on a patch by Ross Alexander <ross.alexander@uk.neceur.com>. Credit to Ross! Use +b to hardcode library runtime path. Add new variable, $hardcode_libdir_flag_spec_ld, that is equivalent to $hardcode_libdir_flag_spec but is used when ld is used for linking. This works around having to set wl=''. 2003-01-12 Robert Boehne <rboehne@gnu.org> * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Revert an accidental rearranging of dylib and so for darwin. 2003-01-10 Robert Boehne <rboehne@gnu.org> * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Modify the "-shrext" option so that is works properly under Darwin. Modify the processing of 'gcc -print-search-dirs' under Darwin to make it behave like GNU gcc does. (AC_LIBTOOL_CONFIG): Single quote $shrext. * ltimain.in: Expand shared_ext just before it is used so that it can be conditional on the value of $module. 2002-12-31 Benjamin Reed <ranger@befunk.com> * ltmain.in [darwin]: disable lazy linking, needed to resolve C++ global constructor issues 2002-12-30 Ralph Schleicher <rs@nunatak.allgaeu.org> Rework by Robert Boehne <rboehne@gnu.org> * ltmain.in: New link option -shrext. * libtool.m4 (AC_LIBTOOL_CONFIG): New libtool variable shrext. (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Replace all hard coded shared library file name extensions in library_names_spec and soname_spec with $shrext. * doc/libtool.texi (Link mode): Document it. 2002-12-30 Charles Wilson <cwilson@ece.gatech.edu> * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG): modify $archive_expsym_cmds to restore support for using .def files via the -export-symbols switch. (AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]): in both the [CXX] branch and the default branch, improve $export_symbols_cmds so that DATA symbols are properly labelled. In the default branch, duplicate the _CXX_CONFIG correction for $archive_expsym_cmds. 2002-12-30 Charles Wilson <cwilson@ece.gatech.edu> * libtool.m4 (AC_LIBTOOL_RC): AC_PROG_RC doesn't exist -- but we do AC_DEFUN something called LT_AC_PROG_RC. Call that instead. 2002-12-30 Robert Boehne <rboehne@gnu.org> * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG): Copy the section for Darwin from AC_LIBTOOL_PROG_LD_SHLIBS so that the CXX tag doesn't use the g++ defaults for the OS X compiler. 2002-12-30 Albert Chin-A-Young <china@thewrittenword.com> * libtool.m4: Sync methods used to detect GNU ld. 2002-12-20 Robert Boehne <rboehne@gnu.org> * libtool.m4 (AC_LIBTOOL_COMPILER_OPTION, AC_LIBTOOL_PROG_CC_C_O): Do not escape } or ? in sed argument. 2002-12-19 Robert Boehne <rboehne@gnu.org> * ltmain.in: Use the sed program found by LT_AC_PROG_SED so that relink commands don't get truncated. 2002-12-18 Robert Boehne <rboehne@gnu.org> * libtool.m4: Move AC_REQUIRE([LT_AC_PROG_SED]) to AC_PROG_LD so it is invoked earlier. 2002-12-11 Allan Sandfeld Jensen <snowwolf@one2one-networks.com> * libtool.m4: Add support for Intel icc compiler for Linux. 2002-12-11 Robert Boehne <rboehne@gnu.org> * ltmain.in: Revert the version +1 change for IRIX, it could cause compatibility problems. 2002-11-22 Christian Cornelssen <ccorn@cs.tu-berlin.de> * libtool.m4 (AC_LIBTOOL_COMPILER_OPTION, AC_LIBTOOL_PROG_CC_C_O): Changed method for compilation with custom flags to be language-independent. Thereby removed CFLAGS/GCJFLAGS mixup bug. Imitate Autoconf-style logging. Log entries no longer discarded by compilation failures. (_LT_AC_LANG_C_CONFIG, _LT_AC_LANG_CXX_CONFIG, _LT_AC_LANG_GCJ_CONFIG): Tuned settings of lt_simple_compile_test_code and lt_simple_link_test_code to avoid warnings that could break some option detections. (AC_LIBTOOL_PROG_COMPILER_NO_RTTI): Removed redundant "-c conftest.$ac_ext" in the argument to AC_LIBTOOL_COMPILER_OPTION. (AC_LIBTOOL_PROG_LD_SHLIBS): Replaced C-specific conftest source code with $lt_simple_compile_test_code, to support the "-lc" test with other languages. 2002-11-19 Paul Eggert <eggert@twinsun.com> Don't assume that egrep and fgrep exist. POSIX 1003.1-2001 no longer requires them; you're supposed to use grep -E and grep -F instead. Also, don't assume that "test -a" works, since POSIX doesn't require it. * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER, _LT_AC_LANG_C_CONFIG, _LT_AC_LANG_CXX_CONFIG, AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE, AC_LIBTOOL_PROG_LD_SHLIBS): egrep -> grep, when that makes no difference. * libtoolize.in: Likewise. * ltdl.m4 (AC_LTDL_SYMBOL_USCORE): Likewise. * ltmain.in: Likewise. * demo/Makefile.am (hc-direct): Likewise. * pdemo/Makefile.am (hc-direct): Likewise. * tests/build-relink.test, tests/build-relink2.test, tests/cdemo-conf.test, tests/cdemo-shared.test, tests/cdemo-static.test, tests/demo-conf.test, tests/demo-nofast.test, tests/demo-shared.test, tests/demo-static.test, tests/depdemo-conf.test, tests/depdemo-nofast.test, tests/depdemo-shared.test, tests/depdemo-static.test, tests/hardcode.test, tests/mdemo-conf.test, tests/mdemo-shared.test, tests/mdemo-static.test, tests/pdemo-conf.test, tests/tagdemo-conf.test, tests/tagdemo-shared.test, tests/tagdemo-static.test: Likewise. * libtool.m4 (AC_PROG_EGREP): New macro, defined if Autoconf doesn't define. (AC_PATH_TOOL_PREFIX, AC_PROG_LD_GNU): Use it. (AC_PROG_LD, AC_PROG_NM, AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Use shell pattern matching rather than egrep. (AC_LIBTOOL_CONFIG): Set lt_EGREP and EGREP. * demo/Makefile.am (SET_HARDCODE_FLAGS): Use sed instead of egrep. * pdemo/Makefile.am (SET_HARDCODE_FLAGS): Likewise. * tests/defs (EGREP, FGREP): New vars. * ltmain.in: egrep -> $EGREP * tests/assign.test, tests/demo-exec.test, tests/demo-inst.test, tests/pdemo-exec.test, tests/pdemo-inst.test, tests/sh.test: Likewise. * tests/hardcode.test: fgrep -> $FGREP * tests/f77demo-exec.test: test -a -> test && 2002-11-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> * ltmain.in: When using gcc, pass -mfoo to the linker via $compiler_flags in order to pass architecture information to the linker (e.g. 32 vs 64-bit). This may also be accomplished via -Wl,-mfoo but this is not reliable with gcc because gcc may use -mfoo to select a different linker, different libraries, etc, while -Wl,-mfoo simply passes -mfoo to the linker. If there is a better solution, please let me know what it is. 2002-11-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> * tests/Makefile.am: Conditional assignment of FFLAGS = @FFLAGS@ does not appear to be necessary given that Automake makes this assignment by default. The condition is removed since Automake 1.7.1 complains about it. 2002-11-18 Jakub Jelinek <jakub@redhat.com> * libtool.m4: Support linking of 64-bit libraries on sparc{,v[789]}-*linux*, s390*-*linux*, ppc*-*linux* GNU/Linux systems when the platform default is to build 32-bit libraries. 2002-11-18 Andreas Jaeger <aj@suse.de>, Bo Thorsen <bo@suse.de> * libtool.m4: Support linking of 32-bit libraries with ld on the x86-64, ppc64, s390x and sparc64 GNU/Linux systems. 2002-11-18 Akim Demaille <akim@epita.fr> * ltmain.in: Do not change the PATH in the wrappers: let them launch the real binary using its path. 2002-11-18 Kevin Ryde <user42@zip.com.au> * doc/libtool.texi (Library tips): Note array dimensions. 2002-11-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> * tests/*.test: MinGW's MSYS treats files under /dev specially. This causes 'test -r /dev/null/config/site' to improperly report success, causing configure to fail. Change the CONFIG_SITE definition from "/dev/null/config/site" to "/nonexistent" to avoid this problem. 2002-11-18 Charles Wilson <cwilson@ece.gatech.edu> * libtool.m4 (_LT_AC_LOCK): remove support for ancient versions of mingw and cygwin. (AC_LIBTOOL_POSTDEP_PREDEP): new function. moved the "find hidden library dependencies" code here from AC_LIBTOOL_LANG_CXX_CONFIG. Attempted to make it multi-tag compatible, but currently only CXX calls it. (AC_LIBTOOL_LANG_CXX_CONFIG): set enable_shared_with_satic_runtimes to 'no' by default Set it to 'yes' for cygwin, mingw, pw32. Replace "find hidden library dependencies" code with a call to the new function AC_LIBTOOL_POSTDEP_PREDEP. Consolidate cygwin and mingw/pw32 stanzas. (AC_LIBTOOL_LANG_F77_CONFIG): set enable_shared_with_static_runtimes to 'no' by default (AC_LIBTOOL_CONFIG): add enable_shared_with_static_runtimes to the list of variables to write into ltmain.sh; include it in the libtool script template as allow_libtool_libs_with_static_runtimes. (AC_LIBTOOL_PROG_LD_SHLIBS): set enable_shared_with_static_runtimes to 'no' by default Set it to 'yes' for cygwin, mingw, pw32. (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): only put cr in regexp if the build_os is mingw, not host_os * ltmain.in (case deplibs_check_method): for all appropriate cases, if allow_libtool_libs_with_static_runtimes, then remove predeps and postdeps from the list of dependencies that must be checked for "dynamicness". For the "none" case, the presence of compiler-generated postdeps and predeps should not trigger "inter-library dependencies not supported" error. (initial setup after arg processing): on cygwin/mingw, allow compiler-generated dependent libs to be duplicated without elimination. (initial search loop for deplibs): if the deplib in question is a libtool lib, then if allow_libtool_libs_with_static_runtimes then parse the .la file. If the .la file only has an "old_library", add the deplib directly to the deplibs list (-lstdc++) and DON'T use the .la file; this allows the (case deplibs_check_method) change above to take effect. * ltmain.in (for pass in $passes loop): remove predeps, postdeps, and compiler_lib_search_path from dependency_libs. 2002-11-08 Robert Boehne <rboehne@gnu.org> * doc/libtool.texi: Add --mode=* to every example using libtool. 2002-11-03 Ossama Othman <ossama@doc.ece.uci.edu> * ltmain.in: add support for installing into temporary staging area (e.g. 'make install DESTDIR=...') 2002-11-03 Charles Wilson <cwilson@ece.gatech.edu> * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG): restore setting allow_undefined_flag=unsupported for cygwin and mingw. (AC_LIBTOOL_PROG_LD_SHLIBS): ditto, for both "normal" gcc/ld and for the (unmaintained?) MSVC case. 2002-11-03 Charles Wilson <cwilson@ece.gatech.edu> * doc/libtool.texi (Install mode): document new -inst-prefix option. 2002-11-02 Robert Boehne <rboehne@gnu.org> * ltmain.in: Print a warning if the mode is not specified. * doc/libtool.texi: Document the change that the mode must be specified. 2002-10-30 Charles Wilson <cwilson@ece.gatech.edu> * libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): use printf, not echo. (AC_DEPLIBS_CHECK_METHOD): use new shell function win32_libid on w32 platforms * ltmain.in: add new section for shell functions. Add win32_libid() shell function. * f77demo/Makefile.am: add -no-undefined flag 2002-10-30 Rob Browning <rlb@defaultvalue.org> * ltdl.c (realloc): Remove custom realloc. (#define rpl_realloc realloc) and comment out later code for custom realloc. You can't define your own malloc unless you know enough about the malloc in use to be able to tell how big the src ptr is. The disabled code incorrectly used the *destination* ptr to decide how much to copy. This sometimes results in out-of-bound accesses which cause segfaults. This is a quick hack for now; we may want something cleaner later. (tryall_dlopen_module): check to be sure (dirname_len > 0) before testing first character against '/'. (try_dlopen): check for feof(file) in read loop -- otherwise infinite loop? 2002-10-25 Robert Boehne <rboehne@gnu.org> * ltmain.in (-XCClinker): New flag passes a linking option directly to the compiler driver without appending ${wl}. 2002-10-25 Gary V. Vaughan <gary@gnu.org> * README-alpha: Add some release note templates for inspiration and consistency at release time. * Makefile.am (cvs-diff): Compress the generated diff file, ready for upload to ftp.gnu.org. 2002-10-25 Howard Chu <hyc@highlandsun.com> * ltmain.in [aix]: Be sure to deal with xlc_r, cc_r and other compiler variants. 2002-10-25 Gary V. Vaughan <gary@gnu.org> * libtool.m4 (_LT_AC_FILE_IMPGEN_C): Removed. No longer used. (_LT_AC_FILE_LTDLL_C): Ditto. (AC_LIBTOOL_CONFIG) [cygwin, mingw, pw32, os2]: Don't call _LT_AC_FILE_LTDLL_C or _LT_AC_FILE_IMPGEN_C. 2002-10-25 Albert Chin-A-Young <china@thewrittenword.com> * libtool.m4: When LDFLAGS="-Wl,-brtl,[other options]", the -brtl special-case code for AIX never gets triggered because were are being too specific about how we search for -brtl. Use case statement to avoid this. Remove extraneous semicolon. * ltmain.in: Recognize the IBM xlc compiler. 2002-10-24 Andrew Suffield <asuffield@debian.org> * libltdl/ltdl.c (lt_dlopenext): Corrected sense of "file not found" check. 2002-10-24 Ossama Othman <ossama@doc.ece.uci.edu> * ltmain.in: Support compiler names matching g++* 2002-10-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> * libtool.m4: Removed old Windows cruft. * libtool.m4: Adapted pw32 to be like Cygwin/MinGW. 2002-10-23 Robert Boehne <rboehne@gnu.org> ltmain.in: Do not add 1 to the version under IRIX, it is not necessary. 2002-10-15 Charles Wilson <cwilson@ece.gatech.edu> * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): avoid long delay on cygwin/Win9x when computing commandline length. (AC_LIBTOOL_SYS_DYNAMIC_LINKER): fix postinstall_cmds when sources are in a subdirectory * ltdl.m4 (AC_LTDL_SYSSEARCHPATH): use $PATH_SEPARATOR, not $ac_path_separator * configure.ac: move depdemo-specific stuff. You must configure libtool before you can try './libtool --features'. * mdemo-inst.test: set $PATH to include the directory in which the modules are installed (on cygwin, DLL search path is the $PATH) 2002-10-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> * ltmain.in: MinGW works identically to Cygwin. * libtool.m4: lt_cv_sys_max_cmd_len hard-coded to 8192 * Model MinGW configuration after Cygwin configuration. Some portions share implementation. 2002-10-15 Elizabeth Barham <soggytrousers@yahoo.com> * libtool.m4: Pattern MinGW library naming after that used by Cygwin except use 'lib' prefix rather than 'cyg'. * Transfer some configuration from Cygwin with adjustments for MinGW. 2002-10-15 Albert Chin-A-Young <china@thewrittenword.com> * libtool.m4: When a module is built for AIX, the 'lib' prefix isn't needed, neither is the version. AIX dlopen will honor the RPATH in a library. 2002-10-11 Christoph Egger <Christoph_Egger@gmx.de> * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS, darwin): Add -install_name to the link line only when -dynamiclib is specified for a module. Use -bind_at_load when linking C++ shared libraries. 2002-10-04 Elizabeth Barham <soggytrousers@yahoo.com> * libtool.m4 (AC_LIBTOOL_SETUP): GCC now checks -shared to create a dll for Windows targets. 2002-09-24 Robert Boehne <rboehne@gnu.org> * ltmain.in: Fixed a few spelling errors. 2002-09-17 Robert Boehne <rboehne@gnu.org> * libltdl/ltdl.c: Commented out access() call that checks for a library file's existence and permissions, as it appears to fail in every case. 2002-09-09 Albert Chin-A-Young <china@thewrittenword.com> * libtool.m4: Custom $symcode for Tru64 UNIX to catch 'Q', read-only constants. 2002-09-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.de> * libtool.m4 (osf[345]): Append $major to soname_spec. Reflect this in library_names_spec. * ltmain.in (osf): Prefix $major with '.' for use as extension. 2002-08-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> * ltdl.m4 & libltdl/ltdl.c: Port fully to native Win32 API. 2002-07-31 Robert Boehne <rboehne@gnu.org> * f77demo/.cvsignore: New file, forgotten in the last commit. 2002-07-31 Eric Lindahl <erik@theophys.kth.se> * libtool.m4 (AC_PROG_LIBTOOL): Added support for the new F77 Fortran support tag. (AC_LIBTOOL_PROG_CC_C_O, _LT_AC_TAGCONFIG): Support F77 tag. (AC_LIBTOOL_F77, _LT_AC_LANG_F77, AC_LIBTOOL_LANG_F77_CONFIG): New macros for F77 tag Fortran support. * configure.ac: Add support for creating the new F77 tag. * bootstrap: Add f77demo directory to the list to be processed. * Makefile.am: Add support for FFLAGS and FLIBS. * tests/Makefile.am: Add new Fortran tests. * tests/f77demo-*.test: New files. * f77demo/configure.ac, f77demo/cprogram.c, f77demo/fooc.c * f77demo/foof.f, f77demo/foo.h, f77demo/fprogram.f * f77demo/Makefile.am, f77demo/README: New files. 2002-07-16 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.c (tryall_dlopen): We need to catch missing file errors early so that file_not_found() can detect what happened. 2002-06-26 Bob Friesenhahn <bfreisen@simple.dallas.tx.us> * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [mingw]: Remove extraneous '=' character which appears in gcc 3.1 -print-search-dirs output. Handle both upper and lower case drive letters when testing for Windows vs POSIX style path output from -print-search-dirs output. 2002-06-24 Robert Boehne <rboehne@gnu.org> * ltmain.in (Piecewise linking): Add a clause to skip creating the export file until the reloadable object file(s) have been created, then use them as input for $export_symbols_cmds. 2002-06-23 Albert Chin-A-Young <china@thewrittenword.com> * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): Need to quote [ and ] for Autoconf. * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): HP/UX needs libltdl_cv_sys_dlopen_deplibs set to yes. 2002-06-23 Kevin Ryde <user42@zip.com.au> * libtool.m4 (AC_LIBTOOL_SETUP, _LT_AC_LOCK): Use AC_PROVIDE_IFELSE to test AC_LIBTOOL_WIN32_DLL and AC_LIBTOOL_DLOPEN, necessary for autoconf 2.53. 2002-06-23 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.c (argz_insert): Actually, BEFORE can be NULL when *PARGZ_LEN is non-NULL, so the assertion to the contrary was bogus. Reported by Bob Friesenhahn <bfreisen@simple.dallas.tx.us> and Albert Chin-A-Young <china@thewrittenword.com> 2002-06-21 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.c (foreach_dirinpath): Ensure that filename is '\0' terminated by all code paths. Reported by Lutz M�ller <lutz@users.sourceforge.net> 2002-06-20 Gary V. Vaughan <gary@gnu.org> From Kevin Ryde <user42@zip.com.au>: * doc/libtool.texi (Platform quirks): s/dependan/dependen/ * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Ditto. * TODO: Ditto. 2002-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> * ltmain.in (irix, nonstopux): Set major before use. 2002-06-11 Daniel Kobras <kobras@linux.de> * libltdl/ltdl.c (try_dlopen): Don't return bogus handle to user if tryall_dlopen() fails. 2002-06-01 Gary V. Vaughan <gary@gnu.org> * tests/pdemo-exec.test: Typo. s/hell-static/hell_static/ 2002-05-31 Charles Wilson <cwilson@ece.gatech.edu> * NEWS: Updated. * libtool.m4: use $NM to create the symbol list on cygwin, not $ltdll_cmds as on mingw. For all tags, (and host=cygwin) set allow_undefined_flag="" so that the --auto-import magic works properly. For all tags (and host=cygiwn) set always_export_symbols=no -- it is unnecessary thanks to binutils' auto-export magic. * libltdl/ltdl.c: Don't force cygwin to use the LoadLibrary wrapper; use cygwin's builtin implementatino of dl*. * cdemo/Makefile.am: the downside of unsetting 'allow_undefined_flag' -- we must include -no-undefined in the _la_LDFLAGS variable. * depdemo/l1/Makefile.am: ditto. * depdemo/l2/Makefile.am: ditto. * depdemo/l3/Makefile.am: ditto. * depdemo/l4/Makefile.am: ditto. * mdemo/Makefile.am: ditto. * tagdemo/Makefile.am: ditto. * demo/Makefile.am: ditto. But also, we must make special provision to clean up the hell0 wrapper script. * pdemo/Makefile.am: ditto -no-undefined. ditto hell0. And use 'hell_static' instead of 'hell.static'. * tests/pdemo-inst.test: use 'hell_static' instead of 'hell.static'. * tests/pdemo-exec.test: ditto. 2002-05-30 Charles Wilson <cwilson@ece.gatech.edu> * tests/build-relink2.test: look for installed libl3.la in $prefix/lib/ as well as $prefix/lib/extra/. 2002-05-30 Gary V. Vaughan <gary@gnu.org> * tests/hardcode.test: Use libtool --config to collect the variable values for the test, otherwise the tag values interfere with a straight grep. 2002-05-30 Gary V. Vaughan <gary@gnu.org> Finally fix the annoying bug which always adds all tags to the libtool script built by your project configure. Now we set the default tags depending on whether AC_PROG_CXX et. al. are actually called from configure.ac. * libtool.m4 (_LT_AC_TAGCONFIG): Don't default the tagnames when no --with-tags argument is given. (_LT_AC_SHELL_INIT): Factored out from the AC_DIVERT_PUSH code in... (_LT_AC_PROG_ECHO_BACKSLASH): ...which now calls the macro instead. (AC_LIBTOOL_CXX): Use _LT_AC_SHELL_INIT to add CXX to the initialisation sequence for tagnames. (AC_LIBTOOL_GCJ): Similarly for GCJ tag. (AC_LIBTOOL_RC): Likewise for RC tag. 2002-05-21 Jon Meredith <jonm@alchemetrics.co.uk> * ltmain.in: Fix a problem on SCO OpenServer5 that caused a failure in three depdemo-make tests. For some reason the linker tries to find the dependent libraries using the library search path before it has read the libraries specified with absolute paths in the full commandline. This patch add -L's for each of the dependent library directories so that they can be resolved. 2002-05-09 Nick Hudson <skrll@netbsd.org> * libtool.m4: Update support for NetBSD * ltdl.m4: Make sure that libltdl_cv_func_dlopen and libltdl_cv_lib_dl_dlopen are set and used instead of the ac_cv_ versions. Also, use lt_cv_sys_global_symbol_pipe instread of global_symbol_pipe. This fixes the detection of dlopen on BSD derived plaforms and more importantly fixes need_uscore detection. 2002-05-06 Paul Eggert <eggert@twinsun.com> * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): head -1 -> sed 1q to port to POSIX 1003.1-2001 hosts, like textutils 2.0.21 with _POSIX2_VERSION=200112. 2002-05-06 Paul Eggert <eggert@twinsun.com> * ltmain.in: Don't assume that "sort +2" works, as POSIX 1003.1-2001 says that "sort +2" is supposed to sort the file named "+2". An example host that behaves like this is textutils 2.0.21 with _POSIX2_VERSION=200112. 2002-05-06 Loren James Rittle <rittle@latour.rsch.comm.mot.com> * ltmain.in: Detect and handle object name conflicts while piecewise linking a static library. 2002-05-02 Dave Vasilevsky <thevas@mac.com> * ltmain.in: Remove convenience libraries from deplibs for Darwin. 2002-05-02 Fritz Elfert <felfert@to.com> * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Modify archive_expsym_cmds to catch properly handle dll alias symbols. 2002-04-24 Kevin Ryde <user42@zip.com.au> * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Use $build_os not $host_os. 2002-04-14 Robert Boehne <rboehne@gnu.org> * doc/libtool.texi (C++ libraries): Finally updated to reflect Libtool's support for C++. 2002-04-14 Jean-Frederic Clere <jfrederic.clere@fujitsu-siemens.com> * libtool.m4: Update support for Fujistu-Siemens Computers (FSC). * ltmain.in: Add support for EBCDIC based systems. 2002-04-07 Robert Boehne <rboehne@gnu.org> * libtool.m4 (LT_AC_PROG_SED): Refactor, removing temporary directory and consistent use of the shell variable namespace "lt_ac_". 2002-04-02 Robert Boehne <rboehne@gnu.org> * ltmain.in: Finish the tag matching logic started yesterday and refactor it a bit. 2002-04-01 Robert Boehne <rboehne@gnu.org> * ltmain.in: Handle the case when no tag is explicitly set, and $base_compile has a space in front of $CC, and revert the setting of tagname checked in on 2002-3-14. 2002-04-01 Robert Boehne <rboehne@gnu.org> * tagdemo/foo.cpp: Use C++ IO to catch problems linking to C++ runtime libraries. * tagdemo/main.cpp: Ditto. 2002-03-16 Gary V. Vaughan <gary@gnu.org> * TODO: Removed obsolete comments about RMS' package system. 2002-03-14 Robert Boehne <rboehne@gnu.org> ltmain.in: Touch-up to make testsuite pass, and default tagname to CC when it isn't explicitly set. 2002-03-14 Anthony Green <green@redhat.com> * libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): Albert Chin's gcj fix. (AC_LIBTOOL_PROG_COMPILER_PIC): Per Bothner's change for not using -DPIC with gcj. 2002-03-11 Bruce Korb <bkorb@gnu.org> * ltmain.in(compile): bring a touch of order to the option processing 2002-02-09 Gary V. Vaughan <gary@gnu.org> * NEWS: Updated. * THANKS: Added Rob Collins and Chuck Wilson for their cygwin work. From Robert Collins <robert.collins@itdomain.com.au>: * configure.ac (AC_EXEEXT): Needed for DOSish systems. * libtool.m4 (shlibpath_overrides_runpath) [cygwin]: Set to yes when compiling with gcc. (lt_prog_compiler_pic) [cygwin]: No longer needs the -DDLL_EXPORT hack, so we just say the pic is the default. (AC_LIBTOOL_PROG_LD_SHLIBS) [cygwin]: Extract symbols from a library normally. [cygwin]: Declare C++ compiler characterisics for g++, taking into account the new auto-import support in cygwin ld. * ltmain.in (specialdeplibs) [cygwin]: Be careful about eliminating duplicate -lgcc's from the link line. [cygwin]: Be smarter about .exe suffixes. * demo/configure.ac (AC_EXEEXT, AC_LIBTOOL_WIN32_DLL): Support DOSish systems properly. * depdemo/configure.ac (AC_EXEEXT, AC_LIBTOOL_WIN32_DLL): Ditto. * demo/Makefile.am (deplibs-check): Allow for .exe suffix. Use hell_static instead of hell.static for multi-`.' inhibited OSes. * tests/demo-exec.test: Ditto. * tests/demo-inst.test: Ditto. * demo/foo.h [cygwin]: Sanitize cygwin dll support. * demo/foo.c (_LIBFOO_COMPILATION_): No longer required. * demo/hello.c (_LIBFOO_COMPILATION_): Ditto. * depdemo/Makefile.am (bin_PROGRAMS): Use depdemo_static instead of depdemo.static for multi-`.' inhibited OSes. * tests/depdemo-exec.test: Ditto. * tests/depdemo-inst.test: Ditto. * mdemo/Makefile.am (bin_PROGRAMS): Ditto for mdemo.static. * tests/dryrun.test: Ditto. * tests/mdemo-exec.test: Ditto. * tests/mdemo-inst.test: Ditto. * tests/build-relink.test: Be careful about possible .exe suffixes. * tests/noinst-link.test: Allow for .exe suffix. 2002-02-07 Alexandre Oliva <aoliva@redhat.com> Reverted incorrect patch: 2001-10-24 H.J. Lu <hjl@gnu.org> * ltmain.sh: Allow link against an archive when building a shared library. * libtool.m4 (lt_cv_deplibs_check_method): Always use file_magic for Linux ELF. 2002-01-30 Robert Boehne <rboehne@ricardo-us.com> * libtool.m4 (LT_AC_PROG_SED): Removed a mysterious newline. 2002-01-28 Robert Boehne <rboehne@ricardo-us.com> * libtool.m4 (LT_AC_PROG_SED): New macro tests sed for truncation of output. AC_REQUIRE the new macro. * ltmain.in: Use $SED rather than plan old sed, as set by the new macro LT_AC_PROG_SED. 2002-01-10 Volker Christian <voc@soft.uni-linz.ac.at> * libltdl/ltdl.c (find_handle_callback): treat the result of a call to access(2) correctly when deciding whether a library can be found in a directory from user_search_path. 2002-01-07 Robert Boehne <rboehne@ricardo-us.com> * NEWS: Fixed wrong path for texinfo.tex. * configure.ac: Bumped version to 1.4e. GNU libtool 1.4d was released. * configure.ac: Bumped version to 1.4d. * NEWS: updated. * config.guess, config.sub, texinfo.tex: Synchronised from ftp.gnu.org. 2001-12-06 Jens Petersen <petersen@redhat.com> * ltmain.in: Replace all test "-a"s by "&& test" for portability. 2001-11-28 Robert Boehne <rboehne@ricardo-us.com> * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Change the factor of saftey as 3/4 of the result was not low enough. 2001-11-28 Gary V. Vaughan <gary@gnu.org> * libtoolize.in: The test for whether AC_PROG_LIBTOOL is defined in aclocal.m4 had bitrotted slightly. Reported by Takahiko Kawasaki <Takahiko_Kawasaki@cii.csk.co.jp> 2001-11-27 Donald D. Anderson <dda@sleepycat.com> * ltmain.in: Treat freebsd like openbsd, in that -lc/-lc_r should not be explicitly used. ld handles this depending on the presence of the -pthread option. 2001-11-27 Robert Boehne <rboehne@ricardo-us.com> With help from Michael Matz <matz@kde.org>: * ltmain.in: Add a new command line argument --preserve-dup-deps for preserving duplicate dependent libraries. * libtool.texi: Document it. 2001-11-27 Kevin Ryde <user42@zip.com.au> * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Send "test" warnings to /dev/null, helps FreeBSD and maybe others. 2001-11-15 Albert Chin-A-Young <china@thewrittenword.com> * libtool.m4: quote LTCC because autoconf AC_PROG_CC_STDC macro might add to $CC if options needed by compiler to grok ANSI. 2001-11-15 Gary V. Vaughan <gary@gnu.org> From Joseph S. Myers <jsm28@cam.ac.uk>: * ltmain.in: Typo. 2001-11-15 Mo DeJong <supermo@bayarea.net> * ltmain.in: Place parens around a generated relink_command so it is run is a subshell. This avoids an install error where libtool ended up in the wrong directory after relinking a .la file. 2001-10-31 Raja R Harinath <harinath@cs.umn.edu> * configure.ac (pkgdatadir): Move the invocation of AC_INIT_AUTOMAKE before the use of $PACKAGE in $pkgdatadir. Reported by Bob Friesenhahn <bfreisen@simple.dallas.tx.us> 2001-10-28 Gary V. Vaughan <gary@gnu.org> From Tom Bates <Tom.Bates@compaq.com>: * libtool.m4 [mips-compaq-nonstopux]: New port. * ltmain.in [mips-compaq-nonstopux]: Support $version_type == nonstopux. 2001-10-28 Albert Chin-A-Young <china@thewrittenword.com> * libltdl/ltdl.c (foreach_dirinpath): change some types to size_t from int because strlen() returns size_t. argz_len changed to size_t because argzize_path() takes 3rd argument as size_t, not int. Based on lint run from Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2001-10-27 Gary V. Vaughan <gary@gnu.org> * libtool.m4 (_LT_AC_TAGCONFIG): Cray sed does not allow character sets to contain the separator character. Reported by Kevin Ryde <user42@zip.com.au> * ltdl.m4 (AC_WITH_LTDL): New macro to add `--with-included-ltdl' option to configure, but to find an appropriate ltdl library and append the right options to link it. 2001-10-24 Kevin Ryde <user42@zip.com.au> * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Remove a stray ' quote. 2001-10-24 H.J. Lu <hjl@gnu.org> * ltmain.sh: Allow link against an archive when building a shared library. * libtool.m4 (lt_cv_deplibs_check_method): Always use file_magic for Linux ELF. 2001-10-12 Guido Draheim <guidod-2001q3@gmx.de> * ltdl.m4: Changed "underscode to underscore". 2001-10-06 Gary V. Vaughan <gary@gnu.org> * configure.ac: General modernisation and cleanup. * cdemo/configure.ac: Ditto. * demo/configure.ac: Ditto. * depdemo/configrue.ac: Ditto. * ltdl/configure.ac: Ditto. * ltdldemo/configure.ac: Ditto. * mdemo/configure.ac: Ditto. * pdemo/configure.ac: Ditto. * tagdemo/configure.ac: Ditto. 2001-10-04 Albert Chin-A-Young <china@thewrittenword.com> * libltdl/ltdl.c: Match function return type with prototype (add static initializer to file_not_found). 2001-09-30 Gary V. Vaughan <gary@gnu.org> * libtool.m4 (AC_LIBLTDL_CONVENIENCE): s/INCLTDL/LTDLINCL/ for consistency with gettext's INTLINCL. Keep the old symbol too for backwards compatibility. (AC_LIBLTDL_INSTALLABLE): Ditto. * doc/libtool.texi (Distributing libltdl): Adjust documentation. 2001-09-22 Albert Chin-A-Young <china@thewrittenword.com> * ltdl.m4 (AC_LTDL_DLLIB): Even though HP-UX 10.20 and 11.00 support shl_load *and* dlopen, dlopen works correctly only with a patch. Because we want to avoid the situation where we build on a system with the patch but deploy on a system without, use shl_load exclusively if found. 2001-09-22 Gary V. Vaughan <gary@gnu.org> * libtool.m4 (_LT_AC_FILE_LTDLL_C): Be carefule that the start marker searched for by sed must start in column 0. (_LT_AC_FILE_IMPGEN_C): Ditto. Reported by Tor Lillqvist <tml@iki.fi> 2001-09-22 Tor Lillqvist <tml@iki.fi> * libtool.m4 [mingw* cygwin*]: Small improvement for mingw-hosted tool support (while still running libtool on cygwin). In that case PATH_SEPARATOR is ':', but gcc -print-search-dirs still prints its search path with ';' as separator. (AC_LIBTOOL_RC, AC_LIBTOOL_LANG_RC_CONFIG): Add support for .rc files (Windows resource files), compiled by the resource compiler (windres in mingw) to .o files. (AC_PROG_NM): Minor bug fix for $PATH elements with spaces in them. * configure.ac: Use LT_AC_PROG_RC. * ltmain.in: Check for .rc files. * NEWS: Updated. * ltmain.in: Add a space to $base_compile in the case statement, as the case labels checks for trailing spaces, but there aren't necessarily in $base_compile. 2001-09-22 Albert Chin-A-Young <china@thewrittenword.com> * libtool.m4: When setting archive_cmds for CC, don't test for $GXX but for $GCC on HP-UX. Indentation fixes. 2001-09-21 Gary V. Vaughan <gary@gnu.org> From Tor Lillqvist <tml@iki.fi>: * ltmain.in [cygwin* mingw*]: Take care of the difference between wrapper script name and executable name. * libtool.m4 (archive_cmds) [darwin1.[0-2]]: Darwin uses zsh-3.1.6 for /bin/sh, and that shell does not handle escaped quotes properly yet. Reported by Christopher Pfisterer <cp@chrisp.de> 2001-09-21 Albert Chin-A-Young <china@thewrittenword.com> * libltdl/ltdl.c: Match function return type with prototype (add static initializer to some functions) to prevent warnings from HP-UX cc. 2001-09-21 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.c: Added support for dmalloc, and uncovered some memory bugs as a result. 2001-09-21 Albert Chin <china@thewrittenword.com> * libtool.m4: Don't include main() when testing for command to parse $NM output because some C++ compilers don't allow you to take the address of main (e.g. HP-UX aCC). * libtool.m4: Some uses of $GXX were unquoted, but GXX is either NULL or yes. Use "$GXX". 2001-09-13 Assar Westerlund <assar@sics.se> * ltdl.m4 (AC_LTDL_DLLIB): call dlopen with arguments so the test does not fail due to a prototype in dlfcn.h 2001-09-13 Gary V. Vaughan <gary@gnu.org> * ltdl.m4 (AC_CHECK_HEADERS): Check for assert.h. * libltdl/ltdl.c: If not, disable assertions manually. 2001-09-11 Gary V. Vaughan <gary@gnu.org> * bootstrap: Be robust to having no files that need removing. * libltdl/configure.ac (AM_INIT_AUTOMAKE): Bump libltdl version to 1.2. * libltdl/Makefile.am (libltdl_la_LDFLAGS): Bump libtool library version info to 4:0:1. 2001-09-11 Gary V. Vaughan <gary@gnu.org> * libtool.m4: No need to undefine([symbols]), proper quotation is enough. 2001-09-10 Gary V. Vaughan <gary@gnu.org> * libtool.m4: CVS Autoconf guarantees a decent default IFS, so there is no need for us to preset it anymore. Be careful not to set IFS="${IFS}$PATH_SEPARATOR" for PATH splitting, otherwise spaces in directory names will be lost. Use $PATH_SEPARATOR... don't rely on $ac_path_separator, which was an autoconf internal until just now, when it disappeared! * ltmain.in: Default IFS once, at the start. Reported by Akim Demaille <akim@epita.fr> 2001-09-10 Brad <brad@comstyle.com> * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Missed an instance of Autoconf square bracket quoting style normalisation. * ltmain.in (-lc_r): Style improvement. * doc/libtool.texi: Remove obsolete references to ltconfig. * tests/quote.test: s/ltconfig/\$0/ 2001-09-09 Gary V. Vaughan <gary@gnu.org> * libtool.m4: Use Autoconf square bracket quoting style consistently throughout. 2001-09-08 Gary V. Vaughan <gary@gnu.org> * bootstrap: Cleanup `autom4te' and `libtool' so that we don't get caught by something from a previous build. * libtool.m4 (archive_cmds, archive_expsym_cmds) [solaris*]: Revert my 2001-09-06 patch. (no_undefined_flag)i [solaris*]: Revert Alexandre's 2001-04-11 patch. 2001-09-07 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.c (foreach_dirinpath): argz_len should be a size_t. Reported by Albert Chin <china@thewrittenword.com> 2001-09-06 Gary V. Vaughan <gary@gnu.org> * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [solaris*]: Typo. s/GXX/GCC/. * libtool.m4 (archive_cmds, archive_expsym_cmds) [solaris*]: Changing no_undefined_flag from `-z text' to `-z defs' (see entry below at 2001-04-11 Alexandre Oliva <aoliva@redhat.com>) has a problem. when linking a shared library with gcc calling /usr/ccs/bin/ld (eg. the gcc supplied with Solaris 8 companion CD), using the flag -no-undefined, shared library linking will always fail because of the unresolved symbols from libgcc.a. Consequently we have to provide a path to libgcc.a when linking shared libraries in conjunction with -no-undefined! From Michael Pruett <mpruett@engr.sgi.com>: * libltdl/ltdl.c (find_module): `0' valued arguments to tryall_dlopen_module() must be explicitly cast to avoid compiler warnings on some environments. From Daniel Johnson <danielj7@mac.com>: * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [darwin*]: Move from GNU ld section to non-GNU ld section. 2001-09-05 Robert Boehne <rboehne@ricardo-us.com> * pdemo/Makefile.am (helldl): Automake 1.4 can't find the target if we use helldl$(EXEEXT), and Automake 1.5 barfs unless we do. Using both targets to the left of the colon seems to work though! 2001-09-03 Gary V. Vaughan <gary@gnu.org> * demo/Makefile.am (helldl): Automake 1.4 can't find the target if we use helldl$(EXEEXT), and Automake 1.5 barfs unless we do. Using both targets to the left of the colon seems to work though! 2001-09-03 Brad <brad@comstyle.com> * ltdl.m4 [AC_LTDL_SYS_DLOPEN_DEPLIBS]: Teach ltdl about the behavior of OpenBSD's dlopen(). 2001-09-03 Gary V. Vaughan <gary@gnu.org> From Marius Vollmer <mvo@zagadka.ping.de>: * libltdl/ltdl.c (tryall_dlopen_module): Don't forget to propogate errors over recurse levels. 2001-09-03 Brad <brad@comstyle.com> * libtool.m4 [openbsd*]: More improvements to the OpenBSD port. 2001-09-02 Gary V. Vaughan <gary@gnu.org> From Albert Chin <china@thewrittenword.com>: * libtool.m4 (_LT_AC_LANG_C_CONFIG) [aix4*]: Be careful with shared namespaces for static and shared libs. (AC_LIBTOOL_DLOPEN_SELF): If all else fails, try dld_link from GNU DLD. 2001-09-02 Christopher Pfisterer <cp@chrisp.de> * libtool.m4, ltmain.in: Linker flag and version numbering fixes for darwin. 2001-09-02 Gary V. Vaughan <gary@gnu.org> Based on a patch from Marius Vollmer <mvo@zagadka.ping.de>: * NEWS: updated. * ltdl.m4 (AC_LIB_LTDL): Check for unistd.h. * ltdl.c: Include unistd.h if it exists. (LTDL_SEARCHPATH_VAR): Macro to prevent hardcoding "LTDL_LIBRARY_PATH". (LTDL_ARCHIVE_EXT): Macro to prevent hardcoding ".la". (archive_ext): Have only one copy of ".la" in the readonly segment of the compiled library. (find_handle_callback): Don't bother trying to dlopen the file if it doesn't exist. (find_handle): Don't bother searching for files if no search_path was supplied. (file_not_found): A new function to determine whether the last error was due to a file not found condition. (try_dlopen): Renamed from lt_dlopen() and changed to have the same footprint as tryall_dlopen. This involved a minor rewrite of much of the internals of this function. (lt_dlopen): A new function wrapped arounf try_dlopen(). (lt_dlopenext): If a file already has a suitable extension, don't bother adding additional extensions and trying to open those. Tidy up the rest of the code to prevent continued searching with an eventual FILE_NOT_FOUND when a genuine failure earlier in the search process could be legitimately reported. * demo/Makefile.am (helldl$(EXEEXT)): Automake-1.5 made me change this from just `helldl'. 2001-07-31 Robert Boehne <rboehne@ricardo-us.com> * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) Fixed a problem with export_symbols_cmds not being set for CXX tags, and not being properly set for any tag under AIX/Power. 2001-08-19 Ossama Othman <ossama@uci.edu> * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG): Corrected and improved error message that is displayed when there was a problem compiling the C++ test program. It still mentioned the now non-existent `ltcf-cxx.sh' file. * doc/libtool.texi (LTDL_SET_PRELOADED_SYMBOLS): Removed parentheses at end of starting "defmac" line, as pointed out by makeinfo. 2001-08-18 Brad <brad@comstyle.com> * ltmain.in: Do not remove -lm from deplibs for OpenBSD. 2001-08-16 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.c (argz_create_sep): Don't forget to include the terminating '\0' when counting argz_len. (argz_create_sep): When canonicalizing argz, don't forget to copy the terminating '\0', incase canonicalization has shortened argz. (argz_stringify): Don't covert the final '\0' to a separator. 2001-08-15 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.c (lt_dlhandle_next): Now we can loop through all loaded module handles as originally intended. * libltdl/ltdl.c (lt_dlseterror): Oops. This never worked either, due to a pair of typos. Now fixed. * libltdl/ltdl.c (N_ELEMENTS): Deleted. How come nobody noticed there was no way this could have ever worked? (lt_dlcaller_set_data): Now that valid caller_ids must be non-zero, allocate an addition entry in the caller_data vector and use a zero valued key as the end marker. (lt_dlcaller_get_data): Iterate up to the end marker in one pass. 2001-08-14 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.c (lt_dlcaller_register): Caller ids are allocated starting from value `1', so that clients can use a value of zero to indicate that libltdl has not yet initialised. * ltmain.in (exec_cmd): Fix quoting in execute mode so that the double quotes added by libtool (to prevent lossage with embedded spaces in filenames etc.) are not interpreted as literals by the shell. 2001-08-13 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.c (find_file_callback): Fix a multiple free() bug. (tryall_dlopen_module): Remove some unused variables. * libltdl/ltdl.c (lt_dlinsertsearchdir): Calculate the address of the end of user_search_path correctly. * libltdl/ltdl.c (rpl_argz_stringify): New fallback implementation. * ltdl.m4 (AC_LTDL_FUNC_ARGZ): Test for argz_stringify in libc. * libltdl/ltdl.c (lt_argz_insertinorder): Renamed from lt_argz_insert to make room for... (lt_argz_insert): Wraps argz_insert with libltdl error handling. (lt_dlpath_insertdir): Insert new path elements into an argzized path. (lt_dlinsertsearchdir): New function to insert new search directories anywhere into user_search_path using the above. (lt_dladdsearchdir): Rewritten to use lt_dlpath_insertdir. * libltdl/ltdl.h (lt_dlinsertsearchdir): Prototype for export. * doc/libtool.texi (Libltdl interface): Document it. * NEWS: Updated, 2001-08-07 Gary V. Vaughan <gary@gnu.org> From Albert Chin <china@thewrittenword.com>: * ltmain.in [irix*]: $with_gcc is either "yes" or "" (empty string) with current autoconf, so we need to be robust to that when testing it, 2001-08-06 Gary V. Vaughan <gary@gnu.org> From Brad <brad@comstyle.com>: * libtool.m4 (deplibs_check_method) [aix*]: Removed redundant setting of this variable. 2001-08-05 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.c (load_deplibs): Insert missing 1st argument to LT_EMALLOC. 2001-08-05 Tim Van Holder <tim.van.holder@pandora.be> * ltdl.m4: Canonicalize descriptive text used with AC_DEFINE. * libtool.m4 (_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR): Remove. (_LT_AC_PROG_ECHO_BACKSLASH): Use $ac_path_separator instead of $PATH_SEPARATOR. (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Ditto. (_LT_AC_TAGCONFIG): Ditto. (AC_ENABLE_SHARED): Ditto. (AC_ENABLE_STATIC): Ditto. (AC_ENABLE_FAST_INSTALL): Ditto. (AC_PATH_TOOL_PREFIX): Ditto. (AC_PATH_MAGIC): Ditto. (AC_PROG_LD): Ditto. (AC_PROG_NM): Ditto. * ltdl.m4 (AC_LTDL_SYSSEARCHPATH): Ditto. 2001-08-05 Gary V. Vaughan <gary@gnu.org> From Brad <brad@comstyle.com>: * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [openbsd]: OpenBSD can build modules without a `lib' prefix and version number. Move the deplibs check code from here... (AC_DEPLIBS_CHECK_METHOD): ...to here. 2001-08-05 Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu> * libtool.m4 [osf3*, osf4*, osf5*]: Tru64 *can* build modules without a `lib' prefix to the module name. 2001-08-05 Gary V. Vuaghan <gary@gnu.org> From Guido Draheim <Guido.Draheim@tek.com>: * ltmain.in: Display better and different error messages when library linkage fails in various ways. 2001-08-05 Albert Chin-A-Young <china@thewrittenword.com> * libtool.m4 (_LT_AC_SYS_LIBPATH_AIX): Add newline after terminating '}' grouping character. Change '[0-9][0-9]' to '0' as we've already matched it. 2001-08-05 Gary V. Vaughan <gary@gnu.org> From Brad <brad@comstyle.com>: * libtool.m4 (archive_cmds) [darwin, newsos, sysv4]: Replace 1.3 era $linkopts references with $linker_flags. * libltdl/ltdl.c: Fixed several careless mistakes in the foreach_dirinpath support functions. (foreach_dirinpath): Walk path elements with the argz API. 2001-08-04 Gary V. Vaughan <gary@gnu.org> From Sedi Master Albert Chin <china@thewrittenword.com>: * libtool.m4 (_LT_AC_SYS_LIBPATH_AIX): Replace the awk invocation with an equivalent bit of sed wizardry. From Edouard G. Parmelan <egp@free.fr> * libtool.m4 [darwin, openbsd]: Fix quoting problems with unquoted [] expressions. 2001-08-03 Gary V. Vaughan <gary@gnu.org> * bootstrap: s/ltdldemo // -- This demo soesn't work properly, so I haven't committed it yet. 2001-08-01 Ossama Othman <ossama@doc.ece.uci.edu> * libtool.m4 (AC_LIBTOOL_SETUP): Require Autoconf-2.50 via the AC_PREREQ autoconf macro since the new libtool macros utilize macros from that version of Autoconf. 2001-08-01 Gary V. Vaughan <gary@gnu.org> * ltdl.m4: Bump serial number. General reformat and tify up in line with Autoconf-2.50 support. (AC_LTDL_FUNC_ARGZ): Test for system implementations of a handful of argz API calls, the error_t type, and the argz.h header. * libltdl/configure.ac (AM_INIT_AUTOMAKE): Bump version number. * libltdl/ltdl.c (rpl_argz_append, rpl_argz_create_sep. rpl_argz_insert, rpl_rgz_next): Fallback implementations of the similarly named functions for machines that don;t use glibc. (lt_dlrealloc): New memory function pointer that can be set by the client. Defaults to rpl_realloc, which in turn uses only lt_dlmalloc and lt_dlfree. (LT_EMALLOC, LT_EREALLOC): Set internal out-of-memory error inside the functions called by these new macros. Simplified all callers by removing explicit client error reporting. (memmove): Fallback implementation of overlap safe memory copy function. (tryall_dlopen): Factorized common code into... (tryall_dlopen_module): ...this new helper function. (canonicalize_path): Changed function signature to return success or failure. Updated all callers. (foreachfile_callback): Make use of argz API. (LT_DLSTRLEN): Moved from here... * libltdl/ltdl.h (LT_STRLEN): ...to here. Updated all callers. (lt_dlrealloc): Declare new memory management handle. 2001-07-31 Robert Boehne <rboehne@ricardo-us.com> * libtool.m4 (mingw*) Revert the previous change as it was applied by mistake. 2001-07-31 Guido Draheim <Guido.Draheim@tek.com> * libtool.m4 (mingw*) sys_lib_search_path_spec: Sets the proper path separator for cross-compiling. 2001-07-30 Steve Ellcey <sje@cup.hp.com> * libtool.m4 (ia64-*-hpux*) Add support for ia64*-*-hpux* platform. 2001-07-30 Robert Boehne <rboehne@ricardo-us.com> * libtool.m4 (AC_LIBTOOL_PROG_COMPILER_PIC) [aix*]: Fixed an incorrect resetting of lt_prog_compiler_static when using gcc under AIX Power. 2001-07-31 Gary V. Vaughan <gary@gnu.org> * bootstrap: Remove generated files (incase they are links) before rerunning the autotools to regenerate them. 2001-07-30 Gary V. Vaughan <gary@gnu.org> * libtool.m4 (AC_LIBTOOL_SETUP): Use Autoconf-2.50 era quadrigraphs and AC_HELP_STRING to bring AC_ARG_WITH/ENABLE macros up to date. (_LT_AC_LOCK): Ditto. (_LT_AC_TAGCONFIG): Ditto. (AC_PROG_LD): Ditto. (AC_ENABLE_SHARED): Ditto. And eliminate the last remaining changequote invocations. (AC_ENABLE_STATIC): Ditto. And Ditto. (AC_ENABLE_FAST_INSTALL): Ditto. And Ditto. * ltdl.m4 (AC_LTDL_ENABLE_INSTALL): Use Autoconf-2.50 era quadrigraphs and AC_HELP_STRING to bring AC_ARG_ENABLE macro up to date. * NEWS: Updated. * libtool.m4 [UnixWare7, OpenUNIX8]: Initial support for UnixWare7 and OpenUNIX8. Accept these identifiers from the latest config.guess/config.sub as pseudonyms for sysv5uw[78]. * NEWS: Updated. Reported by Boyd Lynn Gerber <gerberb@zenez.com> 2001-07-29 Gary V. Vaughan <gary@gnu.org> * tests/sh.test: Add a new test to enforce X as the fill character in `test "X...'. Beef up the `test' tests to also check `test -.' and `test ! -.' phrases for compliance. * ltmain.in: Fix quoting problems uncovered by the new tests. 2001-07-29 Andrew C. Feren <aferen@CetaceanNetworks.com> * tests/sh.test: New test to disallow `test $foo', where `test "$foo"' is much safer. * ltmain.in: Fix quoting problems uncovered by the new test. 2001-07-29 Steve Ellcey <sje@cup.hp.com> * libtool.m4 (lt_cv_sys_global_symbol_to_cdecl): Change it from "extern char" to "extern int" so that GCC 3.0 won't complain and refuse to compile programs containing "extern char main()". 2001-07-29 Gary V. Vaughan <gary@gnu.org> From Guido Draheim <Guido.Draheim@tek.com>: * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [mingw]: Support cross compilation to mingw by allowing `:' or ';' as a path separator. * NEWS: Updated. 2001-07-27 NIIBE Yutaka <gniibe@m17n.org> * libtool.m4 (lt_cv_deplibs_check_method): Use pass_all for sh*-*-linux* (SuperH) too. 2001-07-25 Ossama Othman <ossama@debian.org> From Thomas Poindessous <poinde_t@epita.fr> * ltmain.in (pic_mode): Added missing quotes around shell variable in "if test" conditional. From Peter Moulder <pmoulder@longford.csse.monash.edu.au> * ltmain.in (xform): Add support for pre-processed (e.g. `*.{i,ii}' sources). 2001-07-25 Gary V. Vaughan <gary@gnu.org> From Steve Ellcey <sje@cup.hp.com>: * libltdl/ltdl.c (foreach_dirinpath): Free unassigned pointer fix for `canonical'. 2001-07-23 Robert Boehne <rboehne@ricardo-us.com> * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG, AC_LIBTOOL_PROG_LD_SHLIBS) [aix4*, aix5*]: Fixed a mispelled binder option under AIX. The option to throw errors for unresolved external references is -bernotok, not -bnoerok. 2001-07-23 Gary V. Vaughan <gary@gnu.org> * Makefile.am (EXTRA_DIST): Don't forget to distribute ChangeLog.1. From Erik Lindahl <E.Lindahl@chem.rug.nl> * libtool.m4 (_LT_AC_SYS_LIBPATH_AIX): Used on aix to discover the compiler's default library search path so that the MPI compiler suite is not hosed by the previously hardcoded path. * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [aix4*, aix5*]: Use it. 2001-07-23 Andreas Schwab <schwab@suse.de> * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use pass_all for s390*-*-linux* and m68*-*-linux*. 2001-07-19 Robert Boehne <rboehne@ricardo-us.com> * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Fix tag support problems with CXX variables being overwritten by the individual macros. (AC_LIBTOOL_PROG_CC_C_O): Ditto. (AC_LIBTOOL_PROG_COMPILER_PIC): Ditto. (AC_LIBTOOL_LANG_CXX_CONFIG): Moved call to AC_LIBTOOL_SYS_HARD_LINK_LOCKS after the call to AC_LIBTOOL_PROG_CC_C_O as it depends on the result. (AC_LIBTOOL_LANG_GCJ_CONFIG): Ditto. (AC_LIBTOOL_LANG_C_CONFIG): Ditto. (AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH): Used the macro _LT_AC_TAGVAR to ensure the correct variable is being queried. (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Changed the naming of shared objects under IRIX back to what it was in the MLB. 2001-07-23 Mark Kettenis <kettenis@gnu.org> * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN) [gnu*]: Remove spurious "break" and bogus comment (_LT_AC_LANG_CXX_CONFIG): Add support for the Hurd. * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): Add support for the Hurd. 2001-07-16 Robert Boehne <rboehne@ricardo-us.com>, Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu> * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): add cases and comments for more platforms, including AIX, Digital/Tru64 UNIX and IRIX. 2001-07-16 Gary V. Vaughan <gary@gnu.org> * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Fix ia64 AIX run-time-linking when not using gcc. (AC_LIBTOOL_LANG_CXX_CONFIG): Ditto. Reported by Dan McNichol <mcnichol@austin.ibm.com> 2001-07-12 Gary V. Vaughan <gary@gnu.org> From dda@sleepycat.com (Don Anderson): * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [qnx]: New supported architecture. (AC_DEPLIBS_CHECK_METHOD) [qnx]: Ditto. * NEWS: Updated. From Stefan Ondrejicka <ondrej@idata.sk>: * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [cygwin*]: Make sure that /lib/w32api is searched for system libraries to match recent versions of cygwin. * NEWS: Updated. 2001-07-12 Dan McNichol <mcnichol@austin.ibm.com> From albert chin <china@thewrittenword.com> * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Fix AIX run-time-linking when using gcc. (AC_LIBTOOL_LANG_CXX_CONFIG): Ditto. 2001-07-11 Gary V. Vaughan <gary@gnu.org> * libtool.m4 (_LT_AC_LANG_CXX_CONFIG) [hpux, linux, osf, solaris]: Doh! the evalled variable shouldn't have been quoted. * libtool.m4 (_LT_AC_LANG_CXX_CONFIG) [hpux, linux, osf, solaris]: output_verbose_link_cmd have unquoted `*' in case statements for these architectures. Be sure to quote them with a sed expression before passing to eval. Reported by Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu> 2001-07-09 Gary V. Vaughan <gary@gnu.org> * README-alpha: s/configure.in/configure.ac. * configure.ac: Bumped version to 1.4c. GNU libtool 1.4b was released. * configure.ac: Bumped version to 1.4b. * NEWS: updated. * config.guess, config.sub, texinfo.tex: Synchronised from ftp.gnu.org. 2001-07-09 Robert Boehne <rboehne@ricardo-us.com> From Michael Elizabeth Chastain <chastain@cygnus.com>: * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Set max_cmd_len to a maximum of 512Kb, as it seems some HPUX 11.0 systems have trouble with 1MB. 2001-07-09 Gary V. Vaughan <gary@gnu.org> * README-alpha: Upgrade distribution instructions to include canonical location of texinfo.tex. 2001-07-09 Timothy Wall <twall@oculustech.com> * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Don't disable shlibs on AIX5/IA64 with GNU ld. Keep gnu defaults if using gnu tools on AIX5/IA64. 2001-07-09 Robert Boehne <rboehne@ricardo-us.com> * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Set max_cmd_len to -1 on hurd, it has no command line argument limits. * ltmain.in Handle max_cmd_len=-1 for systems that don't have command line argument limits. 2001-07-05 Gary V. Vaughan <gary@gnu.org> * libtool.m4 (_LT_AC_LANG_C_CONFIG): Revert to 1.3.x sematics, and always build static libs when the host machine cannot build shared libs. Even if static libs were explicitly disabled. 2001-07-02 Gary V. Vaughan <gary@gnu.org> Cleanup of libltdl: * ltdl.c (lt_dladderror): Don't use `index' as a variable name, since it is a function on BSD based boxes. (lt_dlseterror): Ditto. (lt_dlexit): Remove unused errormsg declaration. (foreach_dirinpath): Make sure filename is initialised. (find_handle): Return NULL for a failed search. (foreachfile_callback): Don't reuse data2 symbol from prototype in func declaration to prevent symbol shadowing. * ltdl.h (lt_dlmutex_seterror): Don't use `error' as a parameter name, since it is a function on glibc boxes. * libtoolize.in: Display --version in the same format as autoconf and automake. * ltmain.in: Ditto. 2001-06-30 Gary V. Vaughan <gary@gnu.org> Merge test improvements from multi-language-branch: * tests/defs: Find and set the value of CC probed by libtool.m4 * tests/link-2.test: Use a .lo wrapper script, and the value of CC set by defs instead of hardcoding gcc. * tests/link.test: Use the value of CC set by defs instead of hardcoding gcc. * tests/quote.test: Ditto. * tests/suffix.test: Ditto. * libtool.m4 (AC_LIBTOOL_PROG_COMPILER_PIC) [aix*]: Always set lt_prog_compiler_wl to `-Wl'. Reported by Albert Chin-A-Young <china@thewrittenword.com> * ltdl.m4 (AC_LTDL_DLLIB) [sco3.2*]: When searching for a dlopen implementation, and adding `-ldl' has failed, try linking a call to dlopen, #including dlfcn.h, and without -ldl. On sco3.2 the header files redefines the interface symbols to point at the implementation symbols in libc. Reported by "Golubev I. N." <gin@mo.msk.ru> 2001-06-29 Tim Van Holder <tim.van.holder@pandora.be> General cleanup of autoconf-2.50 upgrade: * configure.ac: Mark as needing autoconf-mode in emacs. Pass arguments to AC_INIT. * cdemo/configure.ac: Ditto. * demo/configure.ac: Ditto. * depdemo/configure.ac: Ditto. * libltdl/configure.ac: Ditto. * mdemo/configure.ac: Ditto. * pdemo/configure.ac: Ditto. * tagdemo/configure.ac: Ditto. * ltdl.m4: Mark as needing autoconf-mode in emacs. * libtool.m4: Mark as needing autoconf-mode in emacs. Don't add () to AS_MESSAGE_LOG_FD. * libltdl/configure.ac: Use config-h.in as template for config.h. * tagdemo/configure.ac: Drop the AC_DIAGNOSTIC. Move AC_LANG([C++]) after the OBJEXT/EXEEXT check. 2001-06-29 Gary V. Vaughan <gary@gnu.org> From Tim Van Holder <tim.van.holder@pandora.be> * tests/suffix.test: Typo in 2nd for loop. From Tim Van Holder <tim.van.holder@pandora.be> * libltdl/Makefile.am (OBJECTS): This was an implicit variable. instead state the list of object variables explicitly. From Bruno Haible <haible@ilog.fr> * libtool.m4: undefine the m4 builtin `symbols', so that the string `symbols' can be used in the rest of the code without causing errors with autoconf-2.13. From "Golubev I. N." <gin@mo.msk.ru> * tests/Makefile.am (CPPLAGS): Typo. s/CPPLAGS/CPPFLAGS. * mdemo/Makefile,am (foo1_la_LIBADD): Add libsub.la, since foo1 does use symbols from libsub.la -- only platforms that allow undefined symbols in libraries were able to cope with this previously. Reported by Robert Collins <robert.collins@itdomain.com.au> From "Golubev I. N." <gin@mo.msk.ru> * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [sco3.2v5*]: Needs -wl,-Bexport to make self dlopen work. 2001-06-28 Gary V. Vaughan <gary@gnu.org> From Alexander Bluhm <Alexander.Bluhm@WiredMinds.de> * libltdl/ltdl.c (lt_dlopen): Fix bad memory initialisation assumptions. * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE) [HPUX]: Define lt_cv_sys_global_symbol_to_c_name_address to be a sed expression for mangling the output of the symbol pipe into a brace delimited C declaration of symbol name and address. * ltmain.in: Use it to generate the fooS.c symbol name Reported by Albert Chin-A-Young <china@thewrittenword.com> 2001-06-28 Tim Van Holder <tim.van.holder@pandora.be>, Gary V. Vaughan <gary@gnu.org> * bootstrap: Use cp instead of ln -s, for systems without symlinks. Reorder the statements to avoid repetition outside the loop. 2001-06-28 Paolo Bonzini <bonzini@gnu.org>, Gary V. Vaughan <gary@gnu.org> Libtool now builds with the help of Autoconf-2.50! * configure.ac (AC_PREREQ): Require Autoconf-2.50 or newer. (AC_PROG_CPP, AC_EXEEXT, AC_OBJEXT): Removed. Autoconf-2.50 doesn't have the AC_REQUIRE bug that required these to be called explicitly from here. Autoconf-2.50 uses this file instead of... * configure.in: ...this, which is now deleted. * cdemo/configure.ac, cdemo/configure.in: Ditto. * demo/configure.ac, demo/configure.in: Ditto. * depdemo/configure.ac, depdemo/configure.in: Ditto. * libltdl/configure.ac, libltdl/configure.in: Ditto. * mdemo/configure.ac, mdemo/configure.in: Ditto. * pdemo/configure.ac, pdemo/configure.in: Ditto. * tagdemo/configure.ac, tagdemo/configure.in: Ditto. * libltdl/acconfig.h: Deleted. * Makefile.am (libtool): libtool now depends on configure.ac. * libtool.m4 (_LT_AC_LOCK): Use 2.50's AC_LANG_PUSH/AC_LANG_POP instead of 2.13's AC_LANG_SAVE/AC_LANG_RESTORE. (AC_LIBTOOL_LANG_C_CONFIG): Ditto. (AC_LIBTOOL_LANG_CXX_CONFIG): Ditto. * libtoolize.in: Use $configure_ac, instead of hardcoding configure.in. 2001-06-28 Tim Van Holder <tim.van.holder@pandora.be> * pdemo/Makefile.am: Use '=' instead of '+=' to shut up automake. 2001-06-27 Gary V. Vaughan <gary@gnu.org> From brad@openbsd.org: * NEWS: Updated. * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [openbsd]: Improved support for various openbsd platforms. (AC_LIBTOOL_PROG_LD_SHLIBS): Ditto. * ltmain.in: Ditto, 2001-06-26 Gary V. Vaughan <gary@gnu.org> * NEWS: Updated. * libltdl/ltdl,c (LT_DLMUTEX_LOCK): Renamed from MUTEX_LOCK to avoid potential namespace clash. (LT_DLMUTEX_UNLOCK, LT_DLMUTEX_SETERROR, LT_DLMUTEX_GETERROR): Ditto. (lt_dlmutex_lock_func): Renamed from mutex_lock to avoid a namespace clash of NCR MP-RAS. (lt_dlmutex_unlock_func, lt_dlmutex_seterror_func, lt_dlmutex_geterror_func): Ditto. Reported by Edouard G. Parmelan <egp@free.fr> * libltdl/ltdl.c (LT_DLSTRLEN): Call strlen only if the argument is non-NULL and non-zero in length. Changed all calls to strlen appropriately. * libltdl/ltdl.c: Prototype all static functions. * ltdl.m4: Bump serial number to 3. (AC_LIB_LTDL): Require AC_HEADER_DIRENT for ltdl.c. * libltdl/ltdl.h (lt_dlforeachfile): Prototype for new function. * libltdl/ltdl.c: Include an appropriate header for the opendir/dirent api. (foreach_dirinpath): Visit each file in a list of directories. (find_file_callback): Factor out the core of find_file() to make use of foreach_dirinpath(). (find_file): Use it! (find_handle_callback, find_handle): Ditto. (lt_dlforeachfile): New function to find files in a searchpath.,, (foreachfile_callback): ...using this callback. * doc/libtool.texi (Libltdl interface): Document new lt_dlforeachfile api call. 2001-06-25 Gary V. Vaughan <gary@gnu.org> * THANKS: Added Albert Chin-A-Young. * libtool.m4 (IFS): When IFS is changed to split a string for examination in a loop, restore it inside the loop as well as outside incase IFS is needed by commands in that loop. Reported by Pavel Roskin <proski@gnu.org> 2001-06-25 Albert Chin-A-Young <china@thewrittenword.com> * libtool.m4: Prefer shl_load to dlopen on HP-UX because dlopen won't work properly without a patch. 2001-06-25 Daniel Harvey <daniel@amristar.com.au> * libtool.m4 (ltdll_cmds): [$]0 doesn't appear to translate through the script correctly, change to $''0 2001-06-25 Maciej W. Rozycki <macro@ds2.pg.gda.pl> * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use pass_all for mips-*-linux* and mipsel-*-linux*. 2001-06-24 Andreas Schwab <schwab@suse.de> * libtool.m4 (AC_LIBTOOL_SETUP): Remove failed try to transform linux to linux-gnu in $host. (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Match $host_os against linux*, not linux-gnu*. (AC_DEPLIBS_CHECK_METHOD): Likewise. 2001-06-24 Gary V. Vaughan <gary@gnu.org> * libtool.m4 (_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR): Set PATH_SEPARATOR appropriately if it is not set already, (_LT_AC_TAGCONFIG): Use it. (AC_ENABLE_SHARED): Ditto. (AC_ENABLE_STATIC): Ditto. (AC_ENABLE_FAST_INSTALL): Ditto. (AC_PATH_TOOL_PREFIX): Ditto. (AC_PATH_MAGIC): Ditto. (AC_PATH_PROG_NM): Ditto. From Tim Van Holder <tim.van.holder@pandora.be>: * libtool.m4: Use the canonical absolute path test ([\\/]* | ?:[\\/]) and $PATH_SEPARATOR wherever appropriate. (AC_LIBTOOL_PROG_CC_PIC): Properly recognize DJGPP as a platform that doesn't support shared libraries. (AC_LIBTOOL_SYS_MAX_CMD_LEN): Avoid this test on DJGPP; use a fixed value (12K) instead. (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Don't forget $ac_exeext when testing for link success. * configure.in (AM_INIT_AUTOMAKE): Bumped version to 1.4a. Complete the new configure time tags creation facility based on the ltcf-*.sh and ltconfig.in files from multi-language-branch: * libtool.m4: More refactoring and reformatting. (_LT_AC_LANG_GCJ_CONFIG): Merged ltcf-gcj.sh from multi-language-branch. (_LT_AC_LANG_CXX_CONFIG): Merged ltcf-cxx.sh from multi-language-branch. * configure.in (AC_PROG_CXX, LT_AC_PROG_GCJ): Compiler checks must be done before AC_PROG_LIBTOOL which appends tags based on their results. 2001-06-12 Robert Boehne <rboehne@ricardo-us.com> * docs/libtool.texi: Updated the libltdl interface documentation to bring it up to date. 2001-06-06 Gary V. Vaughan <gary@gnu.org> * demo/Makefile.am (objdir): Use `libtool --config' for extracting configuration values, since a given value may be present in each tag. (hc-libpath): Ditto. (hc-minusL): Ditto. * libtool.m4 (_LT_AC_TAGCONFIG): Add tagged configurations from the --with-tags option. (_LT_AC_LTCONFIG_HACK): Factored out into separate configuration macros -- The interdependencies and running order are still immutable, and need a lot of work to fix. (AC_LIBTOOL_CONFIG): Taken from the previous incarnation of _LT_AC_LTCONFIG_HACK -- this macro is used both to create the primary (C language) libtool configuration from _LT_AC_LTCONFIG_HACK and also to append tagged configurations from _LT_AC_TAGCONFIG. * NEWS: Merged from multi-language-branch. 2001-06-06 Robert Boehne <rboehne@ricardo-us.com> * bootstrap: Added tagdemo and pdemo tests from multi-language-branch. * configure.in: Added pdemo and tagdemo to CONF_SUBDIRS and merged references to CXX and GCJ from multi-language-branch. * pdemo: Added test directory from multi-language-branch. * tagdemo: Added test directory from multi-language-branch. * tests/Makefile.am: Merged additional tests from multi-language-branch. * tests/pdemo-*.test: ditto. * tests/tagdemo-*.test: ditto. 2001-05-30 Gary V. Vaughan <gary@gnu.org> * libtool.m4: Merged ltconfig.in from multi-language-branch. 2001-05-28 Gary V. Vaughan <gary@gnu.org> * libtool.m4: Reformatting for consistency, and some refactoring in preparation for ltcf-*.sh merge. 2001-05-27 Gary V. Vaughan <gary@gnu.org> * ltmain.in: Merged from multi-language-branch. * libtool.m4: Merged from multi-language-branch. * ChangeLog: Started afresh. Old ChangeLog history moved to... * ChangeLog.1: ...here. 2000-06-04 Mark Mitchell <mark@codesourcery.com> * ltcf-c.sh (archive_cmds, archive_expsym_cmds) [solaris, with_gcc]: Use `gcc -shared' to build a shared library. 2001-06-04 John David Anglin <dave@hiauly1.hia.nrc.ca> * ltcf-c.sh (archive_cmd) [hpux, with_gcc]: Use gcc to link shared archives. 2001-05-28 Simon Patarin <simon.patarin@inria.fr> * ltcf-cxx.sh (osf3/osf4/osf5): Support creation of C++ shared libraries when using g++ with native linker. 2001-05-28 Albert Chin <china@thewrittenword.com> * ltconfig.in (version_type, soname_spec) [aix4* | aix5*]: Use linux-style versioning, and remove trailing .o from soname_spec. 2001-05-22 Alexandre Oliva <aoliva@redhat.com> * ltcf-cxx.sh (allow_undefined_flag, no_undefined_flag) [aix4*|aix5*]: Prepend blank. 2001-05-20 Alexandre Oliva <aoliva@redhat.com> * configure.in: Reverted to 1.4, to avoid confusion with MLB. Mainline is the release snapshot, except for the ChangeLog version number, until the multi-language branch is merged into it. * ltconfig.in: Fix sh.test regression introduced in previous patch. * ltconfig.in (lt_cv_sys_max_cmd_len): Improve test to work better in case of non-built-in echo. Set bounds correctly. * ltcf-cxx.sh (allow_undefined_flag) [aix4* | aix5*]: Fix quote error. * ltmain.in (exec_cmd): New variable. Don't exec programs within the big `case'; set the variable instead, and exec the cmd afterwards, so that the shell gets a chance to clean up here-doc files. * NEWS: Update. 2001-05-16 Alan Modra <amodra@one.net.au> * libtool.m4 (lt_cv_deplibs_check_method): pass_all for hppa*-linux. 2001-05-03 Andreas Jaeger <aj@suse.de>, Andreas Schwab <schwab@suse.de> * ltmain.in (relink_command): Arrange for wrapper script to save output to a variable and display it only if relinking fails. 2001-04-25 Gary V. Vaughan <gary@gnu.org> * configure.in: bumped version to 1.4a. GNU libtool 1.4 was released. * configure.in: Bumped version to 1.4. * config.sub, config.guess: Synchronised from ftp.gnu.org. * NEWS: updated. 2001-04-24 Peter Eisentraut <peter_e@gmx.net> * libtool.m4: Support $host_os as /sysv5uw7*/ from newer config.guess in addition to older /unixware*/. Use compiler driver, not linker, for linking shared libraries. 2001-04-24 Gary V. Vaughan <gary@gnu.org> * libtool.m4, ltmain.in, libltdl/configure.in, tests/quote.test: Remove stale references to ltconfig. * ltdl.m4 (AC_C_INLINE): No longer required. * libltdl/ltdl.c (strdup, strcmp, strchr, strrchr, memcpy, trim, free_vars): Revoke inline keyword from declarations. `static inline' is not very portable, and in addition Unixware 7.1.1's compiler says you can't access static variables from inline functions. Reported by Peter Eisentraut <peter_e@gmx.net> 2001-04-24 Albert Chin-A-Young <china@thewrittenword.com> * libtool.m4: Handle case where /bin/nm -p outputs multiple symbol types (like under HP-UX 11.00). 2001-04-24 Thomas Tanner <tanner@ffii.org> * TODO: describe problems with libltdl * ltmain.in (ILD): tidy up, add comments, remove dead code, merge duplicate code * ltmain.in (ILD): don't touch newdependency_libs after scan or dlopen pass * ltmain.in (ILD): don't dlpreopen dependency_libs of a dlopened module (remove absolutely wrong quick hack) * ltmain.in (ILD): remove wrong comments about duplicate removal * ltmain.in (ILD): build a static-only module if it has static libraries in its dependencies (so that libltdl can safely load dependency_libs) * ltmain.in (argument parsing): prefix comparsions of -l args with X, replace -lc with `-framework System' _after_ the ILD passes * ltmain.in (argument parsing): support dl[pre]open for both .o and .lo files * ltmain.in (deplibs_check): use portable test syntax * ltmain.in (help): document -prefer-[non-]pic flags * ltmain.in: improve readablity by adding some comments, rename uninst_* to notinst_* (more adequate name) 2001-04-24 Gary V. Vaughan <gary@gnu.org> * doc/PLATFORMS: More updates from subscribers to libtool@gnu.org. From Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu> * tests/Makefile.am (TESTS_ENVIRONMENT): Make sure the *.test scripts get the same make that was used in the top level directory. 2001-04-23 Gary V. Vaughan <gary@gnu.org> * doc/PLATFORMS: Updated with more platforms successfully tested by members of libtool@gnu.org. 2001-04-23 Peter Eisentraut <peter_e@gmx.net> * doc/PLATFORMS: With this patch, freebsd4.3 passes the test suite. * libltdl/ltdl.c (lt_dlexit): Quit loop if only resident modules are left. 2001-04-23 Gary V. Vaughan <gary@gnu.org> * doc/PLATFORMS: With this patch, my Solaris boxes now pass the test suite, Yay! From Albert Chin-A-Young <china@thewrittenword.com> * ltmain.in: `test -L' is not portable, and infact breaks uninstall mode on Solaris. Fallback to `test -h' and finally `test -f', but be careful not to let the failure status cause libtool to stop. From Simon Spero <ses@ibiblio.org> * ltdl.m4 (AC_LTDL_DLSYM_USCORE): Add $LIBADD_DL while checking for dlsym _. From Simon Spero <ses@ibiblio.org> * libtool.m4 (lt_cv_deplibs_check_method) [darwin]: Set it! * TODO: Make a note to undo this later. From Christoph Pfisterer <cp@chrisp.de> * libtool.m4: Use $() execution substitution quotation to work around zsh builtin echo \ escape removal. 2001-04-22 Peter Eisentraut <peter_e@gmx.net> * bootstrap: Allow overriding the location aclocal, automake, autoconf, autoheader from the environment. * demo/Makefile.am: Automake 1.4e does not allow `+=' assignments if the variable was not set with `=' earlier. `+=' was not useful here anyway. 2001-04-22 Gary V. Vaughan <gary@gnu.org> * ltdl.m4 (AC_CHECK_HEADERS): UW7 has sys/dl.h, so we must check for that here. * libltdl/ltdl.c (HAVE_SYS_DL_H): Include it if necessary for the dlopen loader. Reported by Matthew Schalit <mschalit@pacbell.net> * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use pass_all for various releases of UnixWare and OpenServer that support it. Reported by Matthew Schalit <mschalit@pacbell.net> * doc/PLATFORMS: Updated with various platforms successfully tested by members of libtool@gnu.org. 2001-04-21 Gary V. Vaughan <gary@gnu.org> * TODO: propose pkg-config merge. 2001-04-21 Nick Hudson <skrll@netbsd.org> * ltmain.in: Correct an error in yesterday's patch. 2001-04-20 Nick Hudson <skrll@netbsd.org> * libtool.m4: Improve NetBSD support. * ltmain.in: ditto. 2001-04-19 Dan McNichol <mcnichol@austin.ibm.com> * libtool.m4: Build standard shared libraries on AIX POWER more like AIX does, with a shared object archived into lib<xxx>.a. On AIX -bexpall flag does strange things... Don't use it. Fix quotes around -berok flag. Add support for AIX 5. Add support for run time linking on AIX POWER. (should work on AIX 4.2 and up). Turn this feature on by adding -brtl flag to LD_FLAGS. Add support for AIX on IA64. Note: AIX on IA64 uses a SYSV type linker. Add a comment telling what to do if the TOC starts getting too large on AIX. * NEWS: mention aix5 support. 2001-04-18 Alexandre Oliva <aoliva@redhat.com> * TODO: Add -L- flag. 2001-04-11 Alexandre Oliva <aoliva@redhat.com> * libtool.m4 (no_undefined_flag) [Solaris ld]: Change to -zdefs. 2001-04-11 Ossama Othman <ossama@uci.edu> * AUTHORS: Added myself to the list of maintainers. 2001-04-08 Gary V. Vaughan <gary@gnu.org> * libtool.m4 (hardcode_libdir_flag_spec, osf4/osf5): Use ${wl} to pass -rpath when compiling with gcc. Reported by Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu> * libltdl/ltdl.c (sys_shl_open): Cache a handle for the `self' module, since HPUX adds module symbols into the `self' pool if it is opened later. Return the cached pointer if the caller subsequently tries to open `self'. (sys_shl_sym): Diagnose NULL modules. From Peter Eisentraut <peter_e@gmx.net> * ltmain.in (clean,uninstall): test -e is not portable. Well, neither is -L, but I'm hoping that redirecting error messages to /dev/null and relying on non-zero exit status will work okay on the few hosts that don't support -L. 2001-04-08 Nick Hudson <skrll@netbsd.org> * ltmain.in: Improve check for valid -version-info parameter. 2001-04-08 Gary V. Vaughan <gary@gnu.org> From Nick Hudson <skrll@netbsd.org> * doc/Makefile.am (libtool_TEXINFOS): Add fdl.texi so that it is included in the distribution. 2001-04-07 Peter Eisentraut <peter_e@gmx.net> * ltmain.in (clean,uninstall): Do not error if the file doesn't exist and 'rm -f' was used. Exit with status 1 on error. 2001-04-06 Nick Hudson <skrll@netbsd.org> * ltmain.in: Implement a new deplibs_check_method called match_pattern that does pattern matching on filenames... * libtool.m4: ...use it with NetBSD 2001-04-05 Gary V. Vaughan <gary@gnu.org> * doc/libtool.texi (Multiple dependencies): A note about the problems I've reintroduced by reverting the my patch of 2001-03-31. From Edward Lee <tailbert@yahoo.com> * libtool.m4: Typos. * tests/Makefile.am (TESTS): Delete references to depdemo-dups.test. * tests/depdemo-dups.test: Removed, as part of the patch reversion below. * ltmain.in: Revert my change from 2001-03-31. Although it was technically correct, it opens a whole can of worms we don't want to deal with right now. From Ahmed Masud <masud@googgun.com> * libltdl/ltdl.c (sys_shl_open): Return a NULL module handle for self opening. (sys_shl_close): Be careful not to close a NULL module handle. (sys_shl_sym): Allow shl_findsym() to open NULL modules, but discard the modified module address it returns. * libltdl/ltdl.c (lt_dlopen): When reading the .la file, reallocate the line buffer size if the line overflows the original buffer. Reported by Nick Hudson <skrll@netbsd.org> * NEWS (1.3d) Removed bogus ltconfig reference. 2001-04-03 Gary V. Vaughan <gary@gnu.org> * libtool.m4 (_LT_AC_LTCONFIG_HACK): Remove the spurious `dnl' from the help text of --with-pic. Reported by stefan <stefan@lkcc.org> 2001-04-02 Gary V. Vaughan <gary@gnu.org> * configure.in: bumped version to 1.3e. GNU libtool 1.3d was released. * NEWS: inserted todays date. 2001-04-01 Christoph Pfisterer <cp@chrisp.de> * libtool.m4: Fixed support for Darwin and Rhapsody. Now correctly hardcodes the library path and adds versioning. Other small fixes. * ltmain.in: Fixed special cases for libc and libm on Rhapsody and Darwin. One of them was misplaced. Added version_type case for Rhapsody and Darwin, named "darwin". 2001-03-31 Gary V. Vaughan <gary@gnu.org> * ltmain.in: Remove the code for stripping duplicate deplibs from libtool link lines -- duplicates are somtimes necessary to satisfy inter-library dependencies, and never cause link to fail even if they are spurious. * tests/depdemo-dups.test: New file. Make sure this bug doesn't creep back in again! * tests/Makefile.am (TESTS): Use the new test above. 2001-03-29 Edward M. Lee <tailbert@yahoo.com> * libtoolize.in: Check configure.ac and prefer configure.ac to configure.in. * libtoolize.in: change recommendation from AM_PROG_LIBTOOL to AC_PROG_LIBTOOL. * libtool.m4: Generate dll/import libraries for cygwin according to the following: libFOO.a (static lib), libFOO.dll.a (import lib), cygFOO-version.dll (dll). Update postinstall_cmds and postuninstall_cmds to reflect this. * ltmain.in: Generate installed .la files with dlnames set to ../bin/cygFOO-version.dll for normal dlls. dlls for modules remain with the .la file. * libltdl/ltdl.c: Use windows paths while calling LoadLibrary. 2001-03-16 Albert Chin <china@thewrittenword.com> * libtool.m4 (save_CPPFLAGS): Fix typo. 2001-03-13 Alexandre Oliva <aoliva@redhat.com> * libtool.m4 (lt_cv_compiler_c_o): Cache it. (lt_cv_compiler_o_lo): Likewise. 2001-03-09 Peter Eisentraut <peter_e@gmx.net> * ltmain.in (clean): Automatically remove $objdir (usually '.libs'). 2001-03-08 Gary V. Vaughan <gary@gnu.org> * ltconfig.in (library_names_spec): Undo latin-1 spaces I pasted in yesterday by mistake. 2001-03-07 Gary V. Vaughan <gary@gnu.org> From Tor Lillqvist <tml@iki.fi> * libtool.m4 (export_symbols): On Windows, if the export_symbols file (which has been passed to libtool with the -export-symbols command line switch) already is a .def file, use it as is. * libtool.m4 (library_names_spec): Using m4 quotes correctly this time around! From Tor Lillqvist <tml@iki.fi> * libtool.m4 (library_names_spec): Use an appropriate filename prefix for dlls -- lib for mingw; cyg for cygwin; pw for pw32. 2001-03-06 Alexandre Oliva <aoliva@redhat.com> * libtool.m4 (can_build_shared) [AIX 4.[01], GCC]: GCC up to 2.96 can't build shared libraries reliably. Disable them. * ltmain.in: When dropping dependencies of a -no-undefined library, give up on building a shared library. 2001-03-05 Akim Demaille <akim@epita.fr> * ltmain.sh: Don't quote the argument of case/esac and assignments. * libtool.m4: Likewise. 2001-03-03 Markus F.X.J. Oberhumer <markus@oberhumer.com>, Alexandre Oliva <oliva@lsd.ic.unicamp.br> * libtool.m4: Added explicit return type to all C functions. 2001-02-22 Gary Vaughan <gary@gnu.org> * NEWS: Updated. * doc/libtool.texi (Thread Safety in libltdl): New node describing the application the new MT API. * libltdl/ltdl.h: Prototypes. * libltdl/ltdl.c: Use these functions throughout the rest of the file to provide thread locking. (lt_dlmutex_register): New function to set callbacks for multi-threaded calls into libltdl. (lt_dl_mutex_lock): Type of a locking callback function. (lt_dl_mutex_lock): Type of an unlocking callback function. (lt_dl_mutex_seterror): Type of a callback function to save the last libltdl error message in thread local storage. (lt_dl_mutex_geterror): Type of a callback function to retrieve the last saved error message from thread local storage. 2001-02-20 Gary Vaughan <gary@gnu.org> * libltdl/ltdl.c (lt_dlcaller_register): dont set an unsigned type to a negative number. Reported by Guenter Millahn <Guenter.Millahn@Informatik.TU-Cottbus.DE> 2001-02-05 Gary V. Vaughan <gary@gnu.org> From Nick Hudson <skrll@netbsd.org> * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): netbsd* is able to automatically load module deplibs without assistance from libltdl. 2001-02-02 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.c (load_deplibs): Make sure the depcount is reset, even when deplibs are not used because of the patch below. * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): If we know that the host architecture automatically loads deplibs, then... * libltdl/ltdl.c (load_deplibs): ...don't manually load each one. 2001-01-31 Gary V. Vaughan <gary@gnu.org> * TODO: Updated. * libltdl/ltdl.c (load_deplibs): If loading a deplib fails, don't sweat -- it may be a lib that is already statically linked into the loading application. * libltdl/ltdl.c: Clean up the shadowing of the global handles variable. (LT_DLRESIDENT_FLAGS): Add extra parens to satisfy -Wall. (load_deplibs): Cast isspace() argument to an int to satisfy -Wall. 2001-01-30 Robert Boehne <rboehne@ricardo-us.com> * AUTHORS: added myself to the list of maintainers. 2001-01-28 Alexandre Oliva <aoliva@redhat.com> * libltdl/Makefile.am (CLEANFILES): Clean conditionally-built libraries. 2001-01-27 Alexandre Oliva <aoliva@redhat.com> * libtool.m4 (ld_shlibs) [aix4*]: Disable on unknown CPU types. 2001-01-07 Gary V. Vaughan <gary@gnu.org> * NEWS: Updated. * doc/libtool.texi (User defined module data): Updated. * libltdl/ltdl.c (lt_dlhandle_next): New function. * libltdl/ltdl.h (lt_dlhandle_next): Prototypes. 2001-01-05 Gary V. Vaughan <gary@gnu.org> * NEWS: Updated. * doc/libtool.texi (User defined module data): Document it all. * ltdl.m4: Check for memcpy, or else bcopy. * ltdl.c (lt_caller_data): New type. (lt_dl_handle_struct): Add an lt_caller_data field. (lt_dlcaller_register, lt_dlcaller_set_data, lt_dlcaller_get_data): New functions. (rpl_memcpy): A minimal fallback implementation. (rpl_realloc): A realloc implemented with lt_dlmalloc and lt_dlfree. (LT_DLMALLOC, LT_DLFREE, LT_DLREALLOC, LT_DLMEM_REASSIGN): New memory handling convenience macros. Use them appropriately throughout the rest of this file. * ltdl.h (lt_dlcaller_register, lt_dlcaller_set_data, lt_dlcaller_get_data): Prototyped. 2001-01-04 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.h: formatting change. 2000-12-23 Gary V. Vaughan <gary@gnu.org> From vvv@vsu.ru: * doc/fdl.texi (GNU Free Documentation License): contained @bye command which prevented part of document to be generated (indices, etc). * doc/libtool.texi (Dlpreopening): the @deftypevar did not contain a space after a type. 2000-12-22 Akim Demaille <akim@epita.fr> * libtool.m4: s/[ \t]*$// 2000-12-22 Aneesh Kumar K.V <kvaneesh@hotmail.com> * libtool.m4 (OSF/1): Revert my patch of 2000-12-16. 2000-12-20 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.c (lt_dlexit): Was checking for residency of the wrong module. Reported by Robert Boehne <rboehne@ricardo-us.com> * ltmain.in (dlprefiles): Now that `2000-12-15 Utz-Uwe Haus' patch below can detect preopened library deplibs correctly in libltdl, we need to ensure that libtool library deplibs are also preloaded into the binary for that phase to work. 2000-12-16 Aneesh Kumar K.V <kvaneesh@hotmail.com> * libtool.m4 (OSF/1): Change the way to pass linker flags through compiler on a Tru64 machine. 2000-12-16 Gary V. Vaughan <gary@gnu.org> * libtool.m4 (sys_lib_search_path_spec): Use test instead of `['. (archive_cmds): And another one. * libtool.m4 (darwin*): Fixed a pair of stupid typos I made in the last patch. * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): moved rogue settings from sequent, ncr and newos6 back into here from other macros. 2000-12-16 Wilfredo Sanchez <wsanchez@apple.com> * libtool.m4: (dyld/darwin*) Much improved port. * ltmain.in: (dyld/darwin*) Much improved port. 2000-12-16 Sascha Schumann <sascha@schumann.cx> * libtool.m4: Accept darwin as an alias for rhapsody. * ltmain.in: ditto. * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use the HPUX 10.20 methods to check for library dependencies on HPUX 11. 2000-12-16 Nick Hudson <skrll@netbsd.org> * libtool.m4 (netbsd*, deplibs_check_method): Enable ILD support for NetBSD a.out. 2000-12-15 Akim Demaille <akim@epita.fr> * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Rename `ac_cv_sys_global_symbol_pipe' as `lt_cv_sys_global_symbol_pipe'. Similarly with `lt_cv_global_symbol_to_cdecl (_LT_AC_LTCONFIG_HACK): Similarly with `ac_cv_prog_cc_pic', `ac_cv_prog_cc_shlib', `ac_cv_prog_cc_wl', `ac_cv_prog_cc_static', `ac_cv_prog_cc_no_builtin', `ac_cv_prog_cc_can_build_shared', `ac_cv_prog_cc_static_works', `ac_cv_archive_cmds_need_lc'. (AC_PATH_TOOL_PREFIX): Similarly with `ac_cv_path_MAGIC_CMD' (AC_PROG_LD) <ac_cv_path_LD>: Likewise. (AC_PROG_LD_GNU) <ac_cv_prog_gnu_ld>: Likewise. (AC_PROG_NM) <ac_cv_path_NM>: Likewise. 2000-12-15 Utz-Uwe Haus <haus@mail.math.uni-magdeburg.de> * libltdl/ltdl.c (lt_dlopen): Changed "dl_dependency_libs" keyword to "dependency_libs". 2000-12-14 Tod Milam <tmilam@traclabs.com> * libltdl/ltdl.c (lt_dlexit): Reset the loaders value to zero when the last module has been unloaded. 2000-12-14 Michael Schmitz <mschmitz@iname.com> * libtool.m4: Port to *-sni-sysv4 (Reliant Unix) * README: added Reliant Unix to hte list of supported platforms * doc/PLATFORMS: added note on tests on Reliant Unix 2000-12-14 Masahiro Nobori <nobori@ss.titech.ac.jp> * README: Updated. * NEWS: Updated. * libtool.m4: New port to NEWS-OS Release 6. 2000-12-14 Nick Hudson <skrll@netbsd.org> * libtool.m4 (hardcode_libdir_flag_spec): Remove linker specification for netbsd. 2000-12-14 Akim Demaille <akim@epita.fr> * libtool.m4: Don't depend on Autoconf internals: s/ac_cv_prog_gcc/GCC/. 2000-12-14 Gary V. Vaughan <gary@gnu.org> * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Don't empty out ac_cv_global_symbol_to_cdecl inside the loop, incase we need to go around again and try with underscore prefix. (_LT_AC_TRY_DLOPEN_SELF): On some hosts (cygwin for instance) self dlclosing unloads the main program and causes a SIGSEGV. So don't do it for now. 2000-12-05 Gary V. Vaughan <gary@gnu.org> Oh My! Cygwin support has bitrotted while I was looking the other way. This should fix it some: * libtool.m4 (extract_expsyms_cmds): There is a quoting problem with autoconf-2.13 that prevents [$]0 from expanding. Use shell quotes instead to delay eval of $0. (impgen.c) The '# ' sequence stripped by sed works again. 2000-12-01 Gary V. Vaughan <gary@gnu.org> * doc/libtool.texi (Libltdl interface): Add documentation. * libltdl/ltdl.h (lt_dlmakeresident, lt_dlisresident): Add prototypes. (LT_DLERROR_CLOSE_RESIDENT_MODULE): New error status. * libltdl/ltdl.c (lt_dlmakeresident, lt_dlisresident): Allow making and testing of resident module status, which prevents a module from being lt_dlclosed. (lt_dlopen): If lt_dlopen()ing self, make the module resident. (lt_dlclose): Return an error if the module is resident. * libtool.m4 (_LT_AC_LTCONFIG_HACK): Move the tests for dlopen from here... (AC_LIBTOOL_DLOPEN_SELF): ...to here. (_LT_AC_CHECK_DLFCN): Factor out repeated code for dlfcn.h (_LT_AC_TRY_DLOPEN_SELF): Factor out repeated code for checking dlopen status. * ltdl.m4 (AC_LIB_LTDL): Use _LT_AC_CHECK_DLFCN. dlopen compile time checking. Use _LT_AC_CHECK_DLFCN. (AC_LTDL_DLSYM_USCORE): Use _LT_AC_TRY_DLOPEN_SELF. 2000-11-29 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.h (lt_dlhandle): Rename the wrapped structure to prevent nameclash when used from C++. * libltdl/ltdl.c: Fixed all references. 2000-11-25 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.c (lt_dlopen): Change the default search order for modules. If the named module has no directory component, always start the search with the user_search_path directories, and then fall back on the current directory only if that fails. 2000-11-20 Gary V. Vaughan <gary@gnu.org> * libltdl/Makefile.am (libltdl_la_LDFLAGS): increment the version number to reflect the breakage of binary compatibility. * doc/libtool.texi (Libltdl interface): Document LT_NON_POSIX_NAMESPACE. * libltdl/ltdl.h (LT_POSIX_NAMESPACE): Deleted. The default is now to use this namespace, so the cpp macro is no longer necessary. 2000-11-20 Morten Eriksen <mortene@sim.no> * ltdl.m4 (AC_LIB_LTDL, AC_LTDL_SYMBOL_USCORE): Break a circular dependency between AC_LTDL_SYMBOL_USCORE and AC_LTDL_DLSYM_USCORE. 2000-11-20 Paul Berrevoets <paul@swi.com> * ltmain.in: Some versions of expr respond with "0" if a regexp fails to match. 2000-11-19 Paul Berrevoets <paul@swi.com> * libtool.m4 (_LT_AC_LTCONFIG_HACK): Quote the $ in $#, $2 and $3 in variable 'archive_expsym_cmds' for cygwin. 2000-11-19 Gary V. Vaughan <gary@gnu.org> * ltdl.c: Relegate non-POSIX-compliant symbols (e.g. those ending in ``_t'') to deprecated #define compatibility macros. Also ease up on the namespace pollution, so that only ``lt_'' and ``LT_'' prefixes are taken from the global namespace. * ltdl.h: ditto. 2000-11-17 Gary V. Vaughan <gary@gnu.org> * ltdl.c: Reformatted. * ltdl.h: ditto. 2000-11-11 Gary V. Vaughan <gary@gnu.org> * ltdl.m4 (AC_LTDL_SYMBOL_USCORE): Use $ac_ext for conftest sourcefile. * libtool.m4: Use $ac_ext and $ac_objext respectively for conftest sources and objects. Reported by Carlo Wood <carlo@alinoe.com> * doc/fdl.texi: New file. The license for distributing the libtool manual. * doc/libtool.texi: Reference the new license. 2000-10-31 Morten Eriksen <mortene@sim.no> * libtool.m4 (_LT_AC_LTCONFIG_HACK): Quote argument to avoid error output from cygpath when $srcdir is empty. 2000-10-31 Gary V. Vaughan <gary@gnu.org> * bootstrap: rm Makefiles to prevent infinite loop during configure when libtool.m4 is newer than Makefile. 2000-10-31 Akim Demaille <akim@epita.fr> * libtool.m4: Adjust the copyright notice. Quote all the macro names when defined. Some minor formatting changes. (AM_PROG_LIBTOOL, AM_ENABLE_SHARED, AM_ENABLE_STATIC) (AM_DISABLE_SHARED, AM_DISABLE_STATIC, AM_PROG_LD, AM_PROG_NM): Don't use indir when useless. Don't add trailing `dnl' either. 2000-10-30 Gary V. Vaughan <gary@gnu.org> * doc/libtool.texi: Corrected another attack of CRLF line endings. 2000-10-30 Ossama Othman <ossama@debian.org> * libtool.m4 (archive_expsym_cmds): Fix typo where line was broken in the middle of an expression. 2000-10-30 Aneesh Kumar K.V <kvaneesh@hotmail.com> * libtool.m4 (archive_expsym_cmds): Support for -export-symbol option on Tru64. (hardcode_libdir_flag_spec): Fixed cxx throwing error while using libtool. Done by passing -rpath directlty to the compiler. 2000-10-27 Robert Boehne <rboehne@ricardo-us.com> * docs/libtool.texi: Added pointers to documentation of Hewlett-Packard, Compaq Tru64 and IBM AIX systems. 2000-10-02 Gary V. Vaughan <gary@gnu.org> From Bruce Korb <bkorb@cruzio.com> * ltmain.in (execute_dlfiles): Reduce obfuscation. 2000-09-30 Alexandre Oliva <aoliva@redhat.com> * libtool.m4 [netbsd*] (deplibs_check_method, file_magic_cmd, file_magic_test_file): Removed inappropriate duplicate definitions; these variables are set in AC_DEPLIBS_CHECK_METHOD. * libtool.m4 (lt_cv_file_magic_cmd): Don't use '${MAGIC_CMD}' or '${OBJDUMP}'; Solaris' /bin/sh loses with `}' in cache files. (ac_cv_path_MAGIC_CMD): Renamed to lt_cv_path_MAGIC_CMD. 2000-09-28 Gary V. Vaughan <gary@gnu.org> * libtool.m4 (MAGIC_CMD): Don't use MAGIC, since BSD versions of the file command use this environment variable to hold the location of the magic database. Reported by Marc Espie <Marc.Espie@liafa.jussieu.fr> 2000-09-19 Gary V. Vaughan <gary@gnu.org> * doc/PLATFORMS: Updated. * demo/configure.in: Revert to the `libtool --features' test. * Makefile.am (libtool): This needs to rerun configure now that libtool is generated entirely by AC_PROG_LIBTOOL again. (ltconfig): Removed. (ltmain.sh): Is now regenerated when ltmain.in changes. * libtool.m4 (_LT_AC_LTCONFIG_HACK): Now does all of the work for generating libtool immediately in configure.in, rather than deferring part of the creation until config.status runs. 2000-09-17 Gary V. Vaughan <gary@gnu.org> * bootstrap: Backed out yesterdays patch which is no longer necessary. * Makefile.am (libtool): Reworked rule for regeneration of libtool, now that it is built entirely withing config.status. (libtoolize): Tidied for orthogonality with the other generation rules. (ltconfig): This is now generated by AC_PROG_LIBTOOL, called from make by running config.status --recheck. (ltmain.sh): Moved primary generation of this file into here... * configure.in (AC_OUTPUT): ...instead of here. * libtool.m4 (AC_OUTPUT_COMMANDS): Write the config to ltconfig where it can be reused, rather than directly to libtool. * demo/configure.in: libtool is no longer present immediately after AC_LIBTOOL_M4 has completed, so the tests now grep through ltconfig instead -- which *will* be present. 2000-09-16 Gary V. Vaughan <gary@gnu.org> * TODO: Removed the item describing the change below, and added a similar item to remind us to change the ltdl.m4 macros again when _LT_AC_LTCONFIG_HACK is divided into proper macros. * ltdl.m4 (AC_LTDL_SNARF_CONFIG): Removed. No longet required now that ltconfig has migrated to libtool.m4. (AC_LTDL_SHLIBEXT): Require _LT_AC_LTCONFIG_HACK. (AC_LTDL_SHLIBPATH): ditto. (AC_LTDL_SYSSEARCHPATH): ditto. * ltdl.m4 (AC_LTDL_DLPREOPEN): Require the libtool.m4 symbol_pipe macro. (AC_LTDL_SYMBOL_USCORE): ditto. (AC_LTDL_GLOBAL_SYMBOL_PIPE): Removed, since it is a duplicate of... * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): ...this new macro, extracted from _LT_AC_LTCONFIG_HACK. * ltdl.m4 (changequote): An audit of changequote and m4 quote usage -- all changequotes have been removed, and some latent unquoted `[' and `]' bugs have been fixed. * configure.in (AC_OUTPUT): ltmain.sh must be generated in the source tree since this is where it would be found in a freshly unrolled tarball. * configure.in: Replace `dnl' comments with `#' comments for more conformity with cvs autoconf. Removed emacs hack-local-variables, since there is now a proper Autoconf major mode. Removed a couple of changequote()s. * bootstrap (ltconfig): When bootstrapping libtool with a stock automake (i.e. without the README patch applied), references to ltconfig are manually removed from the generated Makefile.in files. 2000-09-15 Gary V. Vaughan <gary@gnu.org> * doc/libtool.texi: Removes references to ltconfig, and a small amount of tidying up to compensate. 2000-09-15 Nick Hudson <skrll@netbsd.org> * libtool.m4 (netbsd): Improved support. 2000-09-15 Gary V. Vaughan <gary@gnu.org> * ltmain.in (version_type): Use "-iface" as the windows versioning scheme, where iface is the number of the oldest interface supported. 2000-09-14 Gary V. Vaughan <gary@gnu.org> From Paul Sokolovsky <Paul.Sokolovsky@technologist.com> * libtool.m4 (pw32): Initial support for pw32, assuming that libtool's behaviour in this environment is identical to under cygwin. * ltmain.in (pw32): ditto. * NEWS: Updated. * libtool.m4 (changequote): An audit of changequote and m4 quote usage -- all changequotes (except a few with non-nesting square brackets) have been removed. * Makefile.am (EXTRA_DIST): The bootstrap script should be distributed with libtool. 2000-09-13 Gary V. Vaughan <gary@gnu.org> libtool.m4 (_LT_AC_LTCONFIG_HACK): Oh man! Third time lucky. I just discovered that '&' needs to be escaped inside AC_TRY_EVAL. 2000-09-12 Michael Matz <matz@ifh.de> * ltmain.in: Be careful about filenames with multiple `.'s in them when calculating file extensions. Reported by Joel Reed <jreed@support.ddiworld.com> 2000-09-12 Gary V. Vaughan <gary@gnu.org> libtool.m4 (AC_PROG_LIBTOOL): Removed, as it was triggering a bug in Autoconf-2.13 AC_REQUIRE implementation which inserted some of the expanded tests too early in the generaated configure. (_AC_PROG_LIBTOOL): renamed to AC_PROG_LIBTOOL, and defines itself to an empty expansion to prevent multiple expansions. configure.in (AC_LIBTOOL_SETUP): Replaced by a call to AC_PROG_LIBTOOL now that the AC_REQUIRE bug has been worked around. 2000-09-09 Gary V. Vaughan <gary@gnu.org> libtool.m4 (_LT_AC_LTCONFIG_HACK): Forgot to escape the redirections inside AC_TRY_EVAL in the need_lc tests. Doh! libtool.m4 (_LT_AC_LTCONFIG_HACK): Forgot to redirect the output of grep to /dev/null in the need_lc tests. configure.in (AC_PROG_LIBTOOL): Using this in libtools own configure.in interacts badly with the AC_PROVIDE calls and results in several tests being inserted into configure too early. Use AC_LIBTOOL_SETUP instead. 2000-09-08 Gary V. Vaughan <gary@gnu.org> libtool.m4 (_LT_AC_LTCONFIG_HACK): The ltconfig.in code I ported from ltconfig.in was incomplete -- this is a backport of the missing code taken from the multi-language branch. 2000-09-07 Pavel Roskin <proskin@gnu.org> * libtool.m4 (_LT_AC_LTCONFIG_HACK): Fixed incorrect use of changequote 2000-09-07 Gary V. Vaughan <gary@gnu.org> * NEWS: Updated. * TODO: Add a reminder to get rid of ltconfig in mlb. * README: Until things even out, I have added a note and a patch to make the installed automake cooperate with the new ltconfig free libtool. * libtool.m4 (_LT_AC_LTCONFIG_HACK): with_gcc is only useful in ltmain.sh as it has not yet been set in libtool.m4. Use $ac_cv_prog_gcc instead. * doc/PLATFORMS: Updated. * configure.in (AC_PROG_AWK): Removed -- no longer required by the build process. * lineno: ditto. * libtoolize.in (files): Don't try to install ltconfig -- it doesn't exist!! * bootstrap: Fake an ltconfig incase the installed automake calls an installed libtoolize (as part of its --add-missing process) which thinks ltconfig should be there. * libtool.m4 (_LT_AC_LTCONFIG_HACK): Deleted a vital `;;' terminator from a case statement by mistake. * Makefile.am (ltmain.sh): Make this depend on TSDEPS again so that the Changelog timestamp is used for ltmain.sh at `make dist' time. 2000-09-06 Gary V. Vaughan <gary@gnu.org> libtool.m4 now contains a version of the code that used to run from ltconfig, so that ltmain.sh and then libtool are generated at configure time. * Makefile.am: Don't generate ltmain.sh or ltconfig anymore. * bootstrap: ltconfig is no more! * configure.in: Call AC_PROG_LIBTOOL directly. (AC_OUTPUT): Generate tmain.sh. * libtool.m4: Don't build an argument list for ltconfig. (_LT_AC_LTCONFIG_HACK): Refactoring of the former contents of ltconfig.in to take advantage of the m4 macros from autoconf. * ltmain.in: Don't do a version check against ltconfig. * tests/assign.test: Remove reference to ltconfig. * tests/hardcode.test: ditto. * tests/sh.test: ditto. 2000-09-05 Alexandre Oliva <aoliva@redhat.com> * depdemo/main.c: Support -alt. * tests/build-relink2.test: Try it. * ltconfig.in: Removed all references to what used to be hardcode_into_libs=all. 2000-09-03's patch was wrong. * ltmain.in: Likewise. * tests/build-relink.test, tests/build-relink2.test: Adjust. * mdemo/Makefile.am (lib_LTLIBRARIES): Move libsub.la before libfoo2.la, so that they're installed in the right order. 2000-09-04 Alexandre Oliva <aoliva@redhat.com> * tests/dryrun.test: Build libsub.la along with the object files, since it is needed by libfoo2.la. * mdemo/Makefile.am: Mark only libfoo2 as -no-undefined. Explicitly link it with libsub.la. * ltconfig.in (need_lc): Preserve allow_undefined_flag. * tests/*.test (CONFIG_SITE): Ultrix's /bin/sh fails on `. /dev/null'. Set CONFIG_SITE to /dev/null/config/site, to make sure we pick a non-existent file. * Makefile.am (libtool, clibtool): Pass CONFIG_SHELL along with ECHO down to ltconfig. * ltconfig.in (hardcode_libdir_flag_spec, export_dynamic_flag_spec): Use ${wl}, not ${wlarc}. * ltmain.in (compile, need_lock): Don't create nor remove lock files in dry runs. * libltdl/ltdl.c (load_deplibs): Don't append shlib_ext; use lt_dlopenext() instead. * ltmain.in (link -static): Don't add $link_static_flag; only -all-static should do that. * mdemo/configure.in: Revert part of the previous delta. * mdemo/configure.in: Don't use -static on AIX4.1. * mdemo/Makefile.am: Likewise. 2000-09-03 Alexandre Oliva <aoliva@redhat.com> * ltconfig.in: Get rid of hardcode_into_libs=all; use hardcode_into_libs=yes && shlibpath_overrides_runpath!=yes instead. [FreeBSD 3.[01]] (shlibpath_overrides_runpath): Set to no. * ltmain.in: Likewise. * tests/build-relink.test, tests/build-relink2.test: Adjust. * libtool.m4: Fix typo I introduced in yesterday's patch. * libltdl/ltdl.c (lt_dlopen): Set dlname from library_names if dlname is empty. * ltdl.m4 (HAVE_LIBDL): Look for dlopen in -lsvld. * ltconfig.in: Likewise. * tests/mdemo-exec.test: Modify failure message. * ltmain.in (newdlprefiles): Use dlname if it's available and old_library isn't; use linklib only if dlname is not available. * ltconfig.in (enable_dlopen): Set to no when lt_cv_dlopen is no. * libtool.m4: Don't quote CONFIG_SHELL nor ORIGINAL_CONFIG_SHELL. Quote $@ properly so that the shell expands it, not m4. * libtool.m4: Don't quote SHELL when `re-exec'ing, so that SHELL can be `/path/to/shell -x'. * tests/quote.test: Move the match test out of case statements, to work around bug in /bin/sh of several OSs. * ltmain.in (variables_saved_for_relink): Attempt to unset them instead of setting them to an empty string. 2000-09-02 Alexandre Oliva <aoliva@redhat.com> * ltconfig.in [with_gnu_ld] (archive_cmds, archive_expsym_cmds) <solaris*, sysv5*, beos*>: Use compiler_flags instead of linker flags. Reported by Alex Hornby <alex@anvil.co.uk> 2000-09-02 Makoto Ishisone <ishisone@sra.co.jp> * libtool.m4 (lt_cv_deplibs_check_method, freebsd): Fix typo, add support for compact format library. 2000-09-02 Alexandre Oliva <aoliva@redhat.com> * ltdl.m4: Oops, I had forgotten to commit this part of Syd Polk's patch from 2000-06-17. 2000-09-02 Tom Kacvinsky <tjk@ams.org>, Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu> * libtool.m4: Ignore Tru64's nm's complaint. 2000-09-02 Pavel Roskin <proski@gnu.org> * ltconfig.in: only load $cache_file if it's a regular file 2000-09-02 Assar Westerlund <assar@sics.se> * ltconfig.in: Add back ranlib calls for static libraries if there is a ranlib. 2000-08-31 Gary V. Vaughan <gary@gnu.org> Move the echo detection code to a macro in libtool.m4. The code at the top ofltconfig.in is ugly, but will go away when the rest of ltconfig is migrated. * Makefile.am (libtool): Pass the value of $ECHO to ltconfig as an environment variable. * libtool.m4 (_LT_AC_PROG_ECHO_BACKSLASH): Quote the ECHO value correctly so that it inserts the correct code into configure.in suitably quoted for M4 expansion. This code needs to be near the top of configure.in as it calls itself recursively, so I am using AC_DIVERSION_NOTICE (or simply NOTICE on CVS Autoconf). The value of ECHO is also substitued into the Makefile to be used when Make calls ltconfig to generate libtool, so another layer of quotation is required for the Makefile. (AC_LIBTOOL_SETUP): Use it. * ltconfig.in: Accept a value for ECHO from the environment, and carefully substitue for $0 if it is present in the ECHO value. Because ECHO was quoted for Make, when ltconfig is called by configure, it is overquoted, and one layer of quotes must be stripped. 2000-08-27 Gary V. Vaughan <gary@gnu.org> * ltconfig.in (with_gcc): Make the value of this option available to the generated libtool script. * ltmain.in (compile_command, finalize_command): The native C and C++ compilers on IRIX require the -LANG:std in order to to compile correctly. The same options should _not_ be passed through to gcc on IRIX, or at all on other architectures for backwards compatibility (among others). Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us> Reported by Albert Chin-A-Young <china@thewrittenword.com> 2000-08-26 Gary V. Vaughan <gary@gnu.org> * ltconfig.in (old_reload_flag): typo. 2000-08-01 Alexandre Oliva <oliva@lsd.ic.unicamp.br> * ltmain.in (shtool): Use echo|grep instead of expr, as in the original patch. 2000-08-01 Alexandre Oliva <aoliva@redhat.com> * ltconfig.in (need_lc): Fix test message. 2000-07-24 Mocha <netbsd_alpha@yahoo.com> * ltconfig.in (NetBSD, deplibs_check_method): Use file_magic. (NetBSD, file_magic_cmd, file_magic_test_file): Set. 2000-07-24 Alexandre Oliva <oliva@lsd.ic.unicamp.br>, David Kaelbling <drk@orchietta.hudson.sgi.com> * ltmain.in (irix, major): Prepend a `.'. * ltconfig.in (irix, soname_spec, library_names_spec): Adjust. 2000-07-24 Alexandre Oliva <oliva@lsd.ic.unicamp.br>, Ralf S. Engelschall <rse@engelschall.com> * ltmain.in: Support GNU shtool's install. 2000-07-24 Alexandre Oliva <oliva@lsd.ic.unicamp.br> * ltconfig.in (linkopts): Don't set for test. 2000-07-24 Nick Hudson <skrll@netbsd.org> * ltconfig.in (linkopts): Replace with linker_flags. * ltmain.in (ILD): Fix addition of deplibs in relink case. 2000-07-18 H.J. Lu <hjl@gnu.org> * ltconfig.in: Check if -lc is necessary for building shared library. Set build_libtool_need_lc to indicate it. * ltmain.in: Add -lc when building shared library only if necessary. 2000-07-10 Mo DeJong <mdejong@redhat.com> * libtool.m4 (AC_PROG_NM): Fix macro so that it finds a cross NM on the PATH. 2000-07-10 Ken Block <block@zk3.dec.com> * libltdl/ltdl.h: Also check for __cplusplus, __STDC__ is not by Compaq C++ compiler 2000-07-10 Alexandre Oliva <aoliva@lsd.ic.unicamp.br> * ltconfig.in (wlarc, netbsd, aout): Set to empty. (hardcode_dynamic_flag_spec, export_dynamic_flag_spec): Use it. * ltconfig.in (dynamic_linker, linux, powerpc): Do not disable shared libraries just because of MkLinux. * libtool.m4 (lt_cv_deplibs_check_method, freebsd): Do not depend on $version_type; check for ELF support as in other BSDs. 2000-06-17 Syd Polk <spolk@redhat.com> * libtool.m4 (AC_LIBTOOL_SETUP): Do not generate a libtool based on target; use host instead. 2000-05-30 Gary V. Vaughan <gary@gnu.org> * ltconfig.in (ORIGINAL_CONFIG_SHELL): Prevent lossage when the echo probing code falls into this branch without setting this variable. * ltconfig.in (netbsd*): archive_cmds and archive_expsym_cmds were reversed with respect to definition of __ELF__. From Keisuke Inoue <keisuke@csl.sony.co.jp> 2000-05-29 Gary V. Vaughan <gary@gnu.org> * libtool.m4 (netbsd*): Use -L option to file_magic_cmd as for freebsd (below). * libtool.m4 (netbsd ELF): support file_magic. From Dan Winship <danw@helixcode.com>. 2000-05-29 Steven M. Schultz <sms@moe.2bsd.com> * libtool.m4 (bsdi4*): Add -L option to bsdi4's file_magic_cmd command. Under BSD/OS 4.1 several libraries are now symlinks rather than regular files. Adding -L tells the file program to follow the symlink. 2000-05-29 Gary V. Vaughan <gary@gnu.org> * libtool.m4 (i*86-*-freebsd*): Forgot to changequote(,). * NEWS: Updated. * libtool.m4 (i*86-*-freebsd*): Support a.out shared libs. From <suzukis@file.phys.tohoku.ac.jp> 2000-05-29 Fred Fish <fnf@be.com> Support AR=mwld AR_FLAGS='-xml -o' for PPC Beos. * ltconfig (old_AR_FLAGS): Add. (old_archive_cmds): Use AR_FLAGS rather than hardcoding "cru". (archive_cmds): Use AR_FLAGS rather than hardcoding "cru". (AR_FLAGS): Default to "cru" if not set. 2000-05-29 Gary V. Vaughan <gary@gnu.org> * ltconfig.in (echo): The following code actually prints the double quotes -- so I removed them: echo='printf "%s\n"' /bin/ksh -c '$echo \\t' From Tuukka Toivonen <tutoivon@mail.student.oulu.fi> * NEWS: Updated. 2000-05-29 Bernhard Rosenkraenzer <bero@redhat.de> * libtool.m4: adding ia64 as supported linux platform 2000-05-29 Michael Matz <matz@ifh.de> * ltmain.in: fix quoting for $var_value. * ltconfig.in: check for dlfcn.h: include return value to make -Wall in CFLAGS work. 2000-05-27 Gary V. Vaughan <gary@gnu.org> * README-alpha: note new location of config.(guess|sub). 2000-05-27 Chad Cunningham <ccunning@math.ohio-state.edu> * ltconfig.in (rhapsody*): New Port. * ltmain.in (rhapsody*): ditto. 2000-05-27 Chris Lattner <sabre@skylab.org> * ltconfig.in (*-sequent-sysv4): New Port. 2000-05-17 Gary V. Vaughan <gary@gnu.org> * ltmain.in: cygwin-1.1.0 and higher no longer grok backslash path separators. 2000-05-14 Alexandre Oliva <oliva@lsd.ic.unicamp.br> * libtool.m4 (AC_LIBLTDL_CONVENIENCE, AC_LIBLTDL_INSTALLABLE): Pick LIBLTLD from top_builddir and INCLTDL from top_srcdir. * mdemo/configure.in: Remove comments on AC_LIBLTLD_CONVENIENCE. * libtool.m4 (_AC_PROG_LIBTOOL): Renamed from... (AC_PROG_LIBTOOL): Just AC_REQUIRE(_AC_PROG_LIBTOOL), to avoid effects of multiple runs. 2000-05-11 Thomas Tanner <tanner@ffii.org> * NEWS: update * doc/libtool.texi (libltdl): rename lt_(find|next|add|remove)_dlloader to lt_dlloader_* * libltdl/ltdl.c: ditto * libltdl/ltdl.h: ditto, add declaration of lt_dlloader_(find|remove) 2000-05-06 Pavel Roskin <pavel_roskin@geocities.com> * libltdl/ltdl.c: Typo. * libtool.m4 (AC_LIBTOOL_SETUP): CVS autoconf no longer sets target to "NONE", but to an empty string. 2000-05-05 Paul Sokolovsky <Paul.Sokolovsky@technologist.com> * ltdl.c: support lt_dlopen(0) for win32 2000-05-03 Thomas Tanner <tanner@ffii.org> * doc/libtool.texi (libltdl): fix typos, INCLTDL starts with top_srcdir, replace NULL with @code{NULL} * ltmain.in (ILD): search in newlib_search_path, too * ltmain.in (ILD): fix bugs in conv pass, expand convenience libs to deplibs and link them later on * ltmain.in (ILD): don't allow convenience libs to be -dlopen/preopen'ed * ltmain.in (ILD): it's not required to link all deplibs in fast-install mode * ltmain.in (ILD): if hardcode_into_libs=all, only relink a library if it is linked against uninstalled libtool libraries, rename link_against_libtool_libs to uninst_deplibs * ltmain.in (ILD): tidy up, add some comments 2000-05-03 John Wehle (john@feith.com) * libtool.m4 (hpux10.20*): use file_magic for inter-library dependency tracking. 2000-05-02 Gary V. Vaughan <gary@gnu.org> * AUTHORS: Update my email address. * commit: ditto. 2000-04-11 Thomas Tanner <tanner@ffii.org> * NEWS: update * libtool.m4: add AC_LIBTOOL_PICMODE * ltconfig.in: move pic_mode checks to ltmain.in * ltmain.in: add -prefer-pic and -prefer-non-pic 2000-03-29 Alexandre Oliva <oliva@lsd.ic.unicamp.br> * ltmain.in (tmpdir): Do not accept an existing directory, and force its mode to 700, for security reasons. Reported by Joseph S. Myers <jsm28@cam.ac.uk> 2000-03-27 Thomas Tanner <tanner@ffii.org> * NEWS: reformatting * ltmain.in (ILD): add extra convenience library scanning pass * ltmain.in (ILD): accept -R flags for libraries, too * ltmain.in (ILD): correclty merge the dlpreopened libraries with deplibs * ltmain.in (install mode): remove directories from filenames before relinking (reported by Elrond <Elrond@Wunder-Nett.org>) * doc/libtool.texi (libltdl): rename Library -> Lesser, clarify exception clause * libltdl/ltdl.c, libltdl.h (License): ditto 2000-03-21 Alexandre Oliva <oliva@lsd.ic.unicamp.br> * ltconfig.in (variables_saved_for_relink): Set to `PATH $shlibpath_var $runpath_var'. If with_gcc, add gcc-related environment variables. Add it to the configuration section. * ltmain.in (relink_command): Expand those variables. 2000-03-14 Christopher A. Knight <chriskn@crt.com> * ltconfig.in: added main() definition in compile check for header `dlfcn.h' to fix link errors when built with Sun Workshop Pro CC 4.2 (and perhaps others). 2000-02-03 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.c (lt_find_dlhandle): Deleted. This was B.S. far cleaner to use lt_dlforeach and lt_dlgetinfo. * libltdl/ltdl.h: Prototype deleted. * doc/libtool.texi: Documentation deleted. * NEWS: annoncement deleted. 2000-02-23 Thomas Tanner <tanner@ffii.org> * ltmain.in: remove duplicates from deplibs, handle interdependent libraries (e.g. -la -lb -la), this requires adding deplibs in reverse order * ltmain.in: link dlpreopened libraries before other libraries (reported by Pavel Roskin) * mdemo/Makefile.am: build and link libsub.la * mdemo/sub.c: new file used by both dlopened modules * mdemo/foo*: use sub() defined in libsub * tests/dryrun.test: build libsub.la * mdemo/Makefile.am: always link mdemo.static with -static * mdemo/configure.in: ditto * ltmain.in: fix dlopen/dlpreopening of objects * ltmain.in (ILD): fix misplaced `continue' in -R* argument handler * ltmain.in: merge duplicated code of clean and uninstall mode * libtool.m4: recognize powerpc*linux* (reported by Dirk A. Mueller <dmuell@gmx.net>) 2000-02-23 Gary V. Vaughan <gary@gnu.org> * ltconfig.in (old_MAGIC, old_STRIP, old_reload_flag, old_deplibs_check_method, old_file_magic_cmd): New variabes. Treat these as old_CC etc. (STRIP, MAGIC): Create and set these variables in the generated libtool script. Reported by Pavel Roskin <pavel_rosin@geocities.com> * configure.in: Due to a bug in autoconf-2.13 implementation of AC_SUBST, `AC_SUBST(FILE)' can never work. Use MAGIC as the holder of the command to run in file_magic_cmd instead. * ltconfig.in: s/FILE/MAGIC/g. * libtool.m4 (AC_PROG_LIBTOOL): set MAGIC in the environment when calling ltconfig. (AC_PATH_MAGIC): renamed from AC_PATH_FILE. (AC_PATH_TOOL_PREFIX): s/FILE/MAGIC/g. Also set file_magic_cmd to '${MAGIC}' so that make can grok it. * Makefile.am (libtool): (clibtool): ditto. 2000-02-21 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.c (lt_find_dlhandle): New function. (tryall_dlopen): Use it. * libltdl/ltdl.h: Prototype it. * doc/libtool.texi: Document it. * NEWS: updated. * libltdl/ltdl.c (lt_dlinit): removed unused variable, `loader'. * libltdl/ltdl.c (lt_remove_dlloader): typo, s/=/==/g. 2000-02-03 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.h (lt_dlloader_data_t): New type for loader instance data. (lt_user_dlloader): New lt_dlloader_data_t field. (lt_module_open_t): Add lt_dlloader_data_t parameter. (lt_module_close_t): Add lt_dlloader_data_t parameter. (lt_find_sym_t): Add lt_dlloader_data_t parameter. (lt_dlloader_exit_t): Add lt_dlloader_data_t parameter. * libltdl/ltdl.c: A sprinkling of /*ARGSUSED*/ markers to reassure lint that the unused arguments are intentional. (lt_dlloader_t): New lt_dlloader_data_t field. (lt_dlloader_data): New function to return the contents of the dlloader_data field. (sys_dl_open): Take an additional lt_dlloader_data_t argument. (sys_dl_close): Ditto. (sys_dl_sym): Ditto. (sys_dl): Initialise lt_dlloader_data_t field. (sys_shl_open, sys_shl_close, sys_shl_sym, sys_shl): As above. (sys_wll_open, sys_wll_close, sys_wll_sym, sys_wll): As above. (sys_bedl_open, sys_bedl_close, sys_bedl_sym, sys_bedl): As above. (sys_dld_open, sys_dld_close, sys_dld_sym, sys_dld): As above. (presym_init, presym_exit, presym_open, presym_close, presym_sym, presym): As above. (lt_dlinit): Call presym_init with additional argument. (lt_dlexit): Call dlloader_exit method with additional argument. (tryall_dlopen): Call module_open method with additional argument. (lt_dlclose): Call module_close method with additional argument. (lt_dlsym): Call find_sym method with additional argument. (lt_add_dlloader): Initialise dlloader_data field. (lt_remove_dlloader): Call dlloader_exit method with additional argument. * libltdl/ltdl.c (find_file): Prevent early release of memory in filename/*pdir. From Jon Leichter <jon@symas.com> (sys_wll_init): Deleted. No longer required. And this time, with feeling! (sys_wll_exit): Ditto. 2000-02-02 Gary V. Vaughan <gary@gnu.org> * NEWS: updated. * doc/libtool.texi (Libltdl interface): Moved user defined module loader documentation from here... (Module loaders for libltdl) ...to here, and updated the text and added examples. * ltdl.m4 (AC_CHECK_FUNCS): check strcmp for lt_find_dlloader. * libltdl/ltdl.h: Reformatted and commented for readability. (struct lt_user_dlloader): New data type for passing initialisation pointers to lt_add_dlloader. (LTDL_ERROR_INVALID_LOADER): New error message when non loader handles are passed to the user loader API. (LTDL_ERROR_INIT_LOADER): New error when loader initialisation fails. (LTDL_ERROR_REMOVE_LOADER): New error when loader removal fails. (lt_module_open_t): renamed from lt_lib_open_t. (lt_module_close_t): renamed from lt_lib_close_t. (lt_dlloader_exit_t): renamed from lt_dlloader_exit_t. * libltdl/ltdl.c: Reordered builtin loaders so that the "dld" loader no longer occurs before "dlopen" on some platforms and after it on others. (lt_dlloader_t): Moved here from ltdl.h, added a field, "loader_name", for identifying the loader, and renamed from lt_dltype_t. Renamed type variables to loader IFF of type lt_dlloader_t. (lt_module_t): Renamed from lt_syshandle. Renamed handle variables to module IFF of type lt_module_t. (LTDL_TYPE_TOP): Deleted. No longer required. (sys_dl): Initialised as a struct lt_user_dlloader. (sys_dl_init): Deleted. No longer required. (sys_dl_exit): Ditto. (sys_shl): Initialised as a struct lt_user_dlloader. (sys_shl_init): Deleted. No longer required. (sys_shl_exit): Ditto. (sys_wll): Initialised as a struct lt_user_dlloader. (sys_wll_init): Deleted. No longer required. (sys_wll_exit): Ditto. (sys_bedl): Initialised as a struct lt_user_dlloader. (sys_bedl_init): Deleted. No longer required. (sys_bedl_exit): Ditto. (sys_dld): Initialised as a struct lt_user_dlloader. (sys_dld_init): Deleted. No longer required. (sys_dld_exit): Ditto. (sys_presym): Initialised as a struct lt_user_dlloader. (lt_mod_init_t): Moved to here from ltdl.h. (lt_dlinit): Add builtin loaders using the user loader API. (lt_dlexit): Unregister and free all loaders. (lt_add_dlloader): New function to add a new module loader after the loader specified in the argument. (lt_remove_dlloader): New function to remove a module loader. (lt_next_dlloader): New function for iterating over module loaders. (lt_dlloader_name): Accessor function for name of dlloader. (lt_find_dlloader): New function to get a reference to a registered module loader. (strcmp): static implementation incase the host has none. (lt_dlgettypes, lt_dlsettypes): Removed. 2000-02-02 Thomas Tanner <tanner@ffii.org> * libltdl/ltdl.c: replace NULL with 0, remove unused system and app_private pointers from lt_dlhandle_t * libltdl/ltdl.c (presym_add_list): new preloaded symbols don't need to be added to the end * libltdl/ltdl.c (lt_dlgetdata, lt_dlsetdata): removed * libltdl/ltdl.h: ditto * doc/libtool.texi (libltdl interface): ditto 2000-02-01 Thomas Tanner <tanner@ffii.org> * ltmain.in: support -dlopen/dlpreopen for libraries * NEWS: updated * TODO: updated * ltmain.in: rename dlopen to dlopen_support * ltconfig.in: ditto * doc/libtool.texi: ditto * ltmain.in: check whether libraries are moved out of $libdir, replace .a and .lib with .$libext, .o and .obj with .$objext 2000-01-31 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.h (lt_dlrealloc): removed declaration. * libltdl/ltdl.c (lt_dlrealloc): removed definition. (lt_dladderror): Instead of calling lt_dlrealloc, use lt_dlmalloc, and lt_dlfree. 2000-01-30 Ossama Othman <ossama@debian.org> * libtool.m4 (lt_cv_cc_needs_belf): Set the test language to C prior to executing the test that checks if the C compiler needs "-belf." Reported by Chris Butler <chrisb@sandy.force9.co.uk> 2000-01-28 Gary V. Vaughan <gary@gnu.org> * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use changequote to protect `[' and `]' in deplibs_check_method. * libltdl/ltdl.h (lt_dlrealloc): Added declaration. * libltdl/ltdl.c (lt_dlrealloc): Added default definition. * libltdl/ltdl.c (lt_dlseterror): Catch errorcodes below 0 as invalid. * libltdl/ltdl.h (LTDL_ERROR): Added missing '_' in K&R definition. * libltdl/ltdl.h (ltdl_error_table): Added missing error code, and fixed typo in another code. * doc/libtool.texi (Libltdl interface): Added missing @end clause. 2000-01-27 Thomas Tanner <tanner@ffii.org> * ltconfig.in: Oops, replace the remaining $objdir's * ltmain.in: merge library linking code of programs and libraries, some cleanups 2000-01-27 Gary V. Vaughan <gary@gnu.org> * NEWS: Updated. * doc/libtool.texi (Libltdl interface): Document new entry points. * libltdl/ltdl.c (lt_dladderror): New function to add a user defined error message to the tables used by lt_dlerror(). (lt_dlseterror): New function to allow setting of last_error by user modules. (ltdl_error_strings): New preprocessor generated table of internal error diagnostic strings. (user_error_strings): New internal list of registered user error diagnostic strings. (throughout!): Use error messages from ltdl_error_strings. * libltdl/ltdl.h (ltdl_error_table): New macro to tabulate internal diagnostic error strings alongside enum keys. * NEWS: Updated. * doc/libtool.texi (Libltdl interface): Document new entry points. * libltdl/ltdl.c (lt_dltype_t): Use new type definitions for existing fields. (lt_dladdtype): New function to add a new ltdl dynamic loader type to the end of the list of valid types.. (lt_dlgettypes): New function to return the complete list of ltdl dynamic loader types. (lt_dlsettypes): New function to replace the list of ltdl dynamic loader types entirely -- e.g. to prepend a new type to the existing list. (sys_dl_open, sys_dl_close, sys_dl_sym): Work with lt_syshandle. (sys_shl_open, sys_shl_close, sys_shl_sym): ditto. (sys_dld_open, sys_dld_close, sys_dld_sym): ditto. (sys_wll_open, sys_wll_close, sys_wll_sym): ditto. (sys_bedl_open, sys_bedl_close, sys_bedl_sym): ditto. (presym_open, presym_close, presym_sym): ditto. (tryall_dlopen): Call lt_lib_open_t functions lt_syshandle compatibly. (lt_dlclose): Call lt_lib_close_t functions lt_syshandle compatibly. (lt_dlsym): Call lt_find_sym_t functions lt_syshandle compatibly. (lt_dltype_t): moved type declaration from here... * libltdl/ltdl.h (lt_dltype_t): ...to here. (lt_syshandle): new type for low level system handles passed by loader functions (lt_mod_init_t): New type for functions implementing the initialisation for an ltdl dynamic loader. (lt_mod_exit_t): Type of exit functions for the same. (lt_lib_open_t): Type of loader functions for the same. (lt_lib_close_t): Type of unloader functions for the same. (lt_find_sym_t): Type of symbol resolver functions for the same. * libltdl/ltdl.c (sys_dl_init, sys_dl_exit, sys_dl_open, sys_dl_close, sys_dl_sym): Preprocess these away on cygwin to avoid spurious error messages. 2000-01-24 Thomas Tanner <tanner@ffii.org> fix severe bugs reported by Elrond <Elrond@Wunder-Nett.org> * ltconfig.in: replace $objdir with $output_objdir * ltmain.in: change to the builddir before relinking programs * ltmain.in, ltconfig.in, libtool.m4, ltdl.m4: remove unnessary spaces from line endings 2000-01-19 Thomas Tanner <tanner@ffii.org> * ltmain.in: rewrite of the ILD code, merge linking code for programs, libraries and objects, allow linking of shared libraries against static libraries/objects on platforms that support it but print a warning, fix some typos * partially revert my previous change and update only copyright notices of files that were actually modified * NEWS: update * libltdl/Makefile.am: version number was wrong * libltdl/ltdl.c (tryall_dlopen): revert Gary's change since it breaks dlpreopening * ltdl.m4: ditto * libltdl/ltdl.c (sys_search_path): search in the system default library search path, too * ltdl.m4 (AC_LTDL_SYSSEARCHPATH): extract the path * libltdl/ltdl.c (find_module): remove bogus file_not_found_error * libltdl/ltdl.c (load_deplibs): implement loading of dependency libraries * libltdl/ltdl.c (unload_deplibs): implement unloading of dependency libraries * libltdl/ltdl.c (lt_dlexit): correctly close all modules and their dependencies * libltdl/ltdl.c (lt_dlforeach): new function * libltdl/ltdl.h: ditto * doc/libtool.texi (using libltdl): document it * libtool.m4: reformatting, only add -I$topsrc_dir/libltdl to INCLTDL * libtoolize.in: reformatting * ltconfig.in: reformatting * ltmain.in: reformatting * mdemo/configure.in: AC_SUBST INCLTDL * mdemo/Makefile.am: use INCLTDL * tests/Makefile.am: reexport OBJEXT and EXEEXT * tests/dryrun.test: use them for building main.obj and mdemo.exe 2000-01-17 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.c (tryall_dlopen): Abort with file_not_found_error before trying all lib_open() methods if the file to be dlopened doesn't exist. * ltdl.m4 (AC_HAVE_HEADERS): add unistd.h. 2000-01-16 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.c (find_file): memory error fixed. 2000-01-14 Gary V. Vaughan <gary@gnu.org> * ltconfig.in (Usage): Now it matches the code! Reported by Jon Leichter <jon@symas.com> * README: Some notes about libtool release numbers. * mdemo/README: Explain the deliberate incompleteness of the Windows port. * mdemo/configure.in: Use AC_LIBTOOL_WIN32_DLL. * mdemo/Makefile.am (LDFLAGS): Add -no-undefined. * libltdl/ltdl.h (LTDL_STMT_START, LTDL_STMT_END): Macros for wrapping other macros to make a portable compound statement from multiple C statements in the expansion. (LTDL_SET_PRELOADED_SYMBOLS): Use the above macros to add an extern declaration for lt_preloaded_symbols, to remove dependency on undefined symbol from libltdl.dll on cygwin (and other -no-undefined architectures). * libltdl/ltdl.c (lt_preloaded_symbols): No longer defined here. * libtool,m4 (AC_LIBTOOL_SETUP): The result of lt_cv_need_dllmain was set to the opposite of what it should be. * configure.in (AC_LIBTOOL_WIN32_DLL): Call to this macro is required for libtool configury to test lt_cv_need_dllmain on Windows. * ltconfig.in (opt_cr, mingw*): replace unescaped ? with correctly escaped and portable \{0,1\} in sed expression. From Jon Leichter <jon@symas.com> 2000-01-13 Gary V. Vaughan <gary@gnu.org> * libtool.m4 (AC_LIBLTDL_CONVENIENCE): Add -I${top_srcdir}/libltdl to default INCLTDL for VPATH. (AC_LIBLTDL_INSTALLABLE): ditto. Reported by Tom Tromey <tromey@cygnus.com> 2000-01-12 Thomas Tanner <tanner@ffii.org> * update all copyright notices to 2000 * doc/libtool.texi (using libltdl): document new lt_dlinfo struct, replace NULL with @code{NULL}, document lt_dlsetdata(), lt_dlgetdata() and lt_dlgetinfo() * libltdl/Makefile.am: increment interface version number * libltdl/configure.in: set version number to 1.1 * libltdl/ltdl.c: make some variables public by moving them to the info struct, add support for application specific data within module handles, new lt_dlsetdata(), lt_dlgetdata() and lt_dlgetinfo() functions, fix memory leaks, minor cleanups * libltdl/ltdl.h: ditto * mdemo/main.c: demonstrate use of lt_dlgetinfo, improved handling of errors * ltconfig.in: set hardcode_into_libs = yes for GNU/Hurd, Linux and Solaris, only hardcode *all* run-paths if hardcode_into_libs is set to 'all', otherwise hardcode only user-specified rpaths into libraries * ltmain.in: minor cleanups, we don't need to add user-specified rpaths to compile_rpath, finalize_rpath is sufficient * ltconfig.in: transform linux* -> *linux-gnu* _after_ host_os has been set! (reported by Bruno Haible <haible@ilog.fr>) * configure.in: AC_SUBST reload_flag, deplibs_check_method and file_magic_cmd * README: use 'libtool --version' instead of 'ltconfig --version' (suggested by Francios Pinard <pinard@iro.umontreal.ca> 2000-01-10 Gary V. Vaughan <gary@gnu.org> * libltdl/ltdl.h (LTDL_DIRSEP_CHAR): Leave undefined when not compiling for a Windows target. * libltdl/ltdl.c (canonicalize_path): New function to ensure internal paths use '/' directory separators. (find_file): use canonicalize_path. Memory management changed to cope. (lt_dlopen): ditto. (free_vars): Removed `dir' and `name', which are now handled internally. * libltdl/ltdl.h (LTDL_DIRSEP_CHAR): Define to '/' or '\\', as suitable for the target host. (LTDL_PATHSEP_CHAR): Similarly with ':' or ';'. * libltdl/ltdl.c: Use LTDL_DIRSEP_CHAR and LTDL_PATHSEP_CHAR instead of hardcoding throughout. Reported by Jon Leichter <jon@symas.com> 1999-12-18 Alexandre Oliva <oliva@lsd.ic.unicamp.br> * ltmain.in: Oops, `largarg' -> `lastarg'. * ltmain.in (-Wc, -Xcompiler): Implemented in compile mode. * ltmain.in (-Xcompiler, -Xlinker): Add to compile_command and finalize_command. (-Wc, -Wl): Likewise. * tests/quote.test: Adjust quoting style of -Wl. * ltmain.in: Oops, `echo' -> `$echo'. * ltmain.in (-Wl, -Wc): Make commas argument separators, just like in gcc. * ltmain.in (libtool_args): Get all arguments properly enclosed in quotes and backslash-protected when needed. 1999-12-16 Alexandre Oliva <oliva@lsd.ic.unicamp.br> * ltdl.m4: Renamed from... * libltdl/ltdl.m4: that no longer exists. * configure.in (ACINCLUDE_M4_LIST): Removed libltdl/acinclude.m4. * Makefile.am (aclocal_macros): Added ltdl.m4. (libltdl/acinclude.m4): Concatenate libtool.m4 and ltdl.m4. * bootstrap: Likewise. * libltdl/Makefile.am (ACLOCAL): Remove the definition. Relying upon -I may lead to duplicates. * doc/libtool.texi: Suggest appending ltdl.m4 to acinclude.m4. * libtoolize.in: Check AC_LIB_LTDL version number in aclocal.m4. * libltdl/configure.in (with_auxdir): Do not use it as the argument of AC_CONFIG_AUX_DIR, automake requires a literal here. Use AC_CONFIG_AUX_DIRS/DIR_DEFAULT instead. * libltdl/Makefile.am (ACLOCAL): Define with `-I .', as in bootstrap. 1999-12-15 Thomas Tanner <tanner@ffii.org> * libltdl/configure.in: path to auxiliary files can be specified using --with-auxdir (idea by Howard Chu <hyc@highlandsun.com>) * ltmain.in: don't remove multiple occurences from dependency_libs of a library, otherwise many dependencies would get lost * bootstrap: use "aclocal -I ." instead of adding the contents of ltdl.m4 to acinclude.m4 1999-12-13 Gary V. Vaughan <gary@gnu.org> * NEWS: updated. * libltdl/Makefile.am: Use -no-undefined for dll compliance. * libltdl/configure.in: Use AC_LIBTOOL_WIN32_DLL for dll compliance. * libltdl/ltdl.c: Define and use LTDL_GLOBAL_DATA to correctly export global data symbols from libltdl.dll. * libltdl/ltdl.h: Define and use LTDL_SCOPE to declare data symbols as dllexport, dllimport or plain ornary extern depending in the context in which it is used. * doc/libtool.texi (Distributing libltdl): document use of ltdl.m4. * libltdl/configure.in: Removed header checks, as they are automatically performed by AC_LIB_LTDL. * libltdl/ltdl.m4: Added header checks from configure.in, so that AC_LIB_LTDL is sufficient to compile ltdl.c. Reported by Stephan Kulow <coolo@kde.org>. * ltconfig.in (ltdll_obj): fixed typo: objdir -> $objdir 1999-12-12 Gary V. Vaughan <gary@gnu.org> * ltconfig.in (cygwin*, mingw*, export_symbols_cmds): keep any DATA tags associated with symbols by recent dlltool. (cygwin*, mingw*, archive_expsym_cmds): Honor any DATA tags found in the symbol list. Reported by Jon Leichter <jon@symas.com>. 1999-12-10 Gary V. Vaughan <gary@gnu.org> From Stephan Kulow <coolo@kde.org> * libltdl/ltdl.m4: Add arg 3 to AC_DEFINE's to save the user from having to hack acconfig.h. 1999-12-06 Gary V. Vaughan <gary@gnu.org> * NEWS: Updated. * TODO: Note some cleanups that are now needed. * libltdl/configure.in: Use the new macroised tests. * libltdl/ltdl.m4: New file, macroised tests formerly in libltdl/configure.in. Reported by Stephan Kulow <coolo@kde.org>. From Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu> * ltconfig.in: split off the osf3 section, so that the osf4 and osf5 sections can add `-msym' to arguments passed to the linker for shared libs. 1999-12-03 Alexandre Oliva <oliva@lsd.ic.unicamp.br> * ltconfig.in (ac_compile): Use $ac_ext instead of .c. (ac_link): Likewise. (dlfcn.h, ac_try): Do not add filename, it is already in ac_compile. Reported by Stephane Conversy <Stephane.Conversy@lri.fr> * ltconfig.in (linux-gnu*): Disable hardcode_into_libs until it works together with fast_install. * libtool.m4: Use host when --target is not specified. * configure.in: AC_SUBST variables that are used by ltconfig to build libtool. * ltconfig.in (irix6*): Do not override deplibs_check_method here. * libtool.m4: Do not AC_SUBST anything other than LIBTOOL. 1999-11-20 Michael Forster <email@michael-forster.de> * ltconfig.in (linux-gnu*): Set hardcode_into_libs=yes. 1999-11-29 Gary V. Vaughan <gary@gnu.org> * ltconfig.in: Be friendlier to C++ compilers when testing for dlopen support. Reported by Stephan Kulow <coolo@itm.mu-luebeck.de> 1999-11-26 Gary V. Vaughan <gary@gnu.org> * libtool.m4: better use of $target instead of $host to support cross compilation. Reported by Sam Latinga <slouken@devolution.com> 1999-11-16 Thomas Tanner <tanner@ffii.org> * configure.in: generate ltconfig and ltmain.sh before configuring libltdl 1999-11-04 Alexandre Oliva <oliva@lsd.ic.unicamp.br> * tests/sh.test: New test to detect uses of quotes within backticks within quotes. * ltconfig.in, ltmain.in: Fix detected errors. Mark false positives with a comment that disables the detector. Reported by Akim Demaille <akim@epita.fr> * configure.in: Move ltconfig and ltmain.sh generation back... * Makefile.am: here. 1999-11-02 Thomas Tanner <tanner@ffii.org> * NEWS: updated * THANKS: added Olly Betts and Pavel Roskin * doc/libtool.texi: fix typo * fix major bugs which rendered libtool virtually unusable (i.e. not portable): * ltconfig.in: don't hardcode system dependent variables in ltconfig!! but set sane defaults * Makefile.am: pass variables from AC_LIBTOOL_SETUP to ltconfig * libtool.m4: ditto, fix typo in AC_PROG_LD_RELOAD_FLAG * ltconfig.in: use old_deplibs for archives, too remove second occurence of sysv5 * ltmain.in: fix typo, fix the second occurence of -DPIC, too * libltdl/Makefile.am: increment version number, fix typo * libltdl/ltdl.c (lt_dlsym): don't report an error if the libltdl-style symbol name wasn't found 1999-11-02 Wolfgang Rapp <ulris@bn-ulm.de> * ltconfig.in: add support for Unixware (sysv4.2uw2*) 1999-10-29 Gary V. Vaughan <gary@gnu.org> * ltmain.in: Damnit! Cygwin cvs committed all the dos line endings. 1999-10-28 Stephane Conversy <Stephane.Conversy@lri.fr> * ltmain.in (-DPIC): changed the order of pic flags a little to prevent upsetting the sgi c++ compiler. 1999-10-28 Olly Betts <olly@muscat.co.uk> * ltconfig.in (opt_cr): Handle crlf sequences output by the mingw toolchain. * libtool.m4: Third time lucky, with Tor's patch. 1999-10-19 Tor Lillqvist <tml@iki.fi> * libtool.m4: these was a missing `*' in the -mno-cygwin match. * ltconfig.in (cygwin, ltdll_obj): fixed a quoting error. (export_symbols_cmds): added missing cosmetic newline. 1999-10-18 Tor Lillqvist <tml@iki.fi> * libtool.m4: test command used == which should be =. Support -mno-cygwin flag for building mingw32 dlls. * ltconfig.in (file_magic_cmd): add missing quotes. (deplibs_check_method): and here. 1999-10-16 Alexandre Oliva <oliva@lsd.ic.unicamp.br> * libltdl/ltdl.c (lt_dlopen): Do not search paths when the specified library is not just a basename. 1999-10-10 Gary V. Vaughan <gary@gnu.org> * libtool.m4 (AC_PATH_FILE): new macro replaces AC_PATH_TOOL_GREP_OUTPUT. (AC_PATH_TOOL_PREFIX): new macro replaces AC_PATH_PROG_GREP_OUTPUT. (AC_LD_RELOAD_FLAG): migrated from ltconfig.in. (AC_DEPLIBS_CHECK_METHOD): ditto. * ltconfig.in (reload_flag): moved to libtool.m4. (deplbs_check_method): ditto. 1999-10-07 Gary V. Vaughan <gary@gnu.org> * libtool.m4 (AC_PATH_PROG_VERSION_GREP): removed in favour of the more general AC_PATH_PROG_GREP_OUTPUT. (AC_PATH_TOOL_VERSION_GREP): removed in favour of the more general AC_PATH_TOOL_GREP_OUTPUT. (AC_PROG_LIBTOOL): Search for a working find program in the user's PATH using the new macros. 1999-10-06 Gary V. Vaughan <gary@gnu.org> * NEWS: updtaed. * ltconfig.in: Accept osf5. Reported by Sascha Schumann <sascha@schumann.cx> 1999-10-04 Gary V. Vaughan <gary@gnu.org> * ltmain.in (-no-install): This doesn't work on win32 since the search path for libraries is not encoded in the binary, and dlls not in $PATH won't be found. Fall back to -no-fast-install instead. * ltmain.in (-no-fast-install): Wrapper script used to add the exeext on again when naming the wrapped executable. 1999-10-03 Gary V. Vaughan <gary@gnu.org> * ltconfig.in: Set $FILE to @FILE@ for substitution with the value found in libtool.m4 at configure time. * libtool.m4 (AC_PATH_TOOL_GREP_VERSION): New macro, combines AC_PATH_PROG and AC_CHECK_TOOL with a test which greps the output of $ac_dir/${ac_prefix}<tool> --version for a given regex. (AC_PATH_PROG_GREP_VERSION): New macro used by the above. (AC_LIBTOOL_SETUP): Use the new macros to search the PATH [starting at /usr/bin] for a file program which accepts --version and has "file" in its --version output. 1999-10-03 Thomas Tanner <tanner@ffii.org> * NEWS: new -no-install flag * configure.in: fix typo * doc/libtool.texi(Link mode): document -no-install flag, correct -no-fast-install docs * libtool.m4: check for "file" command * ltconfig.in: don't hardcode /usr/bin/file, remove second definition of sysv5, replace linkopts -> linker_flags * ltmain.in: add new -no-install flag, print help for -no-install and -no-fast-install flags 1999-10-03 Olly Betts <olly@muscat.co.uk> * ltmain.in: always create output_objdir 1999-10-03 Pavel Roskin <pavel_roskin@geocities.com> * libltdl/Makefile.am: don't preserve file attributes when installing the libltdl sources 1999-10-01 Gary V. Vaughan <gary@gnu.org> * configure.in (AC_OUTPUT_COMMANDS): generate ltmain.sh * Makefile.am (ltmain.sh ltconfig): removed. Automake inserts the rules to automatically call config.status. * libtool.m4: be sure to AC_SUBST values no longer tested in ltconfig.in. * ltconfig.in: replaced several of the simple feature tests with substitutions from config.status. * Makefile.am (ltconfig): generate ltconfig with config.status. * configure.in (AC_OUTPUT): generate ltconfig with config.status. 1999-09-30 Donald Anderson <dda@world.std.com> * ltconfig.in (sco3.2v5): use pass_all deplibs_check_method for SCO3.2. 1999-09-29 Gary V. Vaughan <gary@gnu.org> * ltconfig.in (whole-archive-flag-spec): I had been wondering why my file system was filling up with empty files named `71'... seems I forgot to hold in the shift key when redirecting stderr, 2>&1. Doh! 1999-09-29 Vadim <vadim@olly.ru> * ltconfig.in (sysv): More UW7 support. 1999-09-28 Albert Cheng <acheng@ncsa.uiuc.edu> * ltmain.in (shlibpath_var): ensure the variable is non-empty before exporting it. 1999-09-27 Manfred Weichel <weichel@global.nacamar.de> * ltconfig.in (sysv5): Added support required for shared library linking on SCO UW7. 1999-09-22 Gary V. Vaughan <gary@gnu.org> * ltconfig.in (whole-archive-flag-spec): test whether the version of GNU ld being used understands --whole-archive before using it. 1999-09-19 Thomas Tanner <tanner@ffii.org> * ltmain.in: don't ignore convenience libraries for objects/archives (temporary hack) 1999-09-14 Alexandre Oliva <oliva@lsd.ic.unicamp.br> * ltconfig.in (CDPATH): Set to `:' instead of empty. * ltmain.in (CDPATH): Likewise. Reported by Greg McGary <gkm@eng.ascend.com> 1999-08-24 Gary V. Vaughan <gary@gnu.org> * ltconfig.in (ltdll.c, impgen.c): Prevent the shell from expanding variables & backslash escapes when writing these files to the libtool script. 1999-08-24 Thomas Tanner <tanner@ffii.org> * NEWS: mention fixes * doc/PLATFORMS: GNU/Hurd update * depdemo: make use of variables * ltconfig.in: use CC -E when checking for ELF support on NetBSD (reported by Todd Vierling <tv@pobox.com>), replace all occurences of 'linkopts' with 'linker_flags' * ltmain.in: move ltdll.c and impgen.c to ltconfig.in and only add them to the libtool script if it's necessary 1999-08-24 Boyd Gerber <gerberb@zenez.com> * ltconfig.in: add support for UnixWare 7.X.X * doc/PLATFORMS: add new platforms 1999-08-24 Pavel Roskin <pavel_roskin@geocities.com> * doc/libtool.texi: document use of noinst_LTLIBRARIES for convenience libraries * ltconfig.in: check for freebsdelf3, not just freebsd3. Set hardcode_into_libs=yes for FreeBSD 3.0 and 3.1 * ltmain.in: enable workaround for freebsdelf3.0 1999-08-24 Bert Driehuis <bert_driehuis@nl.compuware.com> * ltconfig.in: export_dynamic_flag_spec is -rdynamic on BSD/OS 1999-08-07 Alexandre Oliva <oliva@dcc.unicamp.br> * libltdl/COPYING.LIB: Update to version 2.1. * libltdl/ltdl.h, libltdl/ltdl.c: Update FSF address. 1999-08-03 Gary V. Vaughan <gary@gnu.org> * libtool.m4 (mingw*, AC_PROG_LD): use tr for carriage return stripping. * ltconfig.in: ditto. From Olly Betts <olly@muscat.co.uk> 1999-08-02 Olly Betts <olly@muscat.co.uk> * doc/libtool.texi (Compile mode): typo correction. (Link mode): and another. (Release numbers): and another. (Distributing libltdl): and another. (Test descriptions): and another. (libtool script contents): and one more. * libtool.m4 (AC_PROG_LD): strip carriage returns from the output of gcc -print-prog-name=ld. * ltconfig.in: ditto. 1999-07-30 Pavel Roskin <pavel_roskin@geocities.com> * ltmain.in: Ensure that gcc on HPsUX uses -fPIC, or else initialised structures are sometimes emitted in the code section. 1999-07-30 Mumit Khan <khan@xraylith.wisc.edu> * ltconfig.in: Read line at a time to avoid tokenisation by shell. 1999-07-29 Alexandre Oliva <oliva@dcc.unicamp.br> * ltmain.in: Fix creation of relative links to object files in sub-dirs. 1999-07-29 Olly Betts <olly@muscat.co.uk> * ltconfig.in(cygwin mingw32, archive_expsym_cmds): Only compile and link ltdll.c if the libtool.m4 macros discovered that it is required. 1999-07-26 Olly Betts <olly@muscat.co.uk> * libtool.m4(cygwin mingw32, AC_LIBTOOL_SETUP): Oops. Fix some typos made by Evil Gary while (mis)applying my patch :-). * libtool.m4(cygwin mingw32, AC_LIBTOOL_SETUP): On second thoughts, only probe for -mdll vs -dll on mingw, and revert to the old `-Wl,--dll -nostartfiles' on cygwin. 1999-07-24 Erez Zadok <ezk@cs.columbia.edu> * doc/PLATFORMS (i*86-*openbsd2.5): New platform. Slight reordering of other bsd entries. 1999-07-24 Olly Betts <olly@muscat.co.uk> * NEWS: Note new user visible changes. * libtool.m4 (mingw32, AC_LIBTOOL_SETUP): probe for -mdll vs -dll under cygwin/mingw. probe whether the cygwin/mingw library supplies a stub DllMain (but this information isn't yet used). * ltconfig.in (mingw32, extract_expsyms_cmds): if HOST_CC is set, use that to build impgen so we can use it when cross-compiling. use correct entry points for mingw so static C++ constructors get called for code in the DLL. * ltmain.in (impgen.c): define O_BINARY to 0 if it is not in the system headers. 1999-07-24 Bert Driehuis <bert_driehuis@compuware.com> * ltconfig.in: Updated bsdi4 soname specs to be more like linux as discussed on the bsdi mailing list. 1999-07-20 Gary V. Vaughan <gary@gnu.org> * configure.in (AC_PROG_RANLIB): No longer required as we now use AC_CHECK_TOOL in AC_LIBTOOL_SETUP. * libtool.m4 (AC_PROG_LIBTOOL): Pass the $build variable to ltconfig. (AC_PROG_RANLIB): replaced with AC_CHECK_TOOL. * ltconfig.in (build): new variable to hold the build triplet which is now checked for unless --no-verify is specified. (--build): new argument to set the build triplet. (ranlib): Prefer ${host_alias}-ranlib[.exe] if $build is different to $host. * doc/libtool.texi (Invoking ltconfig): Document --build option. * NEWS: Note --build option. 1999-07-19 Erez Zadok <ezk@cs.columbia.edu> * doc/PLATFORMS: Updated mostly *bsd platforms. 1999-07-19 Alexandre Oliva <oliva@dcc.unicamp.br> * doc/libtool.texi (Porting inter-library dependencies): Typos Reported by Petter Reinholdtsen <pere@hungry.com> 1999-07-17 Thomas Tanner <tanner@ffii.org> * NEWS, TODO: updated (pic flags) * libtool.m4 (AC_PROG_LIBTOOL): added --with-pic flag * ltconfig.in: new pic_mode variable and --prefer[-non]-pic flags, fixed the strip check (reported by Keith Bostic <bostic@bostic.com>) * ltmain.in (compile mode): build only PIC/non-PIC code depending on pic_mode * libltdl/README: document the supported dlopen interfaces * doc/libtool.texi (tests): documented new tests * tests/Makefile.am: added new tests * tests/demo-pic.test: new test to test --with-pic * tests/demo-nopic.test: new test to test --without-pic * tests/build-relink2.test: variant of build-relink.test that uses depdemo 1999-07-09 Olly Betts <olly@muscat.co.uk> * doc/libtool.texi (C++ Libraries): fixed a typo. 1999-07-06 Gary V. Vaughan <gary@gnu.org> * README-alpha: improved the release instructions to mention actual list addresses for announcements, and urls for upload locations. 1999-07-03 Thomas Tanner <tanner@ffii.org> * doc/PLATFORMS: 1.3b passes all tests on cygwin 1999-07-03 Pavel Roskin <pavel_roskin@geocities.com> * ltconfig.in: finish_cmds for FreeBSD removed * depdemo/l3/Makefile.am: install libl3.la into an extra directory 1999-07-02 Gary V. Vaughan <gary@gnu.org> * configure.in: bumped version to 1.3c. GNU libtool 1.3b was released. * NEWS: inserted todays date. 1999-07-02 Alexandre Oliva <oliva@dcc.unicamp.br> * doc/PLATFORMS: Tested on as many platforms as possible for me. 1999-07-01 Thomas Tanner <tanner@ffii.org> * NEWS: updated * doc/PLATFORMS: updated * changed my email address 1999-06-30 Thomas Tanner <tanner@ffii.org> * demo/foo.h: use LT_PARAMS instead of LTDL_PARAMS (this is not libltdl) * tests/build-relink.test: also check for hardcode_into_libs = yes, if set, we need to relink at install-time 1999-06-29 Thomas Tanner <tanner@ffii.org> * NEWS: mention -no-fast-install, rename dummy to force * doc/PLATFORMS: 1.3b passes all tests on GNU/Linux, FreeBSD (2.2.6 and 3.1) * doc/libtool.texi: it's possible to link libtool libraries using -L and -l, better documentation of uninstall and clean mode, rename dummy to force, documented -no-fast-install, AC_LIBLTDL_* must be called before AC_PROG_LIBTOOL, documented hardcode_into_libs and striplib/old_striplib, * ltconfig.in: search for strip program, added hardcode_into_libs and striplib/old_striplib variables, set strip commands for GNU strip, on FreeBSD >= 3.2 set hardcode_into_libs to yes, fast-install mode doesn't work if hardcode_into_libs = yes * ltmain.in: reimplemented hardcoding into libraries: new relink mode, preserve all libtool args, relink libraries when installing if necessary added -no-fast-install flag, removed unnecessary `dlname' initialization, use striplib/old_striplib for stripping libraries, dlname is always soname or in library_names so we don't need to handle different file names 1999-06-29 Alexandre Oliva <oliva@dcc.unicamp.br> * ltconfig.in (freebsd*, shlibpath_overrides_runpath): Set to yes up to release 3.1, and to no from 3.2 on. Reported by Pavel Roskin <pavel_roskin@geocities.com> 1999-06-29 Pavel Roskin <pavel_roskin@geocities.com>, Alexandre Oliva <oliva@dcc.unicamp.br> * ltconfig.in (freebsd*, shlibpath_overrides_runpath): Set to yes; tested on 3.1-ELF by Pavel and on 2.2.6 by Alexandre. 1999-06-25 Alexandre Oliva <oliva@dcc.unicamp.br> * ltconfig.in (linux-gnu*, deplibs_check_method): Use pass_all on alpha, x86 and sparc architectures by now, reverting to file_magic at least on ARM, where it breaks. 1999-06-23 Thomas Tanner <tanner@ffii.org> * NEWS: updated * README: added GNU Hurd to the supported platforms * doc/libtool.texi: document `-dlpreopen dummy' instead of `-dlopen dummy' * libltdl/ltdl.c (strchr): fixed typo (missing star) 1999-06-23 Stephan Kulow <coolo@itm.mu-luebeck.de> * libltdl/ltdl.c (strrchr): fixed typo (missing star) * libltdl/ltdl.c (trim): use `const' to silence -Wwrite-strings 1999-06-23 Olly Betts <olly@muscat.co.uk> * ltmain.in (ltdll.c): Support for crosscompiling from linux to mingw32. 1999-06-23 Gary V. Vaughan <gary@gnu.org> * ltconfig.in (cygwin, export_symbols_cmds): If there is already an extracted and compiled ltdll.c, then don't delete, reextract and recompile. (cygwin, archive_expsym_cmds): Make sure the ltdll source has been extracted and compiled before referencing the object, since there are paths through the code which run archive_expsym_cmds without running export_symbols_cmds. 1999-06-20 Gary V. Vaughan <gary@gnu.org> * ltconfig.in: moved the test for NM after the test for no_builtin_flag. 1999-06-20 Alexandre Oliva <oliva@dcc.unicamp.br> * ltconfig.in: Use sed '$q' instead of sed "" for copying ltmain, just in case some sed does not support an empty command. * ltconfig.in (link_static_flag, ac_cv_prog_cc_static): Use the latter in the test. 1999-06-18 Thomas Tanner <tanner@ffii.org> * ltconfig.in (bsdi4, deplibs_check_method): use a less restrictive regex (reported by Chris P. Ross <cross@eng.us.uu.net>) * ltmain.in: support `-dlopen dummy', define lt_preloaded_symbols if dlself != no * doc/libtool.texi (Compile and Link mode): document it, documented the -Wc, -Wl flags, libtool does also support non C source code 1999-06-18 Teun Burgers <burgers@ecn.nl> * ltconfig.in: CR/LF fix for broken DJGPP bash * ltmain.in: CR/LF fix for DJGPP 1999-06-18 Gary V. Vaughan <gary@gnu.org> * ltmain.in (outputname): When generating the executable wrapper script, $outputname already has the $exeext suffix, so we needn't add it again. 1999-06-16 Gary V. Vaughan <gary@gnu.org> * libltdl/configure.in (ac_cv_lib_dl_dlopen): missing "x" in test comparison corrected. * libltdl/ltdl.c (sys_wll_open): libltdl expects this function to fail if it is unable to physically load the library. Sadly, LoadLibrary will search the loaded libraries for a match and return one of them if the path search load fails. Simulate a failure in this case for compatibility with the other APIs. Also, LoadLibrary takes the liberty of adding `.dll' to library names passed without an exten
| ver. 1.6 |
Github
|
.
| PHP 8.2.30 | ??????????? ?????????: 0.02 |
proxy
|
phpinfo
|
???????????