Gary V. Vaughan [Tue, 30 Aug 2005 14:31:40 +0000 (14:31 +0000)]
* libltdl/m4/ltoptions.m4 (AC_LIBTOOL_PIC_MODE): Renamed...
(AC_LIBTOOL_PICMODE): ...this in the backwards compatibility
code. There never was an AC_LIBTOOL_PIC_MODE macro.
Ralf Wildenhues [Mon, 29 Aug 2005 14:37:56 +0000 (14:37 +0000)]
* Makefile.am: Install libltdl data files in correct order.
Use pre-defined programs for installation; use NORMAL_INSTALL
and NORMAL_UNINSTALL. Really fix ownership and timestamp
problems. Fix typo in uninstallation of aclocal files.
Reported by Peter Breitenlohner <peb@mppmu.mpg.de> and
Charles Wilson <cygwin@cwilson.fastmail.fm>.
Ralf Wildenhues [Mon, 29 Aug 2005 13:58:07 +0000 (13:58 +0000)]
Allow for portability with Autoconf 2.59, Automake 1.9.6,
which lack AC_CONFIG_LIBOBJ_DIR support.
* bootstrap: Unless environment variable WORKING_LIBOBJS_SUPPORT
is set to true aka `:', symlink ..
* argz.c lt__dirent.c lt__strl.c: .. these from the copies in
libltdl.
* configure.ac (SUBDIR_LIBOBJS): Automake conditional, set if
bootstrap didn't make the extra copies of libobj sources in
top srcdir...
* Makefile.am: Add these to EXTRA_DIST if SUBDIR_OBJS is not set,
as well as the originals in libltdl/, in order to work when
bootstrapped both with old and newer Automake/Autoconf.
Gary V. Vaughan [Sun, 28 Aug 2005 23:30:06 +0000 (23:30 +0000)]
Some macros had relied on accidentally correct ordering in order
for $MV to be defined before use. Factor out setting of some
common file commands and m4_require it before use:
* libltdl/m4/libtool.m4 (_LT_FILEUTILS_DEFAULTS): Allow user to
override some common file commands at configure time.
(_LT_SETUP, _LT_CONFIG, _LT_COMPILER_OPTION, _LT_LINKER_OPTION)
(_LT_COMPILER_C_O, _LT_COMPILER_FILE_LOCKS)
(_LT_SYS_DYNAMIC_LINKER, _LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG)
(_LT_SYS_HIDDEN_DEPLIBS): m4_require it to ensure the commands are
defined before they are called.
Ralf Wildenhues [Sun, 28 Aug 2005 15:34:19 +0000 (15:34 +0000)]
* libltdl/config/ltmain.m4sh (func_lalib_unsafe_p) [osf]:
Save file descriptor to original STDIN, and restore after
redirection. Fixes memory corruption with Tru64 and OSF sh.
Reported by Nicolas Joly <njoly@pasteur.fr>.
Ralf Wildenhues [Fri, 26 Aug 2005 10:00:18 +0000 (10:00 +0000)]
* tests/standalone.at, tests/template.at: Do not compare
output because of EOL issues. Resolve warnings, make cross-
compilation aware.
Reported by Peter Ekberg <peda@axentia.se>.
Peter Ekberg [Thu, 25 Aug 2005 13:39:54 +0000 (13:39 +0000)]
* tests/standalone.at: (without autotools): Add
$(CFLAGS) to LTCOMPILE and LTLINK. Separate compiling
and linking. Remove compiling flags from link. Add
--tag. Add -no-undefined flag.
Bruno Haible [Wed, 24 Aug 2005 15:57:32 +0000 (15:57 +0000)]
* libltdl/config/ltmain.sh (func_mode_install): Try "ln -s -f"
and "rm -f && ln -s" to make a symlink for a shared library: the
former is needed for libraries `ln' depends on, the latter for
Solaris /bin/ln.
Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
Ralf Wildenhues [Wed, 24 Aug 2005 13:39:51 +0000 (13:39 +0000)]
* tests/defs.m4sh (m4dir, auxdir, scripts): Fix for source tree
reorganization.
* tests/sh.test: Adjust. Also barf on sed diagnostics so this
test will not fail again silently.
Stepan Kasal [Tue, 23 Aug 2005 16:04:27 +0000 (16:04 +0000)]
* libltdl/m4/ltdl.m4 (LTDL_INIT): Use AH_HEADER if defined.
Compute CONFIG_H only before creating config.status.
Reported by Peter Ekberg <peda@axentia.se>.
Gary V. Vaughan [Tue, 23 Aug 2005 01:49:37 +0000 (01:49 +0000)]
Reorganise the libtool tree to create a bootstrapped libltdl for
installation to the libtoolize master tree, so that libltdl is
useable even in the extreme case of when automake and autoconf are
not installed on the developers machine. Part of this change
requires some duplication of rules between Makefile.am (which
builds libltdl for this distribution) and libltdl/Makefile.am
(which is used by projects that libltoolize --ltdl --copy), so
libtool now really does use a single toplevel Makefile.am, and we
generate libltdl/Makefile.am from that:
* m4, config: Moved from here...
* libltdl/m4, libltdl/config: ...to here, to reduce the amount of
kludging needed in bootstrap for autoreconf to run.
* tests/cdemo/Makefile.am, tests/demo/Makefile.am,
tests/depdemo/Makefile.am, tests/f77demo/Makefile.am,
tests/fcdemo/Makefile.am, tests/mdemo/Makefile.am,
tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am,
tests/tagdemo/Makefile.am (ACLOCAL_AMFLAGS): Adjust to
compensate.
* tests/cdemo/configure.ac, tests/demo/configure.ac,
tests/depdemo/configure.ac, tests/f77demo/configure.ac,
tests/fcdemo/configure.ac, tests/mdemo/configure.ac,
tests/mdemo2/configure.ac, tests/pdemo/configure.ac,
tests/tagdemo/configure.ac (AC_CONFIG_AUX_DIR): Ditto.
* libltdl/m4/ltdl.m4: Increment serial number.
(LTDL_INIT): Accept an optional directory argument to prefix each
of the LD_DLLOADERS locations. Default to empty for backwards
compatibility.
* Makefile.maint: Adjust to compensate.
* configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR): Adjust.
(AC_CONFIG_LIBOBJ_DIR): Set here so that we can build LTLIBOBJS
from in a subdirectory from the amalgamated Makefile.am.
(AM_PROG_CC_C_O, AM_INIT_AUTOMAKE): Use subdir-objects.
(AC_CONFIG_FILES): Remove libltdl/Makefile.am.
* libltdl/Makefile.am: Removed from repository, and merged into
Makefile.am as we now generate it...
* Makefile.am (libltdl/Makefile.am): ...from here, by extracting
the merged rules, and tweaking paths to accomodate the difference
in directory from Makefile.am to libltdl/Makefile.am.
(nobase_dist_pkgdata_DATA): Automake generated installation rules
change timestamps of installed files, so renamed this...
(configauxfiles): ...to this...
(libtoolize): ...substitute it...
(install-data-local): ...install manually, preserving
timestamps...
(install-data-hook): ...and set execute bit as appropriate.
(uninstall-hook): Not forgetting to remove them at uninstall.
(libltdl/Makefile.in): New rule. Called from...
* bootstrap: ...here to avoid relying on config.status at
bootstrap time.
(auxdir, m4dir): Extract from configure.ac for ease of future
maintenance. Adjust all references.
(reconfdirs): Call autoreconf for libltdl too -- even
though we don't use it for the build, libltdl/configure and
friends are installed with `libtoolize --ltdl --copy'.
* libtoolize.m4sh: Add files from the installed config master tree
to libtoolize --ltdl project subdirectory.
Diagnose duplicated files when --ltdl is used in an autotooled
project.
It's perfectly fine to run `libtoolize --ltdl --copy' in a tree
that has no configure.ac or configure.in; we want libltdl to be
useful even to projects that don't use autotools themselves.
(libtoolize_flags): Removed. Changed all callers.
(func_massage_pkgconfig_files): New function.
* tests/standalone.at: New tests for using libltdl without
supporting configury in the parent project.
* tests/testsuite.at: Run them!
* NEWS: Updated.
Peter Ekberg [Mon, 22 Aug 2005 11:07:00 +0000 (11:07 +0000)]
* m4/libtool.m4: Bump serial number.
(LT_PATH_NM): If nm is not found on the path, look for
dumpbin. Then check if $NM responds as dumpbin would
and if not, assume the name lister is BSD nm compatible.
(_LT_CMD_GLOBAL_SYMBOLS): If the name lister uses the
dumpbin interface, adjust the test to find a working
global_symbol_pipe.
* doc/libtool.texi: Document $NM to possibly be MS
dumpbin compatible, and also document the format of the
relevant output from MS dumpbin.
Ralf Wildenhues [Thu, 18 Aug 2005 17:07:17 +0000 (17:07 +0000)]
* m4/libtool.m4 (LT_OUTPUT): New macro to generate
libtool before config.status.
(_LT_CONFIG_COMMANDS): If LT_OUTPUT has been invoked, then
generate code in config.status to call config.lt instead of
generating libtool directly.
* doc/libtool.texi (LT_INIT): Document LT_OUTPUT.
* tests/early-libtool.at: New test.
* Makefile.am (TESTSUITE_AT): Updated.
* tests/testsuite.at: Updated. Define defaults for $ACLOCAL,
$AUTOCONF.
Ralf Wildenhues [Sat, 13 Aug 2005 06:45:36 +0000 (06:45 +0000)]
* tests/convenience.at, tests/template.at: Change suffix of C++
files to .cpp, for compatibility with MSVC.
Reported by Peter Ekberg <peda@axentia.se>.
Ralf Wildenhues [Fri, 12 Aug 2005 21:06:13 +0000 (21:06 +0000)]
* config/ltmain.m4sh (func_source): New function.
(func_mode_execute, func_mode_install, func_mode_link): Use it.
Do not append a dot to a file name to source, it breaks on
cygwin managed mounts and is not necessary anywhere.
Reported by Eric Blake <ebb9@byu.net>.
Ralf Wildenhues [Fri, 12 Aug 2005 20:19:40 +0000 (20:19 +0000)]
* tests/defs.m4sh (func_configure): Rename to ..
(func_configure_nofail): this, call from old.
* tests/fcdemo-conf.test, tests/fcdemo-shared.test,
tests/fcdemo-static.test: Use. Do not fail gratuitously but
SKIP on compilers that look like they could be Fortran 77-only.
Reported by Patrick Welche <prlw1@newn.cam.ac.uk>.
Christoph Egger [Thu, 4 Aug 2005 12:12:46 +0000 (12:12 +0000)]
* config/ltmain.m4sh (func_mode_link) <cwrappersource>: Change
basename() to base_name() and have it return a pointer to const,
fix compilation warnings.
Peter Ekberg [Thu, 28 Jul 2005 10:59:32 +0000 (10:59 +0000)]
* libltdl/Makefile.am: Make the LTDLOPEN define controllable
from the configure script.
* m4/ltdl.m4 (LTDL_INIT): Set the LTDLOPEN define according
to libname_spec.
Peter Ekberg [Thu, 28 Jul 2005 10:55:35 +0000 (10:55 +0000)]
* tests/mdemo-dryrun.test: ls -l in MSYS sometimes shows year,
not time, for really fresh files. Add sleep 1 calls at
strategic places. Makes the test pass for MinGW.
Peter Ekberg [Thu, 28 Jul 2005 10:01:03 +0000 (10:01 +0000)]
* libltdl/ltdl.c: The linker is confused by having one
definition of lt_libltdlc_LTX_preloaded_symbols tagged with
__declspec(dllexport) in ltdl.c and one definition with an
initial value in libltdlcS.c. So, just say extern in ltdl.c.
Fixes the mdemo-exec.test for MinGW.
Peter O'Gorman [Sun, 24 Jul 2005 12:20:43 +0000 (12:20 +0000)]
* m4/libtool.m4 (CXX, archive_cmds) [sun]: Add -lCstd, -lCrun
and -lc for c++ builds with Sun C++ and Centerline C++..
Reported by Albert Chin-A-Young <china@hewrittenword.com>
* libltdl/Makefile.am (libltdl_la_DEPENDENCIES): Depend on
$(BUILT_SOURCES) as well, so that argz.h gets created through
`make libltdlc.la'.
Reported by Sven Verdoolaege <skimo@liacs.nl>.
* config/ltmain.m4sh (func_mode_install): Do not assume `-f'
needs an argument if the install program is `cp'. Cleanup
install mode somewhat.
Reported by Juergen Leising <juergen.leising@gmx.de>.
Stepan Kasal [Wed, 29 Jun 2005 08:23:36 +0000 (08:23 +0000)]
* clcommit.m4sh: "grep|sed" can be replaced by mere "sed".
* m4/libtool.m4 (_LT_LIBTOOL_TAGS): Remove unnnecessary "[]".
* m4/lt~obsolete.m4: Use m4_ifndef.
Ralf Wildenhues [Sat, 18 Jun 2005 16:49:52 +0000 (16:49 +0000)]
* m4/libtool.m4 (_LT_COMPILER_BOILERPLATE, _LT_LINKER_BOILERPLATE):
New macros: save warnings and boilerplate of simple compile/link tests.
(_LT_LANG_C_CONFIG, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG,
_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Call.
(_LT_COMPILER_OPTION, _LT_LINKER_OPTION, _LT_COMPILER_C_O, ):
Fail only if nonempty warnings different from default compile/link.
Ralf Wildenhues [Fri, 17 Jun 2005 12:42:34 +0000 (12:42 +0000)]
* m4/ltsugar.m4 (lt_car, lt_cdr): New macros, clones of m4_car/m4_cdr
with the fixed semantics of Autoconf-59c CVS, in order to work with
2.59. (lt_combine): Use it.
Ralf Menzel [Sat, 11 Jun 2005 11:11:45 +0000 (11:11 +0000)]
* m4/ltoptions.m4 (_LT_SET_OPTIONS): Loop options only if
nonempty.
* m4/ltsugar.m4 (lt_combine): Don't test against empty quotes,
test against empty arg. Fixes infinite m4 loop with CVS Autoconf.
Ralf Wildenhues [Sat, 11 Jun 2005 11:01:59 +0000 (11:01 +0000)]
* m4/libtool.m4 (_LT_COMPILER_OPTION, _LT_LINKER_OPTION): No
need for $ECHO here. Fix sed script syntax to be portable.
This should now put the pic-flag right after the last $*FLAGS
variable again, if any. Necessary for Fortran AC_FC_SRCEXT.
Ralf Wildenhues [Mon, 6 Jun 2005 16:12:53 +0000 (16:12 +0000)]
* m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS,
_LT_LANG_CXX_CONFIG): PGI also has pgf95. PGI static flag is
`-Bstatic'. Remove harmless extra comma from whole_archive output.
Ralf Wildenhues [Sun, 5 Jun 2005 17:34:17 +0000 (17:34 +0000)]
* config/ltmain.m4sh (func_mode_compile): In order to find out
about forbidden characters in output, check with grep after checking
func_quote_for_eval result. Also, warn instead of fail.
* config/general.m4sh (func_quote_for_eval, func_quote_for_expand):
Revert SunOS sh bug workaround patch from 2004-12-28 as it
triggers bugs in the Tru64 5.1B shell.
Reported by Albert Chin <libtool@mlists.thewrittenword.com> and
Nicolas Joly <njoly@pasteur.fr>.
Peter O'Gorman [Tue, 31 May 2005 03:49:05 +0000 (03:49 +0000)]
* config/ltmain.m4sh: Do not add installed static litool libraries
to convenience, they are not convenience libraries.
Reported by Chen-Mou Cheng <chenmou.cheng@gmail.com>
Ralf Wildenhues [Sun, 15 May 2005 14:11:32 +0000 (14:11 +0000)]
* m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS,
_LT_LANG_CXX_CONFIG) [ linux ]: PGI:
Add $pic_flag to archive_cmds and archive_expsyms_cmds.
Bug reported against LAM by Troy Telford <ttelford@lnxi.com>.