libtool/ChangeLog
Gary V. Vaughan 8c4615ca38 Keywords:
* libltdl/ltdl.h (LT_PARAMS): Removed.  Changed all users to
ANSI prototypes.
(lt_ptr): Keep backwards compatibility stub.
* libtldl/ltdl.c, libltdl/ltdl.h: Use ANSI function declarations
throughout.  s/lt_ptr/void */g.
2004-04-08 12:01:58 +00:00

882 lines
35 KiB
Plaintext

2004-04-08 Gary V. Vaughan <gary@gnu.org>
* libltdl/ltdl.h (LT_PARAMS): Removed. Changed all users to
ANSI prototypes.
(lt_ptr): Keep backwards compatibility stub.
* libtldl/ltdl.c, libltdl/ltdl.h: Use ANSI function declarations
throughout. s/lt_ptr/void */g.
2004-04-08 Fredrik Estreen <estreen@algonet.se>
* m4/ltdl.m4: Rename shrext to shrext_cmds here too.
2004-04-06 Gary V. Vaughan <gary@gnu.org>
There was no clean separation of abstraction layers in libltdl.
The first step in fixing this is to factor out the memory
management abstraction, making a start on removing promiscuity
from the underlying portability layer:
* doc/libtool.texi (Libltdl interface): Remove lt_dlmalloc,
lt_dlrealloc and lt_dlfree references. The memory management
layer used by libltdl is now private.
* libltdl/lt_system.h: New installed header for system portability
abstraction.
* libltdl/ltdl.h: Use it.
* libltdl/lt__alloc.c, libltdl/lt__alloc.h: New module above
system portability layer to abstract ltdl's memory management.
* libltdl/ltdl.c: Use lt__alloc.h.
(closedir): Use free.
(opendir): Use malloc/free.
(lt__xalloc_die_callback): Report memory failures through
lt_dlerror.
(lt_dlinit): Use it to initialise memory management.
(LT_DLMALLOC, LT_DLREALLOC, LT_DLFREE, LT_EMALLOC, LT_EREALLOC)
(rpl_strdup, rpl_realloc, lt_estrdup, lt_emalloc, lt_erealloc):
Removed in favour of...
(lt__strdup, lt__memdup, MALLOC, REALLOC, FREE): ...these calls
from libltdl/lt__alloc.h. Changed all callers.
(rpl_argz_append, rpl_argz_create_sep, rpl_argz_insert): As part
of the portability layer, these functions no longer use libltdl
memory management API.
(free_vars): Factored out.
(LT_DLMEM_REASSIGN): While redoing memory handling, renamed...
* libltdl/lt__alloc.h (MEMREASSIGN): ...to this.
* libltdl/Makefile.am (AUTOMAKE_OPTIONS): Let automake track
dependencies automatically.
(pkgincludedir): Override from parent package's setting.
(pkginclude_HEADERS): Install lt_system.h.
(libltdl_la_SOURCES): Add new files.
* NEWS: Updated.
Reported by Dalibor Topic <robilad@kaffe.org>
2004-04-01 Peter O'Gorman <peter@pogma.com>
* ltmain.in: Remove an extra eval concat_cmds that some idiot added.
Fixes double eval on AIX, reported by Albert Chin and Uwe Moeller.
* NEWS: Add a news item about xlc support that I forgot yesterday.
2004-03-31 Peter O'Gorman <peter@pogma.com>
* m4/libtool.m4, ltmain.in (darwin): Support IBM's xlc and xlc++.
2004-03-31 Gary V. Vaughan <gary@gnu.org>
* m4/libtool.m4 (_LT_LANG_C_CONFIG): If $compiler is not set, then
don't call the macros that test it.
(_LT_LANG_CXX_CONFIG): Ditto.
(_LT_LANG_F77_CONFIG): Ditto.
(_LT_LANG_GCJ_CONFIG): Ditto.
(_LT_LANG_RC_CONFIG): Ditto.
2004-03-30 Gary V. Vaughan <gary@gnu.org>
* libtoolize.in (func_scan_files): sed BRE have no alternation, so
break LT_INIT matcher out.
(func_serial): Don't escape literal parens for grep BRE.
* m4/libtool.m4 (LT_INIT): aclocal can't see AC_DEFUN_ONCE, so use
AC_DEFUN and m4_define.
* libtoolize.in (func_serial): No longer accept AC_DEFUN_ONCE...
(func_grep): ...so mere grep is sufficient again...
(EGREP): ...and this is no longer required.
2004-03-29 Gary V. Vaughan <gary@gnu.org>
* m4/libtool.m4: Use LT_INIT as #serial tag.
* libtoolize.in: Grok LT_INIT! Pass A[CM]_PROG_LIBTOOL to...
(func_serial_update): ...here, we now take an additional parameter
containing another regex to match ancient serialed files.
(func_serial): Accept AC_DEFUN_ONCE of the #serial tag...
(func_grep): ...which requires egrep...
(EGREP): ...substituted by config.status.
(func_scan_files): Set seen_libtool if LT_INIT goes by.
* Makefile.am (pkgmacro_DATA): Install ltoptions.m4.
* libltdl/Makefile.am (AM_CPPFLAGS): Also check $top_builddir for
config.h.
(ltdl.o): config.h is in $top_builddir.
2004-03-24 Scott James Remnant <scott@netsplit.com>
* NEWS: Explain more fully why we no longer load libraries
with global symbol resolution.
* doc/libtool.texi (libtool script contents): Add missing
documentation for 'inherit_rpath' variable.
* configure.ac: Catch errors during calls to AC_PROG_CXX,
AC_PROG_CXXCPP and AC_PROG_F77 before LT_INIT. Only set the
HAVE_CXX and HAVE_F77 conditions to true if an error didn't
occur (AC_PROG_CXX leaves CXX="g++" even if it didn't find one).
Set HAVE_GCJ and HAVE_RC to true correctly as well.
* m4/libtool.m4 (LT_PROG_GCJ): If AC_PROG_GCJ or AM_PROG_GCJ are
defined, expand to the definition of those instead of our own.
Define GCJ to '' instead of 'no' if not found.
(LT_PROG_RC) Define RC to '' instead of 'no' if not found.
(_LT_LANG_GCJ_CONFIG): Require LT_PROG_GCJ to be expanded first.
(_LT_LANG_RC_CONFIG): Require LT_PROG_RC to be expanded first.
* libltdl/ltdl.c (sys_dl_open): Don't load libraries with global
symbol resolution.
* NEWS: Updated.
2004-03-24 Albert Chin-A-Young <china@thewrittenword.com>
* m4/libtool.m4: Add new variable, inherit_rpath, if the
RPATHs of the libraries being linked are inherited in
the output file. For systems with a linker exhibiting
this feature, programs/libraries must be relinked at
installation time.
* m4/libtool.m4: When linking convenience libraries on Solaris
with the Sun C++ compiler, pass convenience libraries through
to the linker with -Qoption between allextract/defaultextract.
The Sun C++ compiler bundles -Qoption arguments so
convenience libraries are linked with defaultextract
otherwise.
* tagdemo/Makefile.am, tagdemo/main.cpp, tagdemo/conv.h,
tagdemo/conv.cpp: Augment tagdemo test to link a convenience
library with a libtool library.
* ltmain.in: Piecewise linking doesn't work when the output
file is an absolute path, use the basename only instead.
* ltmain.in: When a library is installed, dependent on a
convenience library, and it involves relinking, the object
files extracted from the convenience library are not removed
after the relink. This is a problem if you build as non-root,
install as root, then try to remove the build directory as
non-root; Clean up properly if relink fails; Change
"$realname"U to ${realname}T to be consistent.
2004-03-24 Scott James Remnant <scott@netsplit.com>
* ltmain.in <prog linkmode>: Always add -L options to
$newlib_search_path instead of just in scan mode to ensure that
non-libtool libraries in user-specified directories can be found.
2004-03-22 Scott James Remnant <scott@netsplit.com>
* m4/libtool.m4 (_LT_CONFIG): Remove unneeded else condition
code, now the support determination is done in m4.
(_LT_LANG): Correct comment, unexpected leak from keybuk-lt-tag.patch.
2004-03-21 Scott James Remnant <scott@netsplit.com>
* libltdl/Makefile.am (libltdl_la_LDFLAGS): Increment CURRENT
and AGE of libltdl, warranted by the addition of lt_dlhandle_find()
since 1.5.2.
2004-03-21 Scott James Remnant <scott@netsplit.com>
Further sweeping changes to the user interface to libtool from
`configure.ac' to allow users to better control the list of
supported languages. Three LT_INIT options 'no-lang', 'all-lang'
and 'auto-lang' (the default) control the initial list and others
may be added with LT_LANG.
* m4/libtool.m4 (_LT_CONFIG): Renamed AC_LIBTOOL_CONFIG to _LT_CONFIG
which is more consistent with our own namespace and gets us further out
of Autoconf's.
(_LT_LIBTOOL_TAGS): Output available_tags variable based entirely
on the value of _LT_TAGS.
(_LT_COPYING): Call _LT_LIBTOOL_TAGS to output available tags,
always append tag configuration if the tag is available.
(LT_LANG): New macro to enable support for a language that accepts
tag names (eg. "CXX") or human language names (eg. "C++").
(_LT_LANG): Internal support macro for above that appends the
tag to _LT_TAGS and calls the appropriate config macro.
(LT_INIT): Ensure that LT_LANG is not called before LT_INIT.
(AC_LIBTOOL_TAGS): Removed, call LT_LANG for each language now.
(_LT_AC_TAG_CHECK): Removed, _LT_LANG handles duplicate calls.
(_LT_LANG_DEFAULT_CONFIG): Macro to set initial language support
based on options passed to LT_INIT.
(_LT_SETUP): Call _LT_LANG_DEFAULT_CONFIG.
(_LT_AC_TAG_CONFIG): Removed, handled by _LT_LANG_DEFAULT_CONFIG.
(_LT_AC_LANG_CXX, _LT_AC_LANG_F77, _LT_AC_LANG_GCJ): Removed,
automatic language support inclusion now handled by
_LT_LANG_DEFAULT_CONFIG.
(AC_LIBTOOL_CXX): Obsolete macro, update to LT_LANG(C++).
(AC_LIBTOOL_F77): Obsolete macro, update to LT_LANG(Fortran 77).
(AC_LIBTOOL_GCJ): Obsolete macro, update to LT_LANG(Java).
(AC_LIBTOOL_LANG_C_CONFIG_: Removed.
(_LT_AC_LANG_C_CONFIG): Renamed to _LT_LANG_C_CONFIG, call
_LT_CONFIG instead of AC_LIBTOOL_CONFIG.
(_LT_SETUP): Replace call to AC_LIBTOOL_LANG_C_CONFIG with call to
new _LT_LANG_C_CONFIG macro.
(AC_LIBTOOL_LANG_CXX_CONFIG): Removed.
(_LT_AC_LANG_CXX_CONFIG): Renamed to _LT_LANG_CXX_CONFIG, call
_LT_CONFIG instead of AC_LIBTOOL_CONFIG.
(AC_LIBTOOL_LANG_F77_CONFIG): Removed.
(_LT_AC_LANG_F77_CONFIG): Renamed to _LT_LANG_F77_CONFIG, call
_LT_CONFIG instead of AC_LIBTOOL_CONFIG.
(AC_LIBTOOL_LANG_GCJ_CONFIG): Removed.
(_LT_AC_LANG_GCJ_CONFIG): Renamed to _LT_LANG_GCJ_CONFIG, call
_LT_CONFIG instead of AC_LIBTOOL_CONFIG.
(AC_LIBTOOL_LANG_RC_CONFIG): Removed.
(_LT_AC_LANG_RC_CONFIG): Renamed to _LT_LANG_RC_CONFIG, call
_LT_CONFIG instead of AC_LIBTOOL_CONFIG.
(LT_AC_PROG_GCJ): Renamed to LT_PROG_GCJ.
(LT_AC_PROG_RC): Renamed to LT_PROG_RC.
* m4/ltoptions.m4: Define new 'no-lang', 'auto-lang' and 'all-lang'
options which set the default for _LT_LANG_DEFAULT_CONFIG.
* m4/lt~obsolete.m4: Removed AC_LIBTOOL_CONFIG, _LT_AC_LANG_C_CONFIG,
_LT_AC_LANG_GCJ_CONFIG, _LT_AC_LANG_RC_CONFIG; all of which are no
long referenced in any way.
* configure.ac: Enable all languages.
* tests/cdemo/configure.ac, tests/demo/configure,ac,
tests/depdemo/configure.ac, tests/f77demo/configure.ac,
tests/mdemo/configure.ac, tests/pdemo/configure,ac,
tests/tagdemo/configure.ac: Remove calls to AC_LIBTOOL_TAGS,
the default 'auto-lang' mode now does the right thing.
* doc/libtool.texi (The LT_INIT macro): Add documentation for
new LT_INIT options and the LT_LANG macro, replacing the old
documentation of AC_LIBTOOL_TAGS which is no more.
* NEWS: Updated.
2004-03-17 Scott James Remnant <scott@netsplit.com>
* m4/libtool.m4: Removed AC_BEFORE references to AC_LIBTOOL_SETUP
which is no more.
* m4/lt~obsolete.m4: As AC_LIBTOOL_SETUP is no longer referenced,
it can be removed from this file. Remove _AC_PROG_LIBTOOL also.
2004-03-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* m4/libtool.m4: Remove newlines from lt_ld_extra, so
variable can safely be stored in config.cache.
2004-03-14 Michael Pruett <michael@68k.org>
* m4/libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS0 [irix]: Define
archive_expsym_cmds so that --export-symbols will work.
2004-03-11 Peter O'Gorman <peter@pogma.com>
* ltmain.in (link_all_deplibs,darwin): Link libraries in the
correct order. Bug from Zachary Pincus <zpincus@stanford.edu>.
2004-03-14 Scott James Remnant <scott@netsplit.com>
* m4/ltmain.in: Only check precious_files_regex if it is not empty.
2004-03-14 Gary V. Vaughan <gary@gnu.org>
* doc/libtool.texi (Autoconf and LTLIBOBJS): The correct version
of Autoconf is 2.54.
From Alexandre Duret-Lutz <adl@src.lip6.fr>
2004-03-13 Gary V. Vaughan <gary@gnu.org>
* doc/libtool.texi (Using Automake): Cite correct Automake version
for -dlopen quoting.
(Autoconf and LTLIBOBJS): Cite correct Autoconf versions
throughout.
(Distributing libltdl): Use AM_CPPFLAGS; INCLUDES is deprecated.
From Alexandre Duret-Lutz <adl@src.lip6.fr>
2004-03-05 David Edelsohn <edelsohn@gnu.org>
* m4/libtool.m4: Disable building static libraries if building
shared libraries on AIX 5L.
2004-03-05 Gary V. Vaughan <gary@gnu.org>
* libtoolize.in: Remove --ltdl-tar. It doesn't work with the
current implementation, and seems more or less pointless.
* doc/libtool.texi (Invoking libtoolize): Updated.
* NEWS: Updated.
* doc/libtool.texi: This manual has not been maintained properly
for a number of years. Much of what it said was outdated, or
plain wrong with reference to modern autotools. This change
represents a first pass edit to clean up the obviously wrong.
2004-03-02 Gary V. Vaughan <gary@gnu.org>
* bootstrap: Prune out my arch mirror dir before running
amok through the tree with 'rm -rf'!
2004-03-02 Patrick Welche <prlw1@newn.cam.ac.uk>
* doc/libtool.texi (LT_INIT): Dumb typos fixed.
2004-02-23 Gary V. Vaughan <gary@gnu.org>
* ltmain.in <install mode>: Add missing --help doc for
-inst-prefix option.
* ltmain.in <link mode>: Add missing --help doc for -shrext
option.
* ltmain.in (IFS): Move '\n' to beginning of IFS so that emacs
doesn't offer to strip trailing ' \t' on every save.
* ltmain.in: Add missing --help doc for --preserve-dup-deps.
2004-02-22 Gary V. Vaughan <gary@gnu.org>
* Makefile.maint (web-manual): Generate the web manual carefully
so that links will still work when it is uploaded to gnu.org.
* README-alpha: Note that this rule should be used at release
time.
2004-02-20 Gary V. Vaughan <gary@gnu.org>
Sweeping changes to the user interface to libtool from
`configure.ac' to be more like AC_INIT and accept a space
delimited list of options. Instead of calling `AC_LIBTOOL_DLOPEN;
AC_PROG_LIBTOOL', we now recommend `LT_INIT([dlopen])':
* m4/libtool.m4 (AC_PROG_LIBTOOL, _AC_PROG_LIBTOOL)
(AC_LIBTOOL_SETUP): Removed. Added AU_DEFUNs.
(LT_INIT): Replace with an Autoconf like interface which accepts a
version number as a minimum required libtool release at configure
time.
* m4/ltoptions.m4: New file inspired by automake/m4/amoptions.m4,
which additionally flags an error if the configuring libtool
macros are not new enough according to LT_INIT.
(LT_OPTION_DEFINE): New macro to declare option handlers.
(dlopen, win32-dll, shared, disable-shared, static)
(disable-static, fast-install, disable-fast-install, pic-only)
(no-pic): Newly LT_OPTION_DEFINEd option handlers that use...
(_LT_ENABLE_SHARED, _LT_ENABLE_STATIC, _LT_ENABLE_FAST_INSTALL)
(_LT_WITH_PIC, _LT_WIN32_DLL): New macros to handle
LT_LIBTOOL_INIT options...
* m4/libtool.m4 (AC_ENABLE_SHARED, AC_ENABLE_STATIC)
(AC_ENABLE_FAST_INSTALL, AC_LIBTOOL_DLOPEN, AC_LIBTOOL_WIN32_DLL):
...to replace these user interface macros, now defined as
AU_DEFUNs.
(AC_DISABLE_SHARED, AC_DISABLE_STATIC, AC_DISABLE_FAST_INSTALL):
Removed. No longer required with LT_INIT_LIBTOOL interface.
Added AU_DEFUNs.
(AM_ENABLE_SHARED, AM_DISABLE_SHARED, AM_ENABLE_STATIC)
(AM_DISABLE_STATIC): Changed AU_DEFUNs to match new interface.
(_LT_SETUP): Internal to LT_INIT, replaces AC_LIBTOOL_SETUP.
* m4/lt~obsolete.m4 (AC_LIBTOOL_SETUP, _AC_PROG_LIBTOOL)
(_LT_PROG_LTMAIN): More AC_DEFUNs that have been retracted.
* configure.ac: Use new interface.
* doc/libtool.texi: Document new interface.
* NEWS: Updated.
2004-02-18 Gary V. Vaughan <gary@gnu.org>
* commit (SHELL): Set it explicitly, incase some madman is using
tcsh as their login shell :-b
2004-02-15 Scott James Remnant <scott@netsplit.com>
* Makefile.am (m4/ltversion.m4): Generate serial number by
removing initial '1.' from the revision, replace @MACRO_SERIAL@
with this new variable.
* m4/ltversion.in: Use @MACRO_SERIAL@ for the serial number
as some shells don't like a '.' when using test.
* m4/ltversion.in: Add a serial number to this file otherwise
libtoolize will refuse to copy it into $pkgdatadir, where it
is needed by m4/libtool.m4.
2004-02-15 Peter O'Gorman <peter@pogma.com>
* m4/libtool.m4, ltmain.in: Rename shrext to shrext_cmds.
2004-02-13 Scott James Remnant <scott@netsplit.com>
* ltmain.in, libtoolize.in, commit, config/mailnotify: Correctly
quote usage of $basename and $dirname to avoid (unlikely) path
expansion.
* tests/sh.test: Test the config/ltmain.sh and libtoolize in the
build directory not the source directory, where they won't exist
during 'make distcheck'.
* ltmain.in: Revert one line of previous intendation clean-up
to enable one of the sh.test checks to pass.
* tests/cdemo/configure.ac: Drop AC_PREREQ back to 2.54, this
was debris from Gary's cvsapply going mad and wasn't backed
out.
* Makefile.am (pkgmacro_DATA): We have to distribute
m4/ltversion.m4 because it can be needed before the Makefile
that generates it exists.
2004-02-13 Gary V. Vaughan <gary@gnu.org>
* commit (MKSTAMP): Look for mkstamp in the right place.
2004-02-12 Scott James Remnant <scott@netsplit.com>
* Makefile.maint, Makefile: Move rules intended for Libtool
maintainers only out of the Makefile we distribute and into one
that we only need keep in CVS.
* README-alpha: Add -fMakefile.maint to the instructions where
needed.
2004-02-12 Albert Chin-A-Young <china@thewrittenword.com>
Scott James Remnant <scott@netsplit.com>
* ltmain.in: Fix typo: duplcations -> duplications,
Fix indentation of a handful of badly indented blocks,
Fix last remaining use of 'grep' to $GREP,
Remove unnecessary trailing slash where we break a line on a
command separator.
* m4/libtool.m4: Also remove unnecessary trailing slash where
we break a line on a command separator.
2004-02-12 Scott James Remnant <scott@netsplit.com>
* m4/ltoptions.m4: This got committed by an over-keen Gary,
but the support for this isn't ready yet and if aclocal decides
to m4_include this (which it will) you'll get a non-functioning
libtool. Removed.
* ltmain.in: Remove duplicated version checking block.
* bootstrap, m4/libtool.m4: Argh, Gary went crazy after cvsapply
went crazy and backed out more than he should've. This patch puts
some of it back again.
* ltmain.in, libtoolize.in, commit, config/mailnotify: Remove
$SED from definitions of $dirname and $basename and prefix each
use with it instead. Some shells (zsh) treat the expansion as
a single command instead of a command with arguments.
* config/mailnotify (func_sendmail): Look for sendmail in a
couple of common non-PATH locations as well.
* ltmain.in: Fix typo: macro's -> macros.
* ltmain.in: Correct definition of basename sed expression to
not include single quotes.
2004-02-12 Gary V. Vaughan <gary@gnu.org>
* libtoolize.in: Use $progpath as for ltmain.in to work around the
IRIX bug described below.
* commit, config/mailnotify: Ditto. Resynch with cvs-utils HEAD.
2004-02-12 Albert Chin-A-Young <china@thewrittenword.com>,
Gary V. Vaughan <gary@gnu.org>
* ltmain.in (progpath): Work around backward compatibility issue
on IRIX 6.5. On IRIX 6.4+, sh is ksh but when the shell is invoked
as "sh" and the current value of the _XPG environment variable is
not equal to 1 (one), the special positional parameter $0, within
a function call, is the name of the function. So, rather than
using "$0" in functions, we set $progpath in the body and use that
everywhere instead (incase of code refactoring later).
(EXIT_SUCCESS, EXIT_FAILURE, EXIT_MISMATCH): For clarity.
2004-02-12 Gary V. Vaughan <gary@gnu.org>
* Makefile.am (EXTRA_DIST): Remove config/mailnotify after all; it
is of no use in a distribution tarball.
2004-02-11 Gary V. Vaughan <gary@gnu.org>
* commit: Fix cut-n-paste error.
* commit: Completely change CVS/Root->name sed script to actually
work when :ext: is not shown.
* commit: Improve CVS/Root->name sed script to work when :ext: is
not shown.
2004-02-11 Albert Chin-A-Young <china@thewrittenword.com>
* m4/libtool.m4: Fix typo: testring -> teststring.
2004-02-11 Gary V. Vaughan <gary@gnu.org>
* commit: Mail a nicer commit notification.
2004-02-10 Gary V. Vaughan <gary@gnu.org>
* NEWS, bootstrap, configure.ac, ltmain.in, m4/libtool.m4:
* m4/lt~obsolete.m4, tests/cdemo/configure.ac: Arghh. cvsapply just
went crazy and committed a bunch of stuff that shouldn't have been
in the last changeset. The patch backs it all out.
* config/mailnotify: New file for mailing commit notifications,
imported from cvs-utils.
* commit: Updated from cvs-utils and tweaked for libtool.
* Makefile.am (EXTRA_DIST): Add config/mailnotify.
2004-02-06 Gary V. Vaughan <gary@gnu.org>
* bootstrap: Remove vcl.tmp, otherwise it can interfere with make.
* Makefile.am (vcl.tmp): Move comment out of multi-line command,
as this rule is called from bootstrap as if it were a Makefile.
* m4/ltversion.in: New file to capture what version number macros
are being used.
* Makefile.am (m4/ltversion.m4): New rule to create it from
m4/ltversion.in.
(nodist_pkgmacro_DATA): Add m4/ltversion.m4.
(EXTRA_DIST): Add m4/ltversion.in.
* m4/libtool.m4 (AC_LIBTOOL_SETUP): AC_REQUIRE LTVERSION_VERSION
from ltversion.m4.
* bootstrap: Call the Makefile.am to create an initial
m4/ltversion.m4.
* ltmain.in: Diagnose version mismatches of various flavours.
* TODO: Remove mismatch item.
* NEWS: Updated.
* Makefile.am ($(top_builddir)/config.status): Removed.
* configure.ac (CONFIG_STATUS_DEPENDENCIES): This substitution is
how automake-1.8 now informs all Makefiles when config.status
needs to be rebuilt.
Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>
* configure.ac (AC_CONFIG_FILES): Generate libtoolize from here.
* Makefile.am (libtool, libtoolize): These rules are redundant.
Automake generates better rules for remaking these files.
* m4/libtool.m4 (AC_LIBTOOL_SETUP): Catch unexpanded macros with
beginning with LT_ and _LT_.
* configure.ac (LT_MAJOR, LT_MINOR, LT_MICRO, LT_ALPHA): Renamed
to lt_major, lt_minor, lt_micro, lt_alpha to save triggering the
unexpanded macros error.
* m4/libtool.m4 (AC_PROVIDE_IFELSE): Removed. We now require
Autoconf 2.58, which ships this macro anyway.
* Makefile.am: Comment typo.
* m4/libtool.m4 (LT_PREREQ): Declare the minimum release number
that is required for the calling code.
* doc/libtool.texi (AC_PROG_LIBTOOL): Document it.
* NEWS: Updated.
2004-02-05 Peter O'Gorman <peter@pogma.com>
* ltmain.in (infer_tag, win32_libid): Style changes. Rename
infer_tag to func_infer_tag and win32_libid to func_win32_libid.
* m4/libtool.m4 (cygwin): rename win32_libid to func_win32_libid.
2004-02-04 Peter O'Gorman <peter@pogma.com>
* ltmain.in (infer_tag): Move tag inferrence to a shell function.
Also test $base_compile against $CC with escaped arguments. Bug
reported by Geoff Keating <geoffk@apple.com>.
2004-02-03 Scott James Remnant <scott@netsplit.com>
* Makefile.am (install-data-hook): Manually make config.guess
and config.sub executable after they are installed as _DATA.
We can't use _SCRIPTS because the various program name
transforms may be applied to them.
(dist_pkgdata_DATA): List config.guess and config.sub here
(pkgdata_SCRIPTS): instead of here.
2003-02-03 Scott James Remnant <scott@netsplit.com>
* ltmain.in: Create temporary directory under a strict umask
rather than running chmod afterwards, preventing a race
condition where the directory could be replaced with a symbolic
link in the time between the two commands.
2004-01-31 Peter O'Gorman <peter@pogma.com>
* m4/libtool.m4 (_LT_CONFIG_STATUS_DECLARE): Change `echo to
`$echo, causes problems when builtin echo is broken. Reported
by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
2004-01-27 Scott James Remnant <scott@netsplit.com>
This fixes release procedure problems discovered whilst making
the 1.5.2 release.
* Makefile.am (cvs-dist): Because we check whether ChangeLog
has been committed, this rule can't be run with uncommitted
source so we can't run 'commit' and don't need to run
'make dist' a second time. Fix CVS tag as it should be
"release-X" not "Release-X".
(cvs_commit): New rule for the cvs-release chain that runs
'commit'
(cvs-release): Depend on cvs-commit, depend on deltas instead of
cvs-diff and xdelta.
(cvs-diff): Removed, replaced with delta-diff.
(delta-diff): Unpack and diff the old and new tarballs rather
than using CVS, so we get a genuinely complete diff.
(xdelta): Removed, replaced with delta-xdelta.
(got-xdelta): New rule for improved reading.
(delta-xdiff): Copied and cleaned up version of old xdelta rule.
(deltas): Depends on delta-diff and delta-xdelta (make deltas).
(cvs-news): Don't depend on timestamps, cvs-dist itself does now.
(prev-tarball): This is the only place we need a LASTRELEASE check
so copy the code here and remove the CHECK_RELEASE variable.
(new-tarball): Check there's a new tarball (did cvs-dist work?)
(FETCHFILES): Remove obsolete libltdl mentions.
* README-alpha: Update CVS instructions as everything's changed
on Savannah.
(Release procedure): Update NEWS and ChangeLog after changing
the version number (both times); Run 'make fetch' after running
'configure' (difficult to do it beforehand); Require 'commit'
before 'make cvs-dist' as that checks ChangeLog is committed;
'make deltas' instead of 'cvs-diff' and 'xdelta', pass LASTRELEASE
to make instead of OLDVERSION (and it's mandatory); Clean up
uploading paragraph; Clearer announcement sending instruction;
Removed ftp-upload@gnu.org mail as that's not necessary now;
Make web page updating instructions a bit clearer; Add an instruction
to update the manual for non-alphas.
(Alpha release note template): Add a Subject; update CVS instructions.
(Full release note template): Add a Subject; update CVS instructions.
* configure.ac: Add dist-bzip2 to AM_INIT_AUTOMAKE as we talk
about bz2 files in our release announcements; remove old reference
to OLDVERSION.
2004-01-25 Scott James Remnant <scott@netsplit.com>
* NEWS: Include 1.5.2 release information.
2004-01-22 Gary V. Vaughan <gary@gnu.org>
This fixes a bug in the libtoolize ltdl source installation rules,
which were copying Makefile.in from the libtool tree into the
package running libtoolize. Now we explicitly list the files to
copy to force the package to generate its own Makefile.in:
* libltdl/Makefile.am (libltdl_la_SOURCES, libltdlc_la_SOURCES):
Add ltdl.h.
(ltdldatadir): New variable for installation directory of
libtoolize --ltdl files.
(ltdldata_DATA): Tell automake what files to copy there at install
time (and remove at unistall time!).
(local-install-files): Removed. This hack is not required
anymore, the automake generated install rules are much more
advanced than this.
* Makefile.am (install-data-hook, uninstall-local): Removed.
Libltdl files for libtoolize are installed by their own Makefile
now.
2004-01-22 Jeff Squyres <jsquyres@lam-mpi.org>
* m4/libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): Some compilers
(e.g. Intel Linux icc compiler) write temporary files to the current
directory. These compilers do support -c and -o simultaneously but
wrongly fail the test due to the failure to create temporary
files. It is incorrect to penalize compilers which write temporary
files to the current directory so the 'chmod -w .' is therefore
removed.
2004-01-22 Gary V. Vaughan <gary@gnu.org>
* m4/libtool.m4 (LT_AC_PROG_EGREP): Wrapper for AC_PROG_GREP.
AIX has a brain-dead grep that only handles lines < 2048
characters. Default GREP incase we are not using a future
autoconf that sets it for us :-) Changed all callers to use $GREP
instead of grep, and to AC_REQUIRE LT_AC_PROG_EGREP.
Declare GREP as a libtool config var.
* ltmain.in: Use it.
* tests/sh.test (scripts): Accept `if $GREP "^foo=bar"' by
tightening the regexp.
Reported by Albert Chin-A-Young <china@thewrittenword.com>
2004-01-21 Nick Hudson <skrll@netbsd.org>
* m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [netbsd*]: Remove
gratuitous ${libname}${release}${shared_ext} from
library_names_spec.
2004-01-21 Peter O'Gorman <peter@pogma.com>
* m4/libtool.m4 (AC_PROG_LD_RELOAD_FLAG): On darwin change the
reload_cmds to use $CC, otherwise ld will thin out any fat
objects.
2004-01-18 Benjamin Reed <ranger@befunk.com>
* ltmain.in: Fix handling of frameworks in search paths. Also
a one-liner fix to eval shrext in the libtool library search.
2004-01-16 Gary V. Vaughan <gary@gnu.org>
* configure.ac (AM_INIT_AUTOMAKE): Require 1.8 for bootstrap, or
else aclocal.m4 is huge, and m4 directory is not distributed.
* configure.ac (AC_CONFIG_HEADERS): Create config.h in
$top_srcdir.
* m4/ltdl.m4 (AC_LIB_LTDL): Run AC_CONFIG_HEADERS for the user if
necessary. Calculate filename from first argument to
AC_CONFIG_HEADERS, and substitute as CONFIG_H.
* libltdl/Makefile.am (AM_CPPFLAGS): Make sure we are searching in
$top_srcdir for headers.
(DEFS): Override the default HAVE_CONFIG_H with the config.h
filename.
(ltdl.lo): Reference config.h via $(CONFIG_H).
* libltdl/ltdl.c (HAVE_CONFIG_H): Ditto.
2004-01-15 Scott James Remnant <scott@netsplit.com>
* m4/lt~obsolete.m4: Add a file containing aclocal-fooling
macro definitions which stop the contents of an installed
libtool.m4 ending up in our aclocal.m4 when we bootstrap.
* Makefile.am (pkgmacro_DATA): Note that we don't need to add
lt~obsolete.m4 to this list.
2004-01-12 Gary V. Vaughan <gary@gnu.org>
* m4/libtool.m4 (_LT_COPYING): Factor out copyright message so it
only needs to be updated in one place.
(AC_LIBTOOL_CONFIG): Refactor to be more readable. Only add
tags if a compiler was found; ie if you have no gcj compiler,
don't tack the GCJ tag onto the generated libtool script.
2004-01-13 Peter O'Gorman <peter@pogma.com>
* m4/libtool.m4: Quote shrext as it is evaled in ltmain.
2004-01-11 Scott James Remnant <scott@netsplit.com>
* ltmain.in: new -precious-files-regex link mode option
to prevent removal of matching files from the temporary
output directory.
(Debian Bug #221420)
* doc/libtool.texi: document the new option.
* NEWS: announce the new option.
2004-01-11 Gary V. Vaughan <gary@gnu.org>
* libtoolize.in (func_copy_all_files): s/xfunc_copy/Xfunc_copy.
Now the test can actually succeed sometimes.
2004-01-09 Gary V. Vaughan <gary@gnu.org>
* libtoolize.in: Break out of the command argument parse loop when
-- is encountered.
2004-01-08 Gary V. Vaughan <gary@gnu.org>
* libtoolize.in (func_copy_all_files): s/test "x/test "X/ to keep
tests/sh.test happy.
2004-01-07 Gary V. Vaughan <gary@gnu.org>
* Makefile.am (aclocal_macros, aclocal_DATA): Removed.
(EXTRA_DIST): Remove m4 macro files; they are automatically
added by automake.
(pkgmacrodir): Where to install libtool macro files.
(pkgmacro_DATA): List installable libtool macro files.
(install-data-local): Remove previous versions of ltdl.m4 and
libtool.m4 from their old location.
* libtoolize.in: Use new pkgmacrodir installed macros when
libtoolizing a project. Treat libtool.m4 and ltdl.m4 specially,
and func_serial_update() any other files from pkgmacrodir.
(pkgmacrodir): Where to find installed libtool macro files.
(aclocaldir): Removed.
(func_copy_all_files): Add an optional callback parameter to
control how files are copied. If the callback is passed, don't
tell it whether it can copy or not.
(func_serial): Exchange parameters and make macro_regex optional,
so that this function can be used to extract serial numbers from
files with the traditional /^# serial [1-9][0-9]*$/ syntax.
Changed all callers.
(func_serial_update): Make macro_regex optional last parameter, so
that this function can be used as a callback for
func_copy_all_files(). Changed all callers.
* m4/ltsugar.m4: Add a serial number.
2004-01-07 Gary V. Vaughan <gary@gnu.org>
A complete rewrite of the m4 code involved in the generation of
libtool via config.status. The old way involved manually
synchronising disparate bits of shell code in several macros, to
quote a copy of a shell variable, put that in config.status, maybe
add it to some quotation loops to prevent early expansion, and
then add a block to _LT_CONFIG_COMMANDS to bring it into the
libtool script. The new way is to mark shell variables for
propogation using _LT_DECL for language independent variables, or
_LT_TAGDECL for those that need to be propogated in several
language flavours. The marking can be done in the macro that
probes the variables, and this new m4 machinery takes care of
synchronising all the other bits of code at autoconf time:
* m4/ltsugar.m4: New file. Macros that are useful outside the
context of libtool. Initially, contains some generalised list
management macros, and the scaffolding for dictionary type data
storage and retrieval.
* Makefile.am (aclocal_macros): Install ltsugar.m4.
* m4/libtool.m4 (_LT_DECL): Mark a shell variable for export to
the libtool script, along with a comment, and hints for quoting
and renaming.
(_LT_TAGDECL): Similarly mark a tagged shell variable for export
in each tag.
(lt_decl_tag_varnames, lt_decl_quote_varnames)
(lt_decl_dquote_varnames, lt_decl_varnames_tagged)
(lt_decl_all_varnames): New utility macros for managing lists of
shell variable names from _LT_DECL and _LT_TAGDECL.
(_LT_CONFIG_STATUS_DECLARATIONS, _LT_CONFIG_STATUS_DECLARE):
Expand to correctly quoted variable declarations in config.status
from all marked shell variables.
(_LT_LIBTOOL_DECLARE): Expand to commented and quoted variable
declaration for libtool tag section.
(_LT_LIBTOOL_CONFIG_VARS, _LT_LIBTOOL_TAG_VARS): Pass all marked
variables to _LT_LIBTOOL_DECLARE.
(_LT_CONFIG_COMMANDS): Use _LT_CONFIG_STATUS_DECLARATIONS and
friends to generate all the variable passing shell code for
config.status, to get marked variables from libtool.m4 into
libtool itself eventually.
(AC_LIBTOOL_CONFIG): Generate marked variable code for libtool tag
configuration. Changed all client macros to mark variables
suitably rather than the hand pasting that was necessary
previously.
(AC_PROG_SED): Renamed from LT_AC_PROG_SED.
(LT_AC_PROG_SED): Wrap AC_PROG_SED, and mark shell variables for
propogation to the libtool script.
2004-01-07 Gary V. Vaughan <gary@gnu.org>
* libtoolize.in (seen_gettext): Removed unused variable.
2004-01-06 Gary V. Vaughan <gary@gnu.org>
* libtoolize.in (func_scan_files): Don't assume the existence of
aclocal.m4. Make the comment more descriptive.
Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>
* NEWS: Note libtoolize changes.
* ChangeLog.2003: New file, containing all the ChangeLog entries
from 2003. Trimmed ChangeLog accordingly.
* ltmain.in: Output 2004 in the copyright from libtool --version.
2004-01-03 Stefan Nordhausen <nordhaus@informatik.hu-berlin.de>
Scott James Remnant <scott@netsplit.com>
* ltmain.in: Don't use the mkdir -p option when creating a
temporary output directory so a symlink attack can't be used to
arbitrarily chmod other directories on the system if libtool
gets run as root.
2004-01-02 Peter O'Gorman <peter@pogma.com>
* m4/libtool.m4: Ensure that ${ZSH_VERSION+set} is properly escaped.
* m4/libtool.m4 (CDPATH): Change the CDPATH setting so that it
allows for zsh differences, as noted in the autoconf manual's
Portable Shell - Special Shell Variables section.
2004-01-02 Scott James Remnant <scott@netsplit.com>
* .cvsignore: Ignore stamp-vcl created by the Makefile.
2004-01-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
Joe Orton <joe@manyfish.co.uk>
* m4/libtool.m4 (AC_LIBTOOL_CONFIG): Add extra blackslash
in front of all the inner double-quotes as this is removed
on Solaris, IRIX and AIX leading to broken definitions
in config.status.
2004-01-02 Scott James Remnant <scott@netsplit.com>
* NEWS: Next release will be in 2004.
Continued in ChangeLog.2003
$Revision$ $Date$