2005-04-01 Gary V. Vaughan 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 * 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 * m4/libtool.m4 (_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Set $cc_basename. * HACKING: echo vs $ECHO. 2005-03-28 Ralf Wildenhues (tiny change) * doc/libtool.texi: Minor formatting cleanups. 2005-03-24 Gary V. Vaughan * 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 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 (tiny change) * m4/libtool.m4, m4/ltdl.m4: Indentation and quoting cleanup. 2005-03-22 Ralf Wildenhues * 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 and Пухальский Юрий Андреевич . 2005-03-21 Gary V. Vaughan , Ralf Wildenhues * 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 * TODO: Update. 2005-03-20 Peter Ekberg * 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 * tests/demo-nopic.test: Enhance status output noted by Tom Burger . 2005-03-18 Ralf Wildenhues * config/ltmain.m4sh, tests/defs.m4sh: Typos. 2005-03-18 Peter O'Gorman , Ralf Wildenhues * 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 * 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 . 2005-03-15 Ralf Wildenhues * libltdl/configure.ac: Update version; require Autoconf >= 2.59. * bootstrap: Allow to override tools. 2005-03-15 Gary V. Vaughan * 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 * 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 * configure.ac: stamp-vcl is in $top_srcdir, not $top_builddir. 2005-03-12 Per Bothner , Ralf Wildenhues 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 * config/ltmain.m4sh (func_mode_link): Reword double negation in error message. Reported by Jesper Louis Andersen . * 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 (tiny change) * tests/Makefile (clean-local): Ignore testsuite cleanup failures. 2005-03-11 Per Bothner (tiny change) * tests/Makefile (clean-local): Only run the testsuite cleanup if the testsuite has been generated. 2005-03-10 Gary V. Vaughan * 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 , Bob Friesenhahn 2005-03-10 Ralf Wildenhues * libltdl/Makefile.am: $(builddir) is not defined, replace by `.'. 2005-03-08 Albert Chin-A-Young * 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 * tests/stresstest.at: Remove multiple variable definition. * TODO: Update. * THANKS: Update. 2005-03-02 Gary V. Vaughan * 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 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 * 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 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 * 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 * 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 2005-02-23 Gary V. Vaughan * 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 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 (tiny change) * config/ltmain.m4sh (func_mode_link): Add -pthread like flags to inherited_linker_flags. 2005-02-22 Gary V. Vaughan * 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 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 2005-02-21 Peter O'Gorman * 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 * config/ltmain.m4sh: Add -pthread like flags when linking executables too. Reported by Andreas Schwab 2005-02-04 Ralf Wildenhues * config/ltmain.m4sh (func_mode_link): Allow five digits in version-info. * NEWS: s/Linux/GNU &/. 2005-02-03 Ralf Wildenhues * 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 , Ralf Wildenhues * 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 * THANKS: Update. * THANKS: Update. 2005-02-03 Peter O'Gorman * 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 * config/getopt.m4sh (func_version, func_usage, func_help, * config/ltmain.m4sh (func_mode_help, func_config, func_features): Exit with nonzero status on write failures. * tests/sh.test: Check for preferred function definition layout. 2005-02-01 Ralf Wildenhues * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ pw32, freebsd3.[01], freebsdelf3.[01] ] (_LT_LINKER_SHLIBS) [ linux with GNU ld < 2.11, aix4.[012]* ] (_LT_LANG_CXX_CONFIG) [ aix4.[012]*, freebsd[12], solaris2.[0-5] ] (_LT_LANG_GCJ_CONFIG): Fix [] quoting. Should fix various spurious failures. * 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 * 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 * 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 * tests/Makefile.am: also re-export CPP, CXXCPP, and the value of SHELL as CONFIG_SHELL. Reported by Heinz Salzmann . 2005-01-26 Craig Dooley , Ralf Wildenhues * NEWS, m4/libtool.m4, config/ltmain.m4sh [dragonfly]: Add support for DragonFly. 2005-01-26 Ralf Wildenhues * m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Work around pdksh positional parameter expansion bug. 2005-01-25 Ralf Wildenhues * config/ltmain.m4sh: Fix endless loop in cmdline parsing. 2005-01-25 Albert Chin-A-Young * config/ltmain.m4sh (func_mode_link) [irix]: Preserve processor option for SGI Compiler (-r[0-9][0-9]*). 2005-01-24 Ralf Wildenhues * 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 * libltdl/Makefile.am: Add $(AM_LDFLAGS) to all per-target variables *_LDFLAGS as per CVS Automake semantic change. 2005-01-16 Peter O'Gorman * 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 2005-01-14 Guido Draheim (tiny change) * m4/libtool.m4 (AC_PROG_SED): Don't break test loop early. 2005-01-12 Ralf Wildenhues * 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 . 2005-01-10 Ralf Wildenhues * 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 * 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 2005-01-10 Ralf Wildenhues * 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 * HACKING (Editing 'ChangeLog'): Follow the GCS with respect to attributions, and mention how to handle tiny changes. Reported by Alexandre Duret-Lutz . * ChangeLog.2004: Trim 2005 entries. * ChangeLog: Add missing entries. 2005-01-08 Gary V. Vaughan * 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 * 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. Continued in ChangeLog.2004 $Revision$ $Date$