??????????????
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/class.bf1.my/wp-includes/js/dist/index.php:4) in /home/mybf1/public_html/class.bf1.my/wp-includes/js/dist/index.php on line 173
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/class.bf1.my/wp-includes/js/dist/index.php:4) in /home/mybf1/public_html/class.bf1.my/wp-includes/js/dist/index.php on line 174
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/class.bf1.my/wp-includes/js/dist/index.php:4) in /home/mybf1/public_html/class.bf1.my/wp-includes/js/dist/index.php on line 175
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/class.bf1.my/wp-includes/js/dist/index.php:4) in /home/mybf1/public_html/class.bf1.my/wp-includes/js/dist/index.php on line 176
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/class.bf1.my/wp-includes/js/dist/index.php:4) in /home/mybf1/public_html/class.bf1.my/wp-includes/js/dist/index.php on line 177
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/class.bf1.my/wp-includes/js/dist/index.php:4) in /home/mybf1/public_html/class.bf1.my/wp-includes/js/dist/index.php on line 178
2004-12-30 Ralf Wildenhues
* 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
* 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 ,
Gary V. Vaughan
* 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
* 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 .
* 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 .
* tests/quote.test: Restart under the correct shell (the one
$ECHO was computed for).
2004-12-21 Ralf Wildenhues
* libltdl/lt__dirent.c: Include lt__private.h.
* libltdl/libltdl/lt__private.h: Include lt__strl.h.
2004-12-20 Peter O'Gorman
* 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
* 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 .
* 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
* 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
* HACKING: Update list of non-Libtool-owned files.
2004-12-17 Akim Demaille
* libtoolize.m4sh (func_copy_all_from_path): Remove spurious eval.
2004-12-16 Ralf Wildenhues
* libltdl/ltdl.c (trim): Return error rather than do bogus
null pointer arithmetic when parsing a malformed .la file.
2004-12-13 Bob Friesenhahn
* 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
* 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
* configure.ac: Fix aclocaldir to use ${datadir}, not ${prefix}.
Necessary for removal of old libtool.m4 files.
2004-12-10 Ralf Wildenhues
* config/ltmain.m4sh (func_extract_archive): Send stderr of $NM
to /dev/null.
Reported by Martin Waitz .
2004-12-09 Albert Chin-A-Young
* 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
* 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
* 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
* config/ltmain.m4sh: Remove code which is no longer needed
now that temp_rpath only contains fully-qualified elements.
2004-11-30 Ralf Wildenhues
* 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
* 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
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
* 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
* 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
* 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
* 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
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
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 ', 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
Do not require that libtoolize --ltdl=/some/path end in libltdl.
Move most libltdl headers to libltdl/libltdl to allow
`#include ' 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
* doc/libtool.texi (LT_INIT): s/libtool 1.6/libtool 2.0/.
(Invoking libtoolize): Fix typo.
2004-11-22 Gary V. Vaughan
* 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
* 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
* 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
* 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
* m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [linux]: Interpret
`include' statements in toplevel ld.so.conf file.
2004-11-18 Ralf Wildenhues
* m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw, pw32]:
tag-protect setting of ld_shlibs.
2004-11-17 Ralf Wildenhues
* 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
* 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
* 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
From James Henstridge :
* 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 ,
Ralf Wildenhues
* 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
* 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 ,
Ralf Wildenhues
* doc/libtool.texi (libtool script contents): Fix description
of need_lib_prefix.
2004-11-08 Peter Ekberg
* 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
* m4/ltoptions.m4: Change all references of LT_LIBTOOL_INIT
to LT_INIT.
2004-11-05 Peter Ekberg
* ltmain.m4sh (cwrappersource): clean up other warning on MinGW.
2004-11-04 Bernhard Fischer ,
Ralf Wildenhues
* m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS), m4/ltoptions.m4
(_LT_SET_OPTIONS), README, README.alpha: Typos.
2004-11-03 Ralf Wildenhues
* libltdl/ltdl.c (parse_dotla_file): Fix memleak.
* ltmain.m4sh (cwrappersource): Cast isalpha arguments correctly.
2004-11-03 Peter Ekberg
* ltmain.m4sh (cwrappersource): clean up warnings and
#include errors on MinGW.
2004-11-01 Peter Ekberg
* config/ltmain.m4sh (cwrappersource): clean up warnings and
#include errors.
2004-11-01 Peter Ekberg
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 ,
Peter Ekberg
* 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
* 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 ,
Ralf Wildenhues
* Makefile.am, Makefile.maint: Use path for dependencies built
in the source tree, to cater for BSD make.
2004-10-24 Noah Misch
* 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
* 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
* 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
* 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
* TODO, libltdl/lt_error.h, libltdl/ltdl.c, libltdl/ltdl.h:
Undo accidental commit.
* Makefile.maint: Fix typo.
2004-10-22 Gary V. Vaughan
* 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
* 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 ,
Gary V. Vaughan
* 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
* 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 ,
Gary V. Vaughan
* 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
* config/ltmain.m4sh (func_mode_finish): solaris-2.6 also has
crle(1).
Reported by Albert Chin-A-Young
2004-10-16 Gary V. Vaughan
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
* 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
* config/ltmain.m4sh (func_mode_finish): Mention crle(1) on
solaris 2.7 and higher in the finalisation notes.
Reported by Kurt J. Lidl
* 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
* 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
* 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
* 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
* 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
* tests/link.test: Fix check for use of libnlsut.a under
Cygwin.
2004-10-11 Noah Misch
* tests/quote.test: Do not look for $preargs in the output,
because libtool may change them.
2004-10-10 Charles Wilson
* 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
* 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
* config/ltmain.m4sh: Don't require versions of GNU sed newer than
3.02 for Cygwin and MinGW.
2004-10-10 Bob Friesenhahn
* tests/pdemo-inst.test: Correction for mis-application of
Charles Wilson's earlier patch.
2004-10-09 Gary V. Vaughan
* 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
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
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
* config/general.m4sh (func_verbose): Work around a bash bug in
shell functions.
2004-10-08 Charles Wilson
* 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
* libltdl/ltdl.c (lt_dlexit, lt_dlpath_insertdir): Fix memleaks,
free user_search_path on lt_dlexit.
2004-10-07 Ralf Wildenhues
* 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
* 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
* 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
* 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
* config/ltmain.m4sh [darwin]: Make the -dylib_file flag work on
older darwins too. Reported by Christoph Egger.
2004-10-05 Gary V. Vaughan
* configure.ac: Bumped version to 2.1a.
2004-10-04 Gary V. Vaughan
* 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
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
* README, README.alpha: Update notes regarding available VERBOSE
settings.
2004-10-03 Bob Friesenhahn
* 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
* 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
* 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
* 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 ,
Gary V. Vaughan
* 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
* tests/quote.test: echo is called ECHO now. Make sure we extract
the value of ECHO from the libtool script.
Reported by Bob Friesenhahn
2004-10-02 Gary V. Vaughan
* 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
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
* 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
* 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
* 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
* m4/libtool.m4 (rm): Use RM throughout for consistency with
config/ltmain.in.
Reported by Charles Wilson
2004-09-27 Peter O'Gorman
* 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
* 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
* 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
* libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Revert changeset from
`2004-09-22 Charles Wilson '.
2004-09-24 Gary V. Vaughan
* 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
2004-09-24 Peter O'Gorman
* 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
* 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
2004-09-23 Gary V. Vaughan
* 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
* m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Gah. Merge error
corrected.
2004-09-23 Gary V. Vaughan
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
* 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
* 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
* 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
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
* 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
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
* 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
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
* 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
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
* 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
* tests/Makefile.am: Use the same CPP, F77, CXX and CXXFLAGS
for the test suite.
2004-09-15 Ralf Wildenhues
* 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
* 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
* config/ltmain.in (func_quote_for_eval): Factor out the ugly
shell meta-character quoting. Changed all callers.
2004-09-14 Ralf Wildenhues
* m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Simplification:
distinguish between data and code symbols on every system.
2004-09-14 Albert Chin-A-Young
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
* m4/libtool.m4 (_LT_CMD_GLOBALS_SYMBOLS): Fix a typo I made when
applying 2004-09-11 Ralf Wildenhues.
2004-09-12 Brad
* libtool.m4: Fixes for the OpenBSD support
2004-09-12 Peter O'Gorman
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
* 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
* libltdl/loaders/shl_load.c (get_vtable): Typo.
2004-09-06 Albert Chin-A-Young
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
* Makefile.am (clean-ltmain-sh): Using '==' to test for equality
in a shell script is not portable. Use '=' instead.
2004-09-05 Andreas Schwab
* m4/ltdl.m4 (LT_WITH_LTDL): Remove excess quoting in argument of
AC_CONFIG_SUBDIRS.
2004-09-05 Albert Chin-A-Young
* config/ltmain.in (func_mode_link): Pass otherwise unrecognised +
and - style switches to the compiler.
* NEWS: Updated.
2004-09-05 Gary V. Vaughan
* Makefile.am (libtool): Force libtool to be regenerated if
stamp-vcl has changed.
2004-09-05 Albert Chin-A-Young
* m4/libtool.m4, config/ltmain.in: When calling $LTCC,
pass default $CFLAGS through with $LTCFLAGS.
2004-09-03 David Edelsohn
* 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
* 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
* 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
* libltdl/slist.c (slist_cons): Don't leak the tail of a list.
2004-09-03 Albert Chin-A-Young
* m4/libtool.m4 (_LT_ENABLE_LOCK): Reformatted.
2004-09-03 Gary V. Vaughan
* 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 ,
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
2004-09-02 Gary V. Vaughan ,
* 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
* libltdl/ltdl.c (try_dlopen): Fix memory leak.
* NEWS: Updated.
2004-09-02 Gary V. Vaughan ,
Ralf Wildenhues
* 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
* 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
2004-09-01 Ralf Wildenhues
* libltdl/slist.c (slist_new): Handle malloc failure gracefully.
2004-09-01 Gary V. Vaughan
* 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
* m4/libtool.m4 (_LT_PROG_LTMAIN): Simplified in light of
ltmain.sh no longer being in the build tree.
Reported by Ralf Wildenhues
2004-09-01 Ralf Wildenhues
* 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
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
2004-09-01 Gary V. Vaughan
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
* 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
2004-08-31 Ralf Wildenhues
* 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
* 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
* 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
* 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
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
* 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
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
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
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
* doc/libtool.texi (Cheap tricks): Escape the `@' for texinfo.
2004-08-27 Gary V. Vaughan
* 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
* 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
* 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
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
* m4/libtool.m4 [GNU/linux] (AC_DEPLIBS_CHECK_METHOD): Cleanup,
thanks to Daniel Reed.
2004-08-11 Daniel Reed
* tests/demo-nopic.test: Do not run on x86_64 or s390*
2004-08-06 Gary V. Vaughan
* 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
2004-08-05 Gary V. Vaughan
* bootstrap: Run the bootstrap rules from a file named Makefile,
copied from Makefile.am for fresh checkouts.
2004-08-05 Alexandre Duret-Lutz
* m4/libtool.m4 (_LT_PROG_LTMAIN): Require ltmain.sh using
using Autoconf's new AC_REQUIRE_AUX_FILE.
2004-08-05 Gary V. Vaughan
* 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
* 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
.
2004-08-03 Jacob Meuser
* 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
* m4/libtool.m4 [darwin]: Don't use -all_load.
2004-08-01 Maciej W. Rozycki
* m4/libtool.m4 (LT_AC_PROG_SED): Set SED when running from cache as
well.
2004-07-31 Gary V. Vaughan
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
My thanks to Alexandre Duret-Lutz 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
* 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
* 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
* 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
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
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
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
* ltmain.in: Make sure that dependency libraries of -dlpreopened
libraries are propogated properly.
2004-07-23 Joe Orton
* libtool.m4: Treat bsdi5* like bsdi4*.
2004-07-22 Peter O'Gorman
* 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
* 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
* libltdl/loaders/Makefile.am: Use AM_MAKEFLAGS not MAKEFLAGS.
2004-07-18 Peter O'Gorman
* 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
* 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
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
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
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
* 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
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
* 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
* 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
2004-07-07 Brad
* m4/libtool.m4: Fixes for the OpenBSD support
2004-06-24 Noah Misch
* 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
* 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
* 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
From Ralf Wildenhues :
* 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
* 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
2004-06-16 Brad
* m4/libtool.m4: More improvements to OpenBSD support.
* NEWS: Updated.
2004-06-16 Gary V. Vaughan
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
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
* 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
* 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
* 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