Commit Graph

1766 Commits

Author SHA1 Message Date
Gary V. Vaughan
97e1a8755a The checks in assign.test are trying to catch case of this ilk:
`foo=bar break', but unfortunately they also choke on `foo=bar;
break' and `foo=bar && break'.  Writing a sophisticated test to
catch just the intended case seems like more trouble than it's
worth, but leaving the test in causes the testsuite to fail on
valid m4sh output:

* tests/assign.test: Removed; chokes on perfectly valid shell
syntax.
* tests/Makefile.am (COMMON_TESTS): Remove assign.test.
* tests/defs.in (scripts): Don't check the m4sh inputs, go back
to checking the generated ltmain.sh script.
2004-09-19 23:21:45 +00:00
Gary V. Vaughan
bc21a1c25d Reported by Roberto Bagnara <bagnara@cs.unipr.it> 2004-09-19 22:11:38 +00:00
Gary V. Vaughan
1f2c4d9702 * config/ltmain.in (func_echo): Except for multi-line warnings and
errors, always use func_echo.  $show is for command output, and
$echo is for internal use in backtick expressions and similar.
2004-09-17 17:12:17 +00:00
Gary V. Vaughan
4bf4433f70 Missed a couple of MKDIR_P references in ltmain.in in my last
patch; fix them carefully.  Introduce an opt_dry_run to ltmain.in
so that the implementations of func_mkdir_p can converge, and a
func_mktempdir to do a better job of temporary directory creation:

* libtoolize.in (func_mkdir_p): Don't fail if the directory wasn't
created in dry run mode.
* tests/defs (func_mkdir_p): Ditto.  We don't actually have a dry
run mode for the tests, but the function is written carefully to
be kept in synch and work correctly here too.
* config/ltmain.in (func_mkdir_p): Ditto.  This copy of the
function now only differs in its use of $echo over $ECHO.
(func_extract_archive): Removed first redundant mkdir call.
(func_mktempdir): New function that tries to avoid races when
making temporary directories.
(opt_dry_run): Set this if --dry-run is given at the CLI, or if
tests/mdemo-dryrun.test has forced the value of $run.
(func_mode_install): Call $MKDIR directly and error out if the
directory cannot be created.
(func_mode_link): Rather than copying func_mkdir_p into the
wrapper script as a replacement for $MKDIR_P, we know that the
script won't be called my `make -j', so write the current value of
$MKDIR.
2004-09-17 14:13:04 +00:00
Peter O'Gorman
c1fdd979bd * m4/libtool.m4: remove an extra "]" 2004-09-17 13:54:05 +00:00
Peter O'Gorman
78fe989539 * m4/libtool.m4 [darwin] (_LT_LANG_CXX_CONFIG): Changes for 10.4.
* config/libtool.in [darwin]: ditto.
2004-09-17 13:41:54 +00:00
Gary V. Vaughan
0e0104aa45 My most recent `2004-09-02 Gary V. Vaughan' patch for mkdir_p
below is horrendously broken since it makes the installed libtool
try to run the mkinstalldirs or install-sh helper scripts.  This
patch fixes the `make -j' mkdir race condition internally:

* libtoolize.in (func_mkdir_p): New slice and dice algorithm
to build the directory tree one dir at a time, ignoring errors
until the end incase they are transient due to a concurrent
identical mkdir.
* tests/defs (func_mkdir_p): Ditto.
* config/ltmain.in (func_mkdir_p): Ditto, except that ltmain.in
uses $echo rather than $ECHO, and uses $show and $run to interact
correctly with the command line.
* configure.ac (AM_INIT_AUTOMAKE): 1.8 is sufficient again.
* Makefile.am (edit): Don't substitute automake's $(mkdir_p).
* NEWS: Updated.
2004-09-16 14:57:02 +00:00
Bob Friesenhahn
7955f590bb * libltdl/loaders/loadlibrary.c: Compilation fixes (originally
from Gary V. Vaughan) to compile under MinGW.
* config/mkstamp: Translate input data so that it is assured to
use the Unix line terminations. This is necessary under Windows if
the files are checked out with CR/NL line terminations. A
side-effect of this change is that input must always be from
stdin. Previously a filename argument was accepted as well.
2004-09-15 18:24:00 +00:00
Ralf Wildenhues
7dd218b183 * tests/Makefile.am: Use the same CPP, F77, CXX and CXXFLAGS
for the test suite.
2004-09-15 13:04:24 +00:00
Ralf Wildenhues
faa4aa46a2 * m4/libtool.m4 (_LT_ENABLE_LOCK):Replace AC_TRY_LINK with
AC_LINK_IFELSE to get rid of `autoconf -Wobsolete' warning.
* m4/ltdl.m4 (LT_LIB_DLLOAD): Ditto.
2004-09-15 01:39:18 +00:00
Gary V. Vaughan
b386564d8e * config/ltmain.in (func_quote_for_eval): Set a return value to
avoid forking at every call.  Changed all callers.
(func_mode_link): Simplified, and removed the final non-portable
nested escaped double quotes in back quotes usage in the process.
2004-09-15 01:25:36 +00:00
Gary V. Vaughan
e5e3b3ada7 * config/ltmain.in (func_quote_for_eval): Factor out the ugly
shell meta-character quoting.  Changed all callers.
2004-09-14 22:47:11 +00:00
Ralf Wildenhues
18aa63dac0 * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Simplification:
distinguish between data and code symbols on every system.
2004-09-14 22:10:37 +00:00
Albert Chin-A-Young
7ea2fa761b Unfortunately, libtool has no way of telling if unrecognized
compiler flags need an argument or not, and can disect options and
pass parts through incorrectly.  This changeset reverts both
2004-09-06 Albert Chin-A-Young (topmost) and 2004-09-05 Albert
Chin-A-Young below, and recognises more options explicitly:

* config/ltmain.in (func_mode_link): Pass through options needed
to compile in 64-bit mode with gcc, and the SGI, Sun, HP and IBM
compilers.
2004-09-14 21:23:43 +00:00
Gary V. Vaughan
546e73c2e3 * m4/libtool.m4 (_LT_CMD_GLOBALS_SYMBOLS): Fix a typo I made when
applying 2004-09-11 Ralf Wildenhues.
2004-09-13 08:23:04 +00:00
Brad
d5a1f2b45c * libtool.m4: Fixes for the OpenBSD support 2004-09-12 13:50:19 +00:00
Peter O'Gorman
f0cb3767cf Our fortran tests were not very good. All the libraries created
were convenience libs, so we did not test the creation of shared
libraries on any platform. Also none of the libs used any actual
fortran library calls, adding a call to write(*,*) in each lib
causes the tests to fail on darwin (and presumably other platforms).
These new tests would likely cause many more fortran test failures,
so if there is an error during make it is reported as SKIP.

* tests/f77demo-make.test: Don't fail hard, skip on failure.
* tests/f77demo/foof2.f: New file.
* tests/f77demo/foof3.f: New file.
* tests/f77demo/fprogram.f: Call routine in new lib.
* tests/f77demo/foof.f: Call routine in another new lib.
* tests/f77demo/Makefile.am: Make a couple of new libraries, add
$(FLIBS) to cprogram LDADD.
2004-09-12 13:36:17 +00:00
Ralf Wildenhues
8240b4ebba * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): The linker distinguishes
data and code symbols on linux-gnu/ia64.  Fixes multiple testsuite
failures.
* NEWS: Updated.
2004-09-11 00:50:27 +00:00
Gary V. Vaughan
ab2e10f59d * libltdl/loaders/shl_load.c (get_vtable): Typo. 2004-09-06 00:51:38 +00:00
Albert Chin-A-Young
e8d9b37386 Hopefully, passing unrecognised compiler arguments through
unmolested will prove to be a good plan for the 2.0 release.  If
it goes awry, we can get back to where we were by reverting this
patch and the 2004-09-05 Albert Chin-A-Young patch, aka
gary@gnu.org--2004/libtool--devo--1.0--patch-169,172:

* config/ltmain.in (func_mode_link): Because we now pass through
compiler arguments we doesn't recognize, the code to pass
through GCC's -m* arguments is not needed.
2004-09-06 00:11:00 +00:00
Albert Chin-A-Young
fb9e30ad0e * Makefile.am (clean-ltmain-sh): Using '==' to test for equality
in a shell script is not portable. Use '=' instead.
2004-09-05 23:59:39 +00:00
Andreas Schwab
7d496b567b * m4/ltdl.m4 (LT_WITH_LTDL): Remove excess quoting in argument of
AC_CONFIG_SUBDIRS.
2004-09-05 21:52:45 +00:00
Albert Chin-A-Young
ec1b689c78 * config/ltmain.in (func_mode_link): Pass otherwise unrecognised +
and - style switches to the compiler.
* NEWS: Updated.
2004-09-05 18:10:03 +00:00
Gary V. Vaughan
1c0b2cca5f * Makefile.am (libtool): Force libtool to be regenerated if
stamp-vcl has changed.
2004-09-05 18:00:56 +00:00
Albert Chin-A-Young
0aef25d740 * m4/libtool.m4, config/ltmain.in: When calling $LTCC,
pass default $CFLAGS through with $LTCFLAGS.
2004-09-05 17:35:16 +00:00
David Edelsohn
875f854504 * config/ltmain.in (func_mode_link): Use $pic_object as
$non_pic_object if $non_pic_object=none.
* NEWS: Updated.
2004-09-03 13:02:33 +00:00
Gary V. Vaughan
7ae2b77a89 * bootstrap: Remember that the ltmain.sh generated by bootstrap
is missing most of its substitution values, so force it to be
rebuilt at make time by touching $(top_srcdir)/config/ltmain.in.
2004-09-03 08:10:21 +00:00
Gary V. Vaughan
747ded858d From Martin Quinson <mquinson@ens-lyon.fr>
* m4/libtool.m4 (_LT_SETUP, _LT_ENABLE_LOCK, LT_PATH_LD): Use
AS_HELP_STRING to get rid of autoconf -Wobsolete warning
messages.
* m4/ltdl.m4 (LT_WITH_LTDL, _LT_ENABLE_INSTALL): Ditto.
* m4/ltoptions.m4 (_LT_ENABLE_SHARED, _LT_ENABLE_STATIC)
(_LT_ENABLE_FAST_INSTALL, _LT_WITH_PIC): Ditto.
* TODO: Updated
2004-09-03 01:54:37 +00:00
Ralf Wildenhues
10c92f19eb * libltdl/slist.c (slist_cons): Don't leak the tail of a list. 2004-09-03 01:31:58 +00:00
Albert Chin-A-Young
206543bc66 * m4/libtool.m4 (_LT_ENABLE_LOCK): Reformatted. 2004-09-03 00:44:04 +00:00
Gary V. Vaughan
c9e032e031 * HACKING: Explain how to verify detached signatures with gpg in
the release announcement templates.
2004-09-03 00:34:48 +00:00
Gary V. Vaughan
00ee0bc757 * AUTHORS: Fix typo in my address. 2004-09-03 00:29:52 +00:00
Gary V. Vaughan
ba6daa7408 Builds of packages that use libtool and make -j produce "directory
already exists warnings" for .lib directory.  Build on automake
wisdom to support make -j builds where a suitable mkdir is
available:

* configure.ac (AM_INIT_AUTOMAKE): Require 1.9, which goes to some
trouble to find a $(mkdir_p) that doesn't interfere with make -j.
* Makefile.am (edit): Substitute for @mkdir_p@.
* config/ltmain.in (MKDIR_P): Take @mkdir_p@ value.
(mkdir): Removed.
(func_mkdir_p): New function to use $MKDIR_P.  Factor out all
previous mkdir calls to use this function.
(RM, MV): Declared as in libtoolize.in.  Changed all callers.
* libtoolize.in (MKDIR_P): Take @mkdir_p@ value from automake.
(func_mkdir_p): Use it, similarly to new config/ltmain.in.
* tests/defs: Synchronize boiler plate code with ltmain.in.
Adjust all callers.
Add missing copyright preamble.
* tests/demo-static.test: Add missing copyright preamble.
Reported by Daniel Reed <n@ml.org>
2004-09-03 00:26:37 +00:00
Gary V. Vaughan
fd730c8573 * Makefile.am (clean-ltmain-sh): Quote $(top_builddir) for the
shell, incase it is not set when running maintainer rules with
`make -fMakefile.maint'.
Don't show the shell commands.
2004-09-02 15:33:35 +00:00
Gary V. Vaughan
93e0ecd55c * AUTHORS: Fix my email address. 2004-09-02 15:26:49 +00:00
Ralf Wildenhues
c45d3a0d18 * libltdl/ltdl.c (try_dlopen): Fix memory leak.
* NEWS: Updated.
2004-09-02 13:27:24 +00:00
Gary V. Vaughan
cae83b341b * libltdl/slist.c, libltdl/slist.h: Merge in changes from latest
upstream.  Mostly comments, formal item boxing, a sort function,
and const madness reduction.
(slist_new): Removed.
(slist_box, slist_unbox, slist_sort): New.
(SListCompare, SListCallback): Swapped!
(slist_remove, slist_find): Change order of parameters for
orthogonality with slist_foreach.  Changed all callers.
* libltdl/lt_dlloader.c (loader_cmp): Renamed to...
(loader_callback): ...this.  Return boxed item.
(lt_dlloader_remove): Adjust to new loader_callback semantics;
unbox each removed item before returning.
Remove unused variable.
Remove const from name parameter, since the slist API cannot
guarantee userdata const-ancy for its callback functions.
(lt_dlloader_find): Adjust to new loader_callback semantics; need
to return the contents of the boxed item.
Remove const from name parameter, since the slist API cannot
guarantee userdata const-ancy for its callback functions.
* libltdl/lt_dlloader.h (lt_dlloader_find, lt_dlloader_remove):
Adjust to new constless footprint.
* libltdl/ltdl.c (ltdl_exit): The global `loaders' list is changed
variable `loader' is invalidated.  Since some loaders may be
resident modules that cannot be unloaded (though we have none
yet), we must save each `next' address before calling
`lt_dlloader_remove'.
* NEWS: Updated.
* THANKS: Added Ralf.
2004-09-02 12:55:32 +00:00
Gary V. Vaughan
1748adcc65 * libltdl/lt_dlloader.c (lt_dlloader_add): Handle malloc failure
from slist_new.
* libltdl/ltdl.c (loader_init): Trust lt_dlloader_add(), don't
overwrite its error type, and simplify.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2004-09-01 17:32:09 +00:00
Ralf Wildenhues
d1f90d0769 * libltdl/slist.c (slist_new): Handle malloc failure gracefully. 2004-09-01 15:31:34 +00:00
Gary V. Vaughan
2d9235e58c * libtoolize.in, config/ltmain.in: Add CDPATH protection to
preamble.
* tests/defs: Put a full m4sh.m4 style 'Be Bourne compatible'
preamble in here too.
* HACKING: Note that tests/defs needs synching with m4sh.m4 too.
* TODO: Add new item.
2004-09-01 09:48:25 +00:00
Gary V. Vaughan
23b9ddd8a3 * libltdl/ltdl.c (try_dlopen, lt_dlforeachfile): Use correct cpp
macro name, LT_DLSEARCH_PATH.
2004-09-01 08:51:35 +00:00
Gary V. Vaughan
5ecc2c7c3a * libltdl/ltdl.c (lt_dlexit, tryall_dlopen): Fix gcc parentheses
warning.
(foreach_dirinpath, try_dlopen, lt_dlpath_insertdir): Fix gcc
signed vs unsigned warning.
Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
2004-09-01 08:30:13 +00:00
Gary V. Vaughan
21e639a37c * m4/libtool.m4 (_LT_PROG_LTMAIN): Simplified in light of
ltmain.sh no longer being in the build tree.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2004-09-01 08:03:05 +00:00
Ralf Wildenhues
0c1f97f0f0 * libltdl/loaders/preopen.c: Initialise memory in get_vtable. 2004-09-01 01:43:18 +00:00
Ralf Wildenhues
6693e743d9 * tests/sh.test: Look in the source tree for ltmain.sh. 2004-09-01 01:33:04 +00:00
Gary V. Vaughan
53f09b2d98 Don't use C99 flexible array types as we want to be C89
compatible.  Instead, revert to the old way of doing things with
an array of symbol name vs. address, and adding the originator as
the first symbol but with a NULL address:

* config/ltmain.in (func_extract_dlsyms): Store originator as a
NULL address symbol.
* libltdl/ltdl.h (lt_dlsymbol): Removed.
(lt_dlsymlist): Remove originator field.
(LTDL_SET_PRELOADED_SYMBOLS): Adjust.
* libltdl/loaders/preopen.c (vm_open, lt_dlpreload_open): Adjust
for new types.
(vm_sym): Skip the new originator symbol when scanning symbol
names.
* m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Adjust preloaded symbols
test file to match.
* NEWS: Updated.
2004-09-01 01:22:26 +00:00
Gary V. Vaughan
1e6bed0fb7 Libtool currently assumes that certain characteristics, such as
enable_shared, apply to the host architecture rather than per-
language.  Running the tests over a broken compiler can corrupt
these values, when there is no C++ compiler for example, so we
skip most of the tests in those cases.

* m4/libtool.m4 (_LT_LANG_CXX_CONFIG): If caught_CXX_compiler was
set from configure.ac, then don't run all the compiler tests.
(_LT_LANG_F77_CONFIG): Similarly for caught_F77_compiler.
2004-08-31 23:57:04 +00:00
Gary V. Vaughan
03b6087d6a * Makefile.am (clean-ltmain-sh): Remove stale config/ltmain.sh
from the build tree that were left behind by previous versions of
libtool.
($top_srcdir)/stamp-vcl: Since this rule is already called on
every invocation of make, hook clean-ltmain-sh in here too.
Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2004-08-31 14:24:26 +00:00
Ralf Wildenhues
801651b972 * bootstrap: Update warning message to reflect having split
libtool.m4 into several files.
Also, add config/ltmain.sh to list of stale files from previous
versions to be removed before bootstrap.
2004-08-31 10:49:12 +00:00
Ralf Wildenhues
68750b8185 * libltdl/ltdl.c: Replace strdup with lt__strdup. 2004-08-31 10:39:35 +00:00
Gary V. Vaughan
584717dd07 * config/ltmain.in: Double quote even $# for the sake of sh.test.
(exec_cmd): Be careful about "`"foo"`" quoting, even in comments
to avoid triggering the tests in sh.test.
2004-08-30 20:44:11 +00:00
Gary V. Vaughan
b2f428a0c6 * configure.ac: Because of the way the autoconf C++ testing
works, we need to call the C test first to work in an environment
that has no C++ compiler.
2004-08-30 20:27:17 +00:00
Gary V. Vaughan
5da74960c2 * libltdl/lt_dlloader.c (lt_dlloader_remove): Since the return
value of this function is often passed to free, don't declare it
`const'. Responsibility for this memory is given back to the
caller on return.
* libltdl/lt_dlloader.h (lt_dlloader_remove): Ditto.
* libltdl/ltdl.c (lt_dlexit): Adjust.
* NEWS: Updated.
2004-08-30 12:33:09 +00:00
Andreas Schwab
b6528220ee * libltdl/ltdl.c (lt_dlexit): Remove lvalue cast. 2004-08-30 11:46:39 +00:00
Andreas Schwab
7161656f9a * libltdl/slist.h (SListCallback): Fix missing type. 2004-08-30 11:42:21 +00:00
Andreas Schwab
81b0f11bc4 * config/ltmain.in: Accept --mode=relink. 2004-08-30 11:36:05 +00:00
Gary V. Vaughan
c2fcf9b3cf * NEWS: Updated.
* configure.ac: Bumped version to 1.9c.
2004-08-29 21:42:15 +00:00
Gary V. Vaughan
0f329d5f72 * 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.
2004-08-29 20:36:32 +00:00
Gary V. Vaughan
b2c4578138 * 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.
2004-08-29 19:52:20 +00:00
Gary V. Vaughan
5ce81559bb * NEWS: Merge changes from branch-1-5. 2004-08-29 17:06:25 +00:00
Gary V. Vaughan
2c47af0d62 * Makefile.am (dist-hook): Always distribute just a README file,
but take its contents from README-alpha for alpha releases.
2004-08-29 16:59:23 +00:00
Gary V. Vaughan
c1a20b7881 * TODO: Reformat. Removed some items that have been implemented. 2004-08-29 16:08:13 +00:00
Gary V. Vaughan
0158428875 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 16:05:34 +00:00
Gary V. Vaughan
e84c803d1b * 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 15:09:15 +00:00
Gary V. Vaughan
b3b02c66f5 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-29 10:29:08 +00:00
Gary V. Vaughan
fd970d8493 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-28 16:15:23 +00:00
Gary V. Vaughan
f3f9d0f31c 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 18:08:47 +00:00
Gary V. Vaughan
1a2b98ffdb * doc/libtool.texi (Cheap tricks): Escape the `@' for texinfo. 2004-08-27 14:27:35 +00:00
Gary V. Vaughan
f9d3dd3c1c * 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-27 13:12:51 +00:00
Peter O'Gorman
aed01108fd * config/ltmain.in [darwin]: Use the -dylib_file flag and avoid
linking to so many libraries on darwin.
2004-08-26 13:13:03 +00:00
Peter O'Gorman
a34c57f013 * m4/libtool.m4 [darwin]: Don't use a libname triplet, a couplet
is perfectly fine.
2004-08-26 13:08:08 +00:00
Peter O'Gorman
09220863b9 * m4/ltdl.m4: Don't use the dyld loader on darwin 8 or later. 2004-08-26 13:02:35 +00:00
Paolo Bonzini
b6e97e04ea * 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-26 09:02:42 +00:00
Gary V. Vaughan
388b7626dc 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.


* libltdl/ltdl.c (lt_dlforeachfile): LT_SYS_LIBSEARCH_PATH is not
an environment variable, it is an actual path.
Reported by Noah Mish <noah@cs.caltech.edu>
2004-08-22 22:02:07 +00:00
Peter O'Gorman
4ac8f641f7 * m4/libtool.m4 [GNU/linux] (AC_DEPLIBS_CHECK_METHOD): Cleanup,
thanks to Daniel Reed.
2004-08-12 04:14:12 +00:00
Daniel Reed
1a3f08204f * tests/demo-nopic.test: Do not run on x86_64 or s390* 2004-08-12 03:36:30 +00:00
Gary V. Vaughan
d38ff22181 * bootstrap: Remove `-f Makefile.am' now that we have an actual
Makefile to build ltmain.sh.
2004-08-06 13:02:30 +00:00
Gary V. Vaughan
406ec70ff9 * bootstrap: Run the bootstrap rules from a file named Makefile,
copied from Makefile.am for fresh checkouts.
2004-08-05 15:32:58 +00:00
Alexandre Duret-Lutz
8537718bf7 * m4/libtool.m4 (_LT_PROG_LTMAIN): Require ltmain.sh using
using Autoconf's new AC_REQUIRE_AUX_FILE.
2004-08-05 09:34:29 +00:00
Gary V. Vaughan
199c90ecca * 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.
2004-08-05 07:54:15 +00:00
Gary V. Vaughan
5de3e29e35 * Makefile.am (libtool): Depends on ltmain.sh.
(libtoolize): Set and substitute TIMESTAMP.
2004-08-05 07:16:13 +00:00
Gary V. Vaughan
6836243e0b * 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 :-(
2004-08-05 06:58:55 +00:00
Gary V. Vaughan
ad7c333ea7 * 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-05 06:40:19 +00:00
Peter O'Gorman
37e1889382 * 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-04 14:10:59 +00:00
Jacob Meuser
5326cb1caf * 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-03 14:54:34 +00:00
Geoffrey Keating
b3b055757b * m4/libtool.m4 [darwin]: Don't use -all_load. 2004-08-02 04:02:04 +00:00
Maciej W. Rozycki
92fef9a621 * m4/libtool.m4 (LT_AC_PROG_SED): Set SED when running from cache as
well.
2004-08-01 09:06:00 +00:00
Gary V. Vaughan
5ffafe9407 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-31 00:17:02 +00:00
Gary V. Vaughan
e46561b83e 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 23:02:39 +00:00
Peter O'Gorman
d5ec0de0ec * m4/libtool.m4, ltmain.in: readd the comments that I erased. 2004-07-30 14:20:26 +00:00
Peter O'Gorman
e559ff5c4c * ltmain.in [darwin]: We already had a module var, there can be
only one.
2004-07-30 13:41:48 +00:00
Peter O'Gorman
755d391dc2 * 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-30 13:35:30 +00:00
Gary V. Vaughan
3805a031d9 * 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!
2004-07-29 19:34:23 +00:00
Gary V. Vaughan
7eddfb6fbb * 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.
2004-07-29 18:13:37 +00:00
Gary V. Vaughan
253c26c96c * 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.
2004-07-29 16:49:27 +00:00
Gary V. Vaughan
1e91aa5ba2 * 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.
2004-07-29 16:40:08 +00:00
Gary V. Vaughan
a90d38dfb3 * configure.ac (AC_INIT): Revert an accidental commit from my
testing of package_revision.
2004-07-29 10:34:35 +00:00
Alexandre Duret-Lutz
87b91bb4e7 * doc/libtool.texi (Tags): Document CC.
* m4/libtool.m4 (_LT_SETUP): Register CC as supported tag so that
Automake uses it.
2004-07-29 09:34:00 +00:00
Gary V. Vaughan
88c81d7d58 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 16:14:01 +00:00
Gary V. Vaughan
cf79a98549 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-28 14:57:28 +00:00