2004-08-29  Gary V. Vaughan  <gary@gnu.org>

	* configure.ac: Bumped version to 1.9b.
	* NEWS: Updated.
	* INSTALL, config/config.guess, config/config.sub,
	config/texinfo.tex: Updated from canonical source.
	* Makefile.maint, HACKING: Update instructions for releasing in a
	VPATH build.

	* Makefile.am (dist-hook): Only run if README-alpha exists.
	* README.alpha: Renamed from README-alpha to stop automake from
	automatically adding it to DIST_COMMON.

	* NEWS: Merge changes from branch-1-5.

	* Makefile.am (dist-hook): Always distribute just a README file,
	but take its contents from README-alpha for alpha releases.

	* TODO: Reformat.  Removed some items that have been implemented.

2004-08-29  Gary V. Vaughan  <gary@gnu.org>

	Add a new `-weak' flag to tell libtool when not to propogate
	dependency libraries from dlpreopened modules to libraries:

	* config/ltmain.in: Support new -weak link mode option.  Adjust
	help message.
	* libltdl/Makefile.am (libltdlc_la_LDFLAGS): Use it.
	* doc/libtool.texi (Linking with dlopened modules): Document it.
	(Link mode): Mention -weak.
	* NEWS: Updated.

2004-08-29  Gary V. Vaughan  <gary@gnu.org>

	* config/ltmain.in (opt_help): Defer showing help messages until
	after a possible following --mode argument has been parsed, so we
	can handle `libtool --help --mode=foo'.

2004-08-29  Gary V. Vaughan  <gary@gnu.org>

	We have had shell functions in ltmain.in for a few years without
	complaint now, and recently a few more have crept in.  Make a
	start at refactoring the code with shell functions, and
	standardising on option parsing style:

	* config/ltmain.in (func_echo, func_verbose, func_error)
	(func_fatal_error, func_fatal_help, func_missing_arg)
	(func_version, func_usage, func_help): Boiler plate shell
	functions mostly copied from libtoolize.in.  Changed *lots* of
	shell snippets to call these functions as appropriate, rather than
	inlining the same code over and over.
	(func_config, func_features, func_enable_tag, func_mode_help):
	Factored out from the shared option parsing loop.  Write a new
	shared option parser based on the one in libtoolize.in.
	(func_check_version_match): Factored out from global scope.
	(func_mode_compile, func_mode_execute, func_mode_finish)
	(func_mode_install, func_mode_link, func_mode_uninstall): Break
	each of the top level mode handlers out into a function.  Adjust
	main loop.
	(modename, prevopt, prev, optarg, show_help): Removed in the
	course of cleaning up the shared option parser.
	(opt_duplicate_deps): Use `:' and `false' instead of `yes' and `',
	so we can run it directly, rather than calling test.

2004-08-28  Gary V. Vaughan  <gary@gnu.org>

	To help users submit better bug reports, improve the general
	instructions, and provide additional useful info alongside the bug
	reporting address in --help output:

	* Makefile.am (edit): Substitute $host_triplet.
	* libtoolize.in: Output useful debug info with --help.
	* config/ltmain.in: Ditto.
	* README: Rewritten.  Added copyright info.
	* README-alpha: Rewritten.  Added copyright info.
	* HACKING: New file, partly taken from old README-alpha.

2004-08-27  Gary V. Vaughan  <gary@gnu.org>

	Two things to stop `make distcheck' from trying to rebuild
	distributed files (m4/ltversion.m4 and config/ltmain.in) in the
	readonly source tree:

	* Makefile.am (stamp-vcl): Keep only one copy of stamp-vcl; in
	$(top_srcdir), so that an up-to-date version is rolled into the
	dist tarball even from a VPATH build.
	($(top_srcdir)/config/ltmain.sh): Don't depend on Makefile,
	otherwise ltmain.sh needs to be rebuilt after every config.status
	run, and then configure needs to be rebuilt, and it all goes
	horribly wrong :-/  Unfortunately, we can't depend on Makefile.am
	either, because that is a circular dependency.  The downside of
	this change is that it is now possible to edit Makefile.am to
	change the way ltmain.sh is generated, and the dependency
	information can't tell that ltmain.sh needs regenerating.

2004-08-27  Gary V. Vaughan  <gary@gnu.org>

	* doc/libtool.texi (Cheap tricks): Escape the `@' for texinfo.

2004-08-27  Gary V. Vaughan  <gary@gnu.org>

	* doc/libtool.texi (Cheap tricks): Fix the instructions for making
	a ltmain.in wrapping libtool in light of recent changes to the
	version checking code.

2004-08-26  Peter O'Gorman  <peter@pogma.com>

	* config/ltmain.in [darwin]: Use the -dylib_file flag and avoid
	linking to so many libraries on darwin.

	* m4/libtool.m4 [darwin]: Don't use a libname triplet, a couplet
	is perfectly fine.

	* m4/ltdl.m4: Don't use the dyld loader on darwin 8 or later.

2004-08-25  Paolo Bonzini  <bonzini@gnu.org>

	* config/ltmain.in (piecewise linking): Use a GNU ld script if
	possible.
	* m4/libtool.m4 (_LT_LINKER_SHLIBS): Add per-tag variable
	with_gnu_ld.
	(_LT_LANG_CXX_CONFIG): Don't set unused variable with_gnu_ldcxx.

2004-08-22  Gary V. Vaughan  <gary@gnu.org>

	The Grand Renaming.  In preparation for libtool-2.0, move all of
	the many and varied m4 symbols accumulated by libtool over the
	years, considering also that modern autoconf can detect unexpanded
	macros even without AC in the macro name:

	* bootstrap: Remove libltdl/config.h from previous releases.
	* m4/libtool.m4, m4/ltdl.m4, doc/libtool.texi: Basically, run a
	giant sed transformation like this:
	s,AC_LIB_LTDL,LTDL_INIT,g
	s,AC_LIBLTDL_CONVENIENCE,LTDL_CONVENIENCE,g
	s,AC_LIBLTDL_INSTALLABLE,LTDL_INSTALLABLE,g
	s,AC_WITH_LTDL,LT_WITH_LTDL,g
	s,AC_LTDL_ENABLE_INSTALL,_LT_ENABLE_INSTALL,g
	s,AC_DEPLIBS_CHECK_METHOD,_LT_CHECK_MAGIC_METHOD,g
	s,AC_LIBTOOL_OBJDIR,_LT_CHECK_OBJDIR,g
	s,AC_LTDL_OBJDIR,_LT_CHECK_OBJDIR,g
	s,AC_LTDL_DLPREOPEN,_LT_CHECK_DLPREOPEN,g
	s,AC_LIBTOOL_SYS_MAX_CMD_LEN,LT_CMD_MAX_LEN,g
	s,AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE,_LT_CMD_GLOBAL_SYMBOLS,g
	s,AC_LIBTOOL_SYS_OLD_ARCHIVE,_LT_CMD_OLD_ARCHIVE,g
	s,AC_PROG_LD_RELOAD_FLAG,_LT_CMD_RELOAD,g
	s,AC_LIBTOOL_SYS_LIB_STRIP,_LT_CMD_STRIPLIB,g
	s,AC_CHECK_LIBM,LT_LIB_M,g
	s,AC_LTDL_DLLIB,LT_LIB_DLLOAD,g
	s,AC_LIBTOOL_COMPILER_OPTION,_LT_COMPILER_OPTION,g
	s,AC_LIBTOOL_PROG_CC_C_O,_LT_COMPILER_C_O,g
	s,AC_LIBTOOL_PROG_COMPILER_NO_RTTI,_LT_COMPILER_NO_RTTI,g
	s,AC_LIBTOOL_PROG_COMPILER_PIC,_LT_COMPILER_PIC,g
	s,AC_LIBTOOL_SYS_HARD_LINK_LOCKS,_LT_COMPILER_FILE_LOCKS,g
	s,AC_LTDL_DLSYM_USCORE,LT_FUNC_DLSYM_USCORE,g
	s,AC_LIBTOOL_LINKER_OPTION,_LT_LINKER_OPTION,g
	s,AC_LIBTOOL_PROG_LD_SHLIBS,_LT_LINKER_SHLIBS,g
	s,AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH,_LT_LINKER_HARDCODE_LIBPATH,g
	s,AC_PATH_MAGIC,_LT_PATH_MAGIC,g
	s,AC_PATH_TOOL_PREFIX,_LT_PATH_TOOL_PREFIX,g
	s,AC_PROG_LD,LT_PATH_LD,g
	s,AC_PROG_LD_GNU,_LT_PATH_LD_GNU,g
	s,AC_PROG_NM,LT_PATH_NM,g
	s,AC_LTDL_SYS_DLOPEN_DEPLIBS,LT_SYS_DLOPEN_DEPLIBS,g
	s,AC_LIBTOOL_DLOPEN_SELF,LT_SYS_DLOPEN_SELF,g
	s,AC_LIBTOOL_POSTDEP_PREDEP,_LT_SYS_HIDDEN_LIBDEPS,g
	s,AC_LTDL_SYSSEARCHPATH,LT_SYS_DLSEARCH_PATH,g
	s,AC_LTDL_SHLIBEXT,LT_SYS_MODULE_EXT,g
	s,AC_LTDL_SHLIBPATH,LT_SYS_MODULE_PATH,g
	s,AC_LTDL_SYMBOL_USCORE,LT_SYS_SYMBOL_USCORE,g
	s,AC_LIBTOOL_SYS_DYNAMIC_LINKER,_LT_SYS_DYNAMIC_LINKER,g
	s,_LT_AC_TAGVAR,_LT_TAGVAR,g
	s,_LT_AC_SYS_COMPILER,_LT_TAG_COMPILER,g
	s,_LT_AC_PROG_ECHO_BACKSLASH,_LT_PROG_ECHO_BACKSLASH,g
	s,_LT_AC_SYS_LIBPATH_AIX,_LT_SYS_MODULE_PATH_AIX,g
	s,_LT_AC_SHELL_INIT,_LT_SHELL_INIT,g
	s,_LT_AC_LOCK,_LT_ENABLE_LOCK,g
	s,_LT_AC_CHECK_DLFCN,_LT_HEADER_DLFCN,g
	s,_LT_AC_TRY_DLOPEN_SELF,_LT_TRY_DLOPEN_SELF,g
	s,LT_AC_PROG_EGREP,_LT_DECL_EGREP,g
	s,LT_AC_PROG_SED,_LT_DECL_SED,g
	* doc/libtool.texi (Autoconf macros): Document exported macros.
	* libtoolize.in: Compare ltdl.m4 serial numbers for LTDL_INIT
	instead of newly obsoleted AC_LIB_LTDL.
	(func_scan_files): Also set seen_ltdl for LTDL_INIT and
	LT_WITH_LTDL.

2004-08-12  Peter O'Gorman  <peter@pogma.com>

	* m4/libtool.m4 [GNU/linux] (AC_DEPLIBS_CHECK_METHOD): Cleanup,
	thanks to Daniel Reed.

2004-08-11  Daniel Reed  <djr@redhat.com>

	* tests/demo-nopic.test: Do not run on x86_64 or s390*

2004-08-06  Gary V. Vaughan  <gary@gnu.org>

	* libltdl/ltdl.c (lt_dlforeachfile): LT_SYS_LIBSEARCH_PATH is not
	an environment variable, it is an actual path.

	* bootstrap: Remove `-f Makefile.am' now that we have an actual
	Makefile to build ltmain.sh.
	Reported by Noah Mish <noah@cs.caltech.edu>

2004-08-05  Gary V. Vaughan  <gary@gnu.org>

	* bootstrap: Run the bootstrap rules from a file named Makefile,
	copied from Makefile.am for fresh checkouts.

2004-08-05  Alexandre Duret-Lutz  <adl@gnu.org>

	* m4/libtool.m4 (_LT_PROG_LTMAIN): Require ltmain.sh using
	using Autoconf's new AC_REQUIRE_AUX_FILE.

2004-08-05  Gary V. Vaughan  <gary@gnu.org>

	* Makefile.am ($(top_srcdir)/config/ltmain.sh): Depends on
	Makefile.
	(timestamp): Factor out timestamp setting and edit it based on the
	version number, so that it is empty for release versions.
	($(top_srcdir)/config/ltmain.sh): Use it.
	(libtoolize): Ditto.

	* Makefile.am (libtool): Depends on ltmain.sh.
	(libtoolize): Set and substitute TIMESTAMP.

	* Makefile.am ($(top_srcdir)/config/ltmain.sh): Actually run
	$(MKSTAMP) before changing directories, or it won't be found.
	Forgot to save before my last commit :-(

	* Makefile.am ($(top_srcdir)/m4/ltversion.m4): Since we already did
	`cd $(top_srcdir)' for this rule, we can't mv ltversion.tmp to the
	relative $(top_srcdir) again!  Also, run $(MKSTAMP) before changing
	directories, or it won't be found.
	($(top_srcdir)/config/ltmain.sh): Ditto.
	(EXTRA_DIST): We should distribute ltversion.m4 too.

2004-08-04  Peter O'Gorman  <peter@pogma.com>

	* m4/libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Since CONFIG_SHELL may
	not actually be set, we should use SHELL here, also make darn sure
	that SHELL is set to something. Bug from Willem Jan Palenstijn
	<wpalenst@math.leidenuniv.nl>.

2004-08-03  Jacob Meuser <jakemsr@jakemsr.com>

	* ltmain.in: Allow some static libraries to be used in generating a
	shared library on NetBSD and OpenBSD. match-pattern_regex decides
	which are good.

2004-08-02  Geoffrey Keating  <geoffk@apple.com>

	* m4/libtool.m4 [darwin]: Don't use -all_load.

2004-08-01  Maciej W. Rozycki  <macro@linux-mips.org>

	* m4/libtool.m4 (LT_AC_PROG_SED): Set SED when running from cache as
	well.

2004-07-31  Gary V. Vaughan  <gary@gnu.org>

	Although libtool is optimised to not need to subconfigure libltdl,
	the installed libltdl sources for libtoolize need to put
	libltdl/configure.ac in the parent package so that *it* can
	subconfigure libltdl.  That way we don't put any constraints on
	the build system used by the parent package because the
	libtoolized libltdl subtree is a self-contained sub-project:

	* libltdl/Makefile.am (EXTRA_DIST): Add configure.ac.
	(nobase_ltdldata_DATA): Change back to libltdl's own
	configure.ac.

2004-07-30  Gary V. Vaughan  <gary@gnu.org>

	My thanks to Alexandre Duret-Lutz <adl@gnu.org> for the insight
	required to write this changeset -- especially that ltmain.sh is
	the same on any machine for a given release, which I hadn't
	noticed for some bizarre reason: It turns out that generating
	distributed files from configure causes no end of hassle, as
	evidenced by the many patches I've generated over the last few
	days to try and get the dist and distcheck make rules to work.
	Instead of all that hair, we now simply generate our distributed
	files (now including ltmain.sh) with make rules -- and since
	automake creates make variables for all AC_SUBSTs, that is really
	easy.  The code looks a lot more like automake and autoconf
	Makefile.ams now, and doesn't have all the rough edges the earlier
	hacky solution suffered from.  We still generate libtool from
	config.status, but that is not a distributed file, and doesn't
	break the golden rule.  Besides, there is way more going on there
	than a bunch of substitutions:

	* Makefile.am (edit): New common sed substitutions for files now
	generated by make instead of config.status.
	(CLEANFILES): Clean new tmp files.
	(EXTRA_DIST): Add ltmain.sh.
	(vcl-tmp): Reinstated.
	(m4/ltversion.m4, config/ltmain.sh): New rules.  Generate from
	here instead of config.status.
	(libtoolize): Ditto.
	(libtool): Call config.status to regenerate if necessary.
	(dist-hook): Removed.
	* config/ltmain.in: Moved here from top_srcdir.
	* README-alpha: Update instructions to check AS_SHELL_SANITIZE is
	up to date.
	* bootstrap: Rewritten.  Generate m4/ltversion.m4 and
	config/ltmain.sh because configure depends on them.
	* configure.ac (AC_CONFIG_SRCDIR): Use libtoolize.in now that
	ltmain.in has moved.
	(AC_CONFIG_FILES): Don't generate distributed files,
	config/ltmain.sh and libtoolize from config.status.  We have make
	rules to do that now.

2004-07-30  Peter O'Gorman  <peter@pogma.com>

	* m4/libtool.m4, ltmain.in: readd the comments that I erased.

	* ltmain.in [darwin]: We already had a module var, there can be
	only one.

	* m4/libtool.m4, ltmain.in: autoconf now says the best thing to do
	with CDPATH is to (unset CDPATH) >/dev/null 2>&1 && unset CDPATH,
	so do it.

2004-07-29  Gary V. Vaughan  <gary@gnu.org>

	* Makefile.am ($(top_srcdir)/config/ltmain.sh): Ugh. More hair to
	help `make distcheck'; not only do we have to make a copy of
	ltmain.sh available in the source tree, but we have to be really
	careful about permission bit twiddling when we copy it across into
	the possible read-only $(top_srcdir)/config directory!

	* tests/tagtrace.test: Skip this test when running a VPATH build
	against a read-only source tree (as in distcheck for example),
	since autoconf wants to write temporary files in $top_srcdir
	otherwise.

	* Makefile.am ($(top_srcdir)/config/ltmain.sh): Automake assumes,
	quite rightly for every project except libtool, that there will be
	an ltmain.sh in the source tree.
	(EXTRA_DIST): As do the dist rules it generates.
	(dist-hook): Even though we definitely don't want to distribute
	our local ltmain.sh.

	* config/config.guess, config/config.sub: Don't check these in,
	they cause spurious conflicts on cvs commit and update, and are
	added by bootstrap in any case.

	* configure.ac (AC_INIT): Revert an accidental commit from my
	testing of package_revision.

2004-07-29  Alexandre Duret-Lutz  <adl@gnu.org>

	* doc/libtool.texi (Tags): Document CC.
	* m4/libtool.m4 (_LT_SETUP): Register CC as supported tag so that
	Automake uses it.

2004-07-28  Gary V. Vaughan  <gary@gnu.org>

	Fix a long-standing bug where macro_version was always empty in
	the generated m4/ltversion.m4.  Except for CVS revisions:

	* ltmain.in (package_revision): Don't try to deduce it from
	TIMESTAMP, since that is empty for release versions; simply
	substitute it...
	* configure.ac (package_revision): ...from here, having
	precalculated it before resetting TIMESTAMP for release versions.
	* bootstrap: Force regeneration of m4/ltversion.m4, but retain
	timestamps if there is no change to the content.

2004-07-28  Gary V. Vaughan  <gary@gnu.org>

	To take full advantage of this, libtool must be bootstrapped with
	CVS autoconf, otherwise pdksh chokes on some nested escaped quotes
	from libtool.m4.  Using CVS autoconf protects configure from
	non-bourne compatible shells in the same way this changeset
	protects libtool and libtoolize:

	* libtoolize.in: Include latest CVS autoconf AS_SHELL_SANITIZE
	expansion to make various shells fully bourne compatible.
	* ltmain.in: Ditto.
	* m4/libtool.m4 (AC_PATH_TOOL_PREFIX): Remove spurious quotes, the
	RHS of = assignment is not IFS split.
	(_LT_LANG_CXX_CONFIG): Ditto.
	(AC_LIBTOOL_POSTDEP_PREDEP): Ditto.

2004-07-27  Gary V. Vaughan  <gary@gnu.org>

	This change fixes another VPATH build bug, where the vcl.tmp
	target forced a rebuild of stamp-vcl in the build tree (and
	hence regeneration of m4/ltversion.m4, thus an automake driven
	rebootstrap that doesn't know about $fakes) requiring a fresh
	./bootstrap after every cvs/tla update:

	* Makefile.am (vcl.tmp): Removed.
	(stamp-vcl): Adopt former vcl.tmp target rules.

2004-07-25  Gary V. Vaughan  <gary@gnu.org>

	* ltmain.in: Make sure that dependency libraries of -dlpreopened
	libraries are propogated properly.

2004-07-23  Joe Orton  <joe@manyfish.co.uk>

	* libtool.m4: Treat bsdi5* like bsdi4*.

2004-07-22  Peter O'Gorman  <peter@pogma.com>

	* ltmain.in [darwin](func_extract_archives): $SED not sed.

	* ltmain.in [darwin](func_extract_archives): Clean up last commit
	a little, some suggestions are from Albert Chin, those that are
	broken are mine.

	* libltdl/Makefile.am, libltdl/loaders/Makefile.am: Look for
	included files in the right places.

2004-07-18  Peter O'Gorman  <peter@pogma.com>

	* ltmain.in [darwin](func_extract_archives): Because fat archives
	on darwin can not be extracted using ar, we need to use lipo to
	extract the thin archives and then use lipo again to generate the
	individual fat objects. This should allow people to run configure
	with CC set to "cc -arch ppc -arch ppc64" or "cc -arch ppc -arch
	i386" or whatever to match the toolchain they have available.

2004-07-18  Greg Eisenhauer  <eisen@cc.gatech.edu>

	* libltdl/loaders/Makefile.am: Use AM_MAKEFLAGS not MAKEFLAGS.

2004-07-18  Peter O'Gorman  <peter@pogma.com>

	* libltdl/Makefile.am: Ensure that lt__dirent.h is part of the dist,
	also make failed looking for configure.ac, look for
	$(top_srcdir)/configure.ac instead.

2004-07-15  Gary V. Vaughan  <gary@gnu.org>

	* libltdl/lt__private.h (lt_dlhandle_struct): Renamed to
	lt__handle to better reflect the naming scheme.
	* libltdl/ltdl.h (lt_dlhandle): Be truly opaque with a void *.
	* libltdl/lt_dlloader.c (lt_dlloader_remove): Party to
	lt__private.h, so use internal lt__handle instead of opaque
	lt_dlhandle.
	* libltdl/ltdl.c (LT_DLGET_FLAG, LT_DLSET_FLAG): Add a cast to
	internal lt__handle type.
	(try_dlopen, tryall_dlopen, load_deplibs, unload_deplibs): Ditto.
	(lt_dlexit, lt_dlclose, lt_dlsym): Use lt__handle to iterate
	throught the handle list.
	(try_dlopen): Use lt__zalloc instead of MALLOC and memset.
	* libltdl/ltdl.h (lt_dlcaller_id): Be truly opaque with a void *.
	(lt_dlhandle_interface): New callback type for filtering handles
	according to the interface they present.
	* libltdl/ltdl.c (lt_dlcaller_register): Take an id and an
	interface check callback, and generate a caller_id.
	(iterator): New static variable for the use of...
	(lt_dlhandle_first): New function.  Set the iterator for
	subsequent calls to lt_dlhandle_next.
	(lt_dlhandle_next): Either work as before when iterator is unset,
	or else skip handles that fail the interface check in iterator set
	by lt_dlhandle_first.
	* libltdl/ltdl.h (lt_dlhandle_first): Declaration.
	* doc/libtool.texi (User defined module data): Document the new
	APIs.
	* NEWS: Updated.

2004-07-15  Gary V. Vaughan  <gary@gnu.org>

	Split lt_dlloader management into a separate file, and factor
	`loaders' list management into a new SList ADT.  In the process,
	the API for writing loaders is a little cleaner, so all the
	existing loaders were tweaked to take advantage of that:

	* libltdl/slist.h, libltdl/slist.c: New files implementing a
	generic singly linked list container ADT.  The ADT is purely
	internal, and none of its API's are visible from an installed
	libltdl.
	* libltdl/lt_dlloader.h (lt_dlloader): Removed next field again
	:-) Renamed to lt_dlvtable for API.  Changed all callers.
	(lt_dlloader_get): New function to turn an lt_dlloader into its
	associated lt_dlvtable.
	(lt_dlloader_add): Removed unused data parameter.  The caller
	data belongs to (and is set by) the loader itself, not the
	loader's client.  Changed all callers.
	(lt_dlloader_name, lt_dlloader_data): Removed.  Use
	lt_dlloader_get instead!
	* libltdl/lt__private.h: Include slist.h.
	(lt__alloc_die_callback): Add missing LT_SCOPE to declaration.
	(lt_dlhandle_struct): Use lt_dlvtable instead of opaque
	lt_dlloader.
	* libltdl/ltdl.c (lt_dlexit): Rewritten for the new loader API.
	(loaders, lt_dlloader_add, lt_dlloader_remove, lt_dlloader_next,
	lt_dlloader_find): Moved from here...
	* libltdl/lt_dlloader.c ((loaders, lt_dlloader_add,
	lt_dlloader_remove, lt_dlloader_next, lt_dlloader_find): ...to
	here.  And rewritten in terms of new SList interface.
	* libltdl/ltdl.c (lt_dlexit, tryall_dlopen): Rewritten in terms of
	new lt_dlloader interface.
	* libltdl/Makefile.am (libdlloader_la_SOURCES): Add slist.h and
	slist.c.  Move lt_dlloader.h from here...
	(pkginclude_HEADERS): ...to here.
	(libltdl_la_SOURCES): Add lt_dlloader.c and lt_dlloader.h.

2004-07-15  Gary V. Vaughan  <gary@gnu.org>

	Collapse two almost identical structures into one:

	* libltdl/lt_dlloader.h (lt_dlloader): Add next field.
	* libltdl/ltdl.c (lt_user_dlloader): Remove entirely.  Change all
	callers to use lt_dlloader instead.  Add a compatibility macro.
	(lt_dlloader_add): Remove copy and allocate stage, just hook
	directly into the loaders list.

2004-07-15  Gary V. Vaughan  <gary@gnu.org>

	A cleaner way to access the private fields of an lt_dlhandle
	than my move of the module field into lt_dlinfo:

	* libltdl/ltdl.c (lt_caller_data, lt_dlhandle_struct): Move from
	here...
	* libltdl/lt__private.h (lt_caller_data, lt_dlhandle_struct):
	...to here.  And put the module field back here...
	* libltdl/ltdl.h (lt_dlinfo): ...instead of here.
	* libltdl/loaders/loadlibrary.c (vm_open): Adjust.

2004-07-15  Gary V. Vaughan  <gary@gnu.org>

	* libltdl/lt__private.h (streq, strneq): New macros to make strcmp
	calls as used for simple comparison easier to read.
	* libltdl/loaders/dyld.c, libltdl/loaders/preopen.c,
	libltdl/ltdl.c: Use them!

2004-07-15  Gary V. Vaughan  <gary@gnu.org>

	This pervasive changeset makes two intertwined deep changes to the
	operation of libtool (neither would work alone).  First, there is
	a new feature that allows libraries to preopen modules.  This
	entails a backwards incompatible change to the libltdl API for
	separating out the preloaded symbol lists by owner.  Second, in
	the tradition of "eating our own dogfood", libltdl now preloads
	its own dlloaders.  The internal API for dlloaders has also had to
	change in a backwards incompatible way in support of the new
	library preloading feature.  If you don't use preloaded libraries,
	you needn't change your project sources, though you will need to
	recompile against the new libltdl.  The API changes are mostly
	confined to dlloaders, so you probably needn't worry about those
	(unless you have written a custom loader that you want libltdl to
	use):

	* configure.ac (AC_CONFIG_FILES): Add libltdl/loaders/Makefile.
	* libltdl/configure.ac (AC_CONFIG_FILES): Add loaders/Makefile.
	* libltdl/loaders: New directory for module loaders, to simplify
	Makefile rules, and to give the loaders themselves names that are
	unique in the first few characters.
	* libtoolize.in (func_copy_all_files): Copy recursively to pick up
	the loaders directory contents.
	* libltdl/loaders/Makefile.am: New file.  Move module building
	rules to here...
	* libltdl/Makefile.am: ...from here.
	(VERSION_INFO): Bumped version info to signify interface changes.
	(libltdl_la_CPPFLAGS, libltdlc_la_CPPFLAGS): Set LTDLOPEN
	appropriately for each library.
	* libltdl/loader-dld_link.c, libltdl/loader-dlopen.c,
	libltdl/loader-dyld.c, libltdl/loader-load_add_on.c,
	libltdl/loader-loadlibrary.c libltdl/loader-preopen.c,
	libltdl/loader-shl_load.c: Moved from here...
	* libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c,
	libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c,
	libltdl/loaders/loadlibrary.c libltdl/loaders/preopen.c,
	libltdl/loaders/shl_load.c: ...to here.
	(get_vtable): New entry function for each.
	* libltdl/loaders/preopen.c (lt_dlsymlists_t): Replaced by...
	(symlist_chain): ...a new structure which maps lists of preloaded
	symbols from the object that loads them.
	(lt_dlpreload_open): New function to automatically open all
	preloaded modules belonging to a named object (ORIGINATOR).
	* libltdl/lt__alloc.c (lt__zalloc): New function to return a block
	of zeroed out new memory.
	* libltdl/lt__alloc.h (lt__zalloc): Prototype it.
	* libltdl/lt__private.h (lt__alloc_die_callback): Add missing
	prototype.
	(lt__error_strings): Make this opaque to callers.
	* libltdl/lt_error.c (lt__error_strings): Move the implementation
	to here.
	* libltdl/lt_dlloader.h (lt_user_dlloader): Add extra fields to
	make originator focused preloading possible.  *BREAKS BACKWARDS
	COMPATIBILITY*
	(lt_dlloader_add): Take advantage of new fields to simplify
	paramater list.
	* libltdl/lt_system.h (LT_STR): New ANSI stringification macro.
	(LT_CONC): Fix it to work from within macros.
	* libltdl/ltdl.c (loader_init, loader_init_callback): Simplify
	dlloader loading.
	(get_vtable, preloaded_symbols): Point these at the preopen.c
	symbols to bootstrap the loader chain.
	(lt_dlinit): Load the preopen dlloader manually, and then use it
	to load any other preloaded dlloaders.
	(lt_dlloader_add): Simplify parameter list. Populate new
	fields. Chain new loaders according to priority field.
	* libltdl/ltdl.h (lt_dlsymlist): Add a new originator field.
	(lt_dlpreload_callback_func): Type of a callback for automatic
	lt_dlpreload_open loading.
	(LTDL_SET_PRELOADED_SYMBOLS): Adjust to hook into preloaded
	symbols from the "@PROGRAM@" originator.
	* tests/demo/dlmain.c (main): Use mangled preloaded_symbols symbol.
	* tests/pdemo/longer_file_name_dlmain.c (main): Ditto.
	* ltmain.in: Don't spew spurious warnings when dlopening and
	dlpreopening modules.
	(func_generate_dlsyms): Factored out from multiple copies in the
	rest of the code. Generate originator keyed symbol lists.
	(func_extract_archives): Also factored.  Extract the contents of
	convenience archives for linking with dependent libraries when
	--whole-archive is not available.
	[darwin]: Don't try to link $old_library unless it exists, and
	$lib is a bundle.
	* m4/ltdl.m4 (AC_LTDL_DLLIB): Check for all possible dynamic
	loading libraries/apis rather that stopping when an acceptable one
	is discovered.
	(LT_DLLOADERS): New variable for holding dlloaders that can be
	preloaded.
	* doc/libtool.texi: Document interface changes.
	* NEWS: Updated.

2004-07-12  Peter O'Gorman  <peter@pogma.com>

	* m4/libtool.m4 [darwin]: Set whole_archive_flag_spec to '' for xlc,
	or it does not pass it's tests. xlc passes -noall_load (the default)
	and when -all_load is also specified Apple's /usr/bin/libtool barfs
	and dies.

2004-07-07  Gary V. Vaughan  <gary@gnu.org>

	* libltdl/ltdl.h (lt_dlinfo): Move private module field to here...
	* libltdl/ltdl.c (lt_dlhandle_struct): ...from here.  Changed all
	callers.
	* libltdl/loader-loadlibrary.c (sys_wll_open): Use new inteface to
	scan loaded handle->info.module fields for previously loaded
	modules.
	* doc/libtool.texi (User defined module data): Document changes to
	the interface.
	* NEWS: Updated.
	Reported by Chuck Wilson <cwilson@ece.gatech.edu>

2004-07-07  Brad <brad@comstyle.com>

	* m4/libtool.m4: Fixes for the OpenBSD support

2004-06-24  Noah Misch  <noah@cs.caltech.edu>

	* ltmain.in: Unset the zsh GLOB_SUBST option, which makes zsh
	handle backslash quoting poorly, before doing anything else.
	* tests/defs: Likewise.

2004-06-21  Gary V. Vaughan  <gary@gnu.org>

	* libtoolize.in (libtoolize_flags): With the --ltdl option, we
	libtoolize the libltdl subdirectory automatically.
	* m4/ltdl.m4 (AC_WITH_LTDL): Fix overquoted args.

2004-06-21  Peter O'Gorman  <peter@pogma.com>

	* ltmain.in (dependency_libs) [darwin]: Remove -framework stuff from
	dependency_libs. Instead, invent a new .la var "inherited_linker_flags"
	to keep any linker flags which should be used when linking the library,
	but are outside the usual -L -l, -R etc that can be used in
	dependency_libs. Any unusual flags in dependency_libs cause recent
	versions of libtool to die with "cannot find the library `'", so
	it is required to move frameworks out of there. :(

2004-06-21  Gary V. Vaughan  <gary@gnu.org>

	From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>:
	* libtoolize.in: Quote $# to make sh.test happy again.

	* m4/ltdl.m4 (AC_WITH_LTDL): Remove redundant AC_REQUIRE calls.
	Either set variables to allow a client to link with the installed
	libltdl, or else compile a local libltdl as a convenience library.
	* libtoolize.in (opt_ltdl): Removed in favour of...
	(ltdldir): ...this, which is defaulted to "libltdl" or can be set
	by the user with an argument to --ltdl.
	(Main): Use it!
	* doc/libtool.texi (Distributing libltdl): Improved documentation
	on libltdl.
	(Invoking libtoolize): Document new optional --ltdl target
	directory argument.

2004-06-17  Gary V. Vaughan  <gary@gnu.org>

	* m4/libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [darwin*]: Fix a typo
	in allow_undefined_flag: s,${Wl},${wl},g

	* libtoolize.in (func_scan_files): Accept AC_WITH_LTDL as an
	indication that libltdl is being used.
	(Main): Without AC_CONFIG_MACRO_DIR, don't just dump all the
	macro files in `.' since they are never used, and aclocal will
	copy them from $aclocaldir into aclocal.m4 anyway.
	Reported by Alexandre Duret-Lutz <adl@gnu.org>

2004-06-16  Brad  <brad@comstyle.com>

	* m4/libtool.m4: More improvements to OpenBSD support.
	* NEWS: Updated.

2004-06-16  Gary V. Vaughan  <gary@gnu.org>

	libltdl uses LIBOBJS, which leak out into a parent project if both
	share the same configure.ac.  Libtool itself doesn't compile any
	code, so it is okay to do it during bootstrap, but other projects
	need to treat libltdl as a configurable subproject to keep their
	respective LIBOBJS separate:

	* libltdl/configure.ac: New file, based on configure.ac.
	* libltdl/Makefile.am (AC_LOCAL_AMFLAGS): Use our own m4
	directory.
	(ltdldata_DATA): List *all* the files that libtoolize --ltdl will
	install.

2004-06-16  Gary V. Vaughan  <gary@gnu.org>

	Automake 1.9 won't have the AC_PROG_EGREP bug (aclocal used to
	pull an old installed libtool.m4 as well as the bootstrap
	m4/libtool.m4 if an AC_DEFUN was removed), and we have
	lt~obsolete.m4 to work around it in the mean time.  libtoolize
	can install macro files from $prefix/share/aclocal perfectly well
	without us needing to move to a whole other directory:

	* Makefile.am (pkgmacro_DATA): Renamed to aclocal_DATA, so m4
	files are installed to $prefix/share/aclocal again.
	(install-data-local): Don't remove just installed macros!
	* libtoolize.in (pkgmacrodir): Renamed to aclocaldir.
	(func_copy_some_files): New function factored out of...
	(func_copy_all_files): ...here.  Adjust to use func_copy_some_files.
	(re_pkgaux_files): Renamed to glob_pkgaux_files, since it is not
	a regular expression.
	(re_pkgmagro_files): Replaced with...
	(pkgmacro_files): ...a colon delimited list of libtool installed
	m4 files from aclocaldir.
	(Main): Copy macro files from aclocaldir again.
	* NEWS: Updated.

2004-05-21  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* ltmain.sh (check_executable): The WIN32 API and MinGW do not support
	S_IXOTH and S_IXGRP so use of these modes should be conditional.

2004-05-21  Gary V. Vaughan  <gary@gnu.org>

	* tests/tagtrace.test: Forgot to add this file to the repository
	for Alexandre's 2004-05-16 patch below.

2004-05-18  Peter O'Gorman  <peter@pogma.com>

	* m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Make this an m4_defun,
	test the tags compiler to see if it is GCC, not the CC compiler.

2004-05-16  Alexandre Duret-Lutz  <adl@gnu.org>

	* doc/libtool.texi (Invoking libtool): Mention --tag=TAG.
	(Tags, Trace interface): New nodes.
	* m4/libtool.m4 (LT_SUPPORTED_TAG): New macro.
	(_LT_LANG): Call it.
	* tests/tagtrace.test: New file.
	* tests/Makefile.am
	(TESTS): Add tagtrace.test.
	* tests/defs: Define AUTOCONF.

2004-05-14  Mike Gorchak  <lestat@i.com.ua>

	* ltmain.in: Add new qnx version type support.
	* m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Use it.  Set
	ldqnx.so linker type.
	(AC_DEPLIBS_CHECK_METHOD): QNX6 uses GNU C++, with deplib
	checking, so use pass_all.
	(AC_LIBTOOL_PROG_COMPILER_PIC): Use -shared for QNX.
	(_LT_LANG_CXX_CONFIG): QNX can make shared libraries.
	* m4/ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): QNX opens deplibs on
	dlopen.
	* NEWS: Updated.

2004-05-05  Peter O'Gorman  <peter@pogma.com>

	* m4/libtool.m4 (AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH): Insert space
	around = for a test and a comma between runpath_var and $1. Bug
	reported by Max Bowsher.

2004-04-22  Gary V. Vaughan  <gary@gnu.org>

	* libltdl/argz.h: Moved from here...
	* libltdl/argz_.h: ...to here, so as not to shadow system
	argz.h when we `#include <argz.h>' for example.
	#include stdlib.h and sys/types.h to ensure we get a size_t
	definition.
	* libltdl/argz.c (HAVE_CONFIG_H): Set it up how ltdl likes it when
	used by another client.
	* m4/argz.m4: New file.
	(gl_FUNC_ARGZ): Try to find an error_t definition, and a system
	argz.h.
	* m4/ltdl.m4: Use it.
	(AC_LTDL_FUNC_ARGZ): Removed.
	* libltdl/lt__glibc.h: #include <argz.h> to pick up either the
	system argz.h or our libltdl/argz.h if necessary.
	* libltdl/Makefile.am (libltdl_la_SOURCES): Move argz.h from
	here...
	(ltdldata_DATA): ...here. Along with argz.c.
	(argz.h): Generate from argz_.h if the system file is missing.
	Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>

2004-04-22  Gary V. Vaughan  <gary@gnu.org>

	According to Howard Chu <hyc@highlandsun.com>:
	Applications should assume that the native dlopen is NOT
	thread-safe, and take care of locking themselves. All application
	calls into libltdl should thus be protected by the caller.

	* libltdl/lt_mutex.c, libltdl/lt_mutex.h: Removed.
	* libltdl/Makefile.am (pkginclude_HEADERS): Removed lt_mutex.h.
	(libltdl_la_SOURCES): Removed lt_mutex.c and lt_mutex.h.
	* libltdl/ltdl.h: Don't include lt_mutex.h.
	* libltdl/lt__private.h (LT__MUTEX_GETERROR, LT__MUTEX_SETERROR)
	(LT__MUTEX_SETERRORSTR): Renamed to...
	(LT__GETERROR, LT__SETERROR, LT__SETERRORSTR): ...this.  Changed
	all callers.
	(LT__MUTEX_LOCK, LT__MUTEX_UNLOCK, lt_dlmutex_lock)
	(lt_dlmutex_unlock, lt_dlmutex_seterror, lt_dlmutex_geterror):
	Removed.  Changed all callers.
	* doc/libtool.texi (Thread Saftey in libltdl):
	* NEWS: Updated.

2004-04-19  Gary V. Vaughan  <gary@gnu.org>

	* m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Detect Intel C++ compiler
	version more idiomatically.

2004-04-19  Albert Chin-A-Young  <china@thewrittenword.com>

	* m4/libtool.m4: Use cc rather than ld to created
	a shared library on HP-UX 11.x. On HP-UX 10.x, the
	C compiler doesn't grok -b so we continue to use ld.

	* m4/libtool.m4: Use cc rather than ld to create a
	shared library on Solaris. When using the Sun
	Workshop compiler 5.0 (and I presume any previous
	version), revert to ld due to compiler errors.

	* m4/libtool.m4: Use cc rather than ld to created
	a shared library on Tru64 UNIX.

	* m4/libtool.m4: Use cc rather than ld to created
	a shared library on IRIX.

	* libltdl/loader-shl_load.c: Fix typos during reorg.

2004-04-19  Alexandre Duret-Lutz  <adl@gnu.org>

	* doc/libtool.texi (LT_INIT): Properly display options in a table.

2004-04-19  Gary V. Vaughan  <gary@gnu.org>

	* m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Intel C++ compiler 8.0 and
	newer adds predep_objects and postdep_objects itself, so don't
	duplicate them in $archive_cmds and $archive_expsym_cmds.
	* NEWS: Updated.
	Reported by Roberto Bagnare <bagnara@cs.unipr.it>

2004-04-17  Peter O'Gorman  <peter@pogma.com>

	* libltdl/loader-dyld.c: Fix compilation issues. Set Original author
	to me.

2004-04-17  Todd Vierling  <tv@duh.org>,
	Peter O'Gorman  <peter@pogma.com>

	* m4/libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Use sysctl to get the
	max cmd length on BSD* and darwin. Make sure that there is a safety
	factor too.

2004-04-15  Scott James Remnant  <scott@netsplit.com>

	* m4/libtool.m4 (_LT_LANG_DEFAULT_CONFIG): Remove code to handle 'none'
	and 'all' options, this now always assumes automatic mode as that
	works so well.
	(_LT_LANG_DEFAULT): Remove definition
	* m4/ltoptions.m4: Remove 'no-lang', 'auto-lang' and 'all-lang' options.
	* configure.ac: Invoke LT_LANG for each desired supported language.
	* doc/libtool.texi: Remove documentation for the LT_INIT options,
	rewrite LT_LANG documentation.

2004-04-14  Alexandre Duret-Lutz  <adl@gnu.org>

	* bootstrap: Delete acinclude.m4.

2004-04-14  Gary V. Vaughan  <gary@gnu.org>

	* libtoolize.in (configure_ac): Don't complain about the lack of
	aclocal.m4.
	Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>

2004-04-13  Gary V. Vaughan  <gary@gnu.org>

	* m4/ltdl.m4 (AC_LIB_LTDL): Remove AC_REPLACE_FUNCS for memmove
	and strcpy.

	* libltdl/lt__pre89.h, libltdl/memcpy.c, libltdl/memmove.c,
	libltdl/strchr.c, libltdl/strcmp.c, libltdl/strrchr.c: Remove
	half-assed pre-c89 support entirely.
	* libltdl/lt__private.h: Don't refer to lt__pre89.h.
	* libltdl/Makefile.am (ltdldata_DATA): Remove references to
	deleted files.
	* NEWS: Mention it.

	* libltdl/lt__pre89.h, libltdl/ltdl.c, libltdl/ltdl.h, libltdl/argz.c,
	libltdl/argz.h, libltdl/lt__glibc.h, libltdl/lt_dlloader.h,
	libltdl/lt__dirent.c, libltdl/lt__dirent.h, libltdl/lt__private.h,
	libltdl/lt__alloc.c, libltdl/lt__alloc.h, libltdl/lt_system.h,
	libltdl/loader-dld_link.c, libltdl/loader-dlopen.c,
	libltdl/loader-dyld.c,  libltdl/loader-loadlibrary.c,
	libltdl/loader-shl_load.c, libltdl/lt_error.h, libltdl/lt_mutex.h:
	Autoconf either defines to 1 or undefs the discovery macros it
	puts in config.h, and many (non-GNU) compilers throw a spurious
	warning when testing an #undef macro with #if.  For consistency,
	while we are touching all these lines, use defined(MACRO) style
	throughout.
	Reported by Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

2004-04-13  Gary V. Vaughan  <gary@gnu.org>

	Factor out the individual loaders, in preparation for preloading
	them as libtool modules.  Currently loader-preopen.c is linked
	unconditionally and other appropriate loaders discovered by
	AC_LTDL_DLLIB are built and linked in:

	* libltdl/Makefile.am (libltdl_la_SOURCES): Add loader-preopen
	module.
	* m4/ltdl.m4 (AC_LTDL_DLLIB): Use AC_LIBOBJ to add appropriate
	loaders to libltdl.
	* libltdl/lt_system.h (LT_SCOPE): Moved to here.
	* libltdl/ltdl.h (lt_dlloader, lt_user_data, lt_module)
	(lt_module_open, lt_module_close, lt_find_sym, lt_dlloader_exit)
	(struct lt_user_dlloader, lt_dlloader_next, lt_dlloader_find)
	(lt_dlloader_name, lt_dlloader_data, lt_dlloader_add)
	(lt_dlloader_remove): Moved declarations...
	* libltdl/lt_loader.h: ...to here.
	* libltdl/ltdl.c: Include lt_loader.h.  Move loader implementation
	code from here...
	* libltdl/loader-dld_link.c, libltdl/loader-dlopen.c,
	libltdl/loader-dyld.c, libltdl/loader-load_add_on.c,
	libltdl/loader-loadlibrary.c, libltdl/loader-preopen.c,
	libltdl/loader-shl_load.c: ...to here.
	* tests/cdemo/Makefile.am, tests/demo/Makefile.am,
	tests/depdemo/Makefile.am, tests/f77demo/Makefile.am,
	tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am,
	tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am (AM_CPPFLAGS):
	Add -I$(top_srcdir)/../.. so that libltdl include files can be
	written as #include <libltdl/lt_dlloader.h> and found correctly.

2004-04-13  Gary V. Vaughan  <gary@gnu.org>

	Factor out the mutex handling and error handling into their own
	modules.  Mutex handling is not currently useful in combination
	with posix threads, and should be easier to replace if it is in a
	separate module.  Additionally, we can factor out the loaders in
	such a way as to depend on only the portability layer and these
	new mutex and error modules now:

	* libltdl/Makefile.am (pkginclude_HEADERS): Install lt_error.h and
	lt_mutex.h to $includedir/libltdl.
	(libltdl_la_SOURCES): Build lt_error and lt_mutex objects.
	* libltdl/ltdl.h (LT_SCOPE): Moved from here...
	* libltdl/lt_system.h (LT_SCOPE): ...to here.
	* libltdl/ltdl.c (lt_dlerror_strings, LT_DLSTRERROR): Moved from
	here...
	* libltdl/lt__private.h (lt__error_strings, LT__STRERROR): ...to
	here as additional internal interfaces to lt_error.  Changed all
	callers.
	* libltdl/ltdl.c (LT_DLMUTEX_LOCK, LT_DLMUTEX_UNLOCK)
	(LT_DLMUTEX_SETERROR, LT_DLMUTEX_GETERROR, lt_dlmutex_lock_func)
	(lt_dlmutex_unlock_func, lt_dlmutex_geterror_func)
	(lt_dllast_error): Moved from here...
	(LT__MUTEX_LOCK, LT__MUTEX_UNLOCK, LT__MUTEX_SETERRORSTR)
	(LT__MUTEX_GETERROR, lt__mutex_lock_func, lt__mutex_unlock_func)
	(lt__mutex_geterror_func, lt__last_error): ...to here as
	additional internal interfaces to lt_mutex.  Changed all callers.
	(LT_MUTEX_SETERROR): Take an errorcode rather than a string.
	Changed all callers.
	* libltdl/ltdl.c, libltdl/ltdl.h (lt_dlmutex_register): Moved from
	here...
	* libltdl/lt_mutex.c, libltdl/lt_mutex.h (lt_dlmutex_register):
	...to here. New files.
	* libltdl/ltdl.c, libltdl/ltdl.h (lt_dladderror, lt_dlseterror)
	(lt_dlerror_table):
	Moved from here...
	* libltdl/lt_error.c, libltdl/lt_error.h (lt_dladderror)
	(lt_dlseterror, lt_dlerror_table): ...to here. New files.

2004-04-13  Scott James Remnant  <scott@netsplit.com>

	* Makefile.am (XDELTA_OPTIONS): Remove --pristine as that
	generates huge xdeltas.

2004-04-08  Gary V. Vaughan  <gary@gnu.org>

	* libltdl/ltdl.c (argz_append, argz_create_sep, argz_insert)
	(argz_next, argz_stringify): Move from here...
	* libltdl/argz.c: New file. ...to here.
	* libltdl/lt__glibc.h: New file. Rename global symbols into the
	lt__ namespace.
	* libltdl/lt__private.h: Include lt__glibc.h.
	* libltdl/Makefile.am (libltdl_la_SOURCES): Add new files.
	(AM_CPPFLAGS): Add -DLTDL.
	* libltdl/argz.h (argz_append, argz_create_sep, argz_insert)
	(argz_next, argz_stringify): New file. Declare argz functions
	here, including lt__glibc.h when LTDL is defined to rename global
	symbols for libltdl.
	* m4/ltdl.m4 (AC_LTDL_FUNC_ARGZ): Add argz to AC_LIBOBJ if any of
	our argz_* functions are missing from the system libraries.

	* libltdl/ltdl.c: Move standard headers and preprocessor guards
	from here...
	* libltdl/lt__private.h: ...to here.  New file to declare ltdl's
	internal interfaces.
	* libltdl/ltdl.c: Include lt__private.h.
	* m4/ltdl.m4 (AC_LIB_LTDL): Add lt_dirent to AC_LIBOBJ if all of
	opendir, readdir and closedir are missing.
	(AC_CHECK_HEADERS): Remove assert.h, ctype.h, errno.h, malloc.h,
	stdio.h and stdlib.h; these headers are all available in standard
	c89 environments and newer.
	* libltdl/lt__private.h: Include them here unconditionally.
	* libltdl/lt__dirent.c (opendir, readdir, closedir): New file.
	Windows dirent emulation functions moved to here...
	* libltdl/ltdl.c (opendir, readdir, closedir): ...from here.
	* libltdl/lt__dirent.h: New file.  Rename the global symbols from
	lt__dirent.c into the lt__ namespace so they don't clash with
	other libraries.

2004-04-08  Gary V. Vaughan  <gary@gnu.org>

	Factor out the bottom portability layer from ltdl.  Code in this
	layer has global symbols renamed by lt__pre89.h, and may not
	refer to any symbols except those provided by the system libraries
	or other code in the portability layer:

	* libltdl/lt__pre89.h: New file.  Rename all the symbols from
	LTLIBOBJS into the lt__ namespace so that they don't clash with
	other libraries.
	* libltdl/ltdl.c (rpl_memcpy, rpl_memmove, rpl_strchr, rpl_strcmp)
	(rpl_strrchr): Moved from here...
	* libltdl/memcpy.c (memcpy): ...to here, and fixed void *
	dereference bug...
	* libltdl/memmove.c (memmove): ...to here, and fixed void *
	dereference bug...
	* libltdl/strchr.c (strchr): ...to here...
	* libltdl/strcmp.c (strcmp): ...here...
	* libltdl/strrchr.c (strrchr): ...and here.
	* libltdl/Makefile.am (libltdl_la_SOURCES): Add lt__pre89.h.
	(libltdl_la_LIBADD, libltdlc_la_LIBADD): Add $(LTLIBOBJS).
	(ltdldata_DATA): Add replacement sources files.
	* m4/ltdl.m4 (AC_LIB_LTDL): Do careful config.h and LTLIBOBJ
	setting for missing pre89 functions.

2004-04-08  Gary V. Vaughan  <gary@gnu.org>

	* libltdl/ltdl.h (LT_PARAMS): Removed.  Changed all users to
	ANSI prototypes.
	(lt_ptr): Keep backwards compatibility stub.
	* 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: 1.1571 $ $Date: 2004/08/29 20:36:32 $
