Commit Graph

1939 Commits

Author SHA1 Message Date
Ralf Wildenhues
3e437f3043 * config/ltmain.m4sh (func_mode_link), tests/objectlist.test:
Make sure the argument to `-objectlist' may contain spaces.
2004-11-22 15:43:44 +00:00
Gary V. Vaughan
83eaf5a14d * config/m4general.m4sh, config/mailnotify.m4sh,
clcommit.m4sh: Updated from cvs-utils--tla--1.0 to allow
parallel commits, and use safer tmpfiles.
2004-11-19 17:04:22 +00:00
Ralf Wildenhues
12d1213e34 * doc/libtool.texi (Libltdl interface): Typos. 2004-11-19 11:33:26 +00:00
Ralf Wildenhues
5745e5a13f * doc/libtool.texi (Libltdl interface): Document public macros
LT_PATHSEP_CHAR, LT_DIRSEP_CHAR, use in path descriptions.
2004-11-19 07:26:25 +00:00
Daniel Reed
30ab30e06a * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [linux]: Interpret
`include' statements in toplevel ld.so.conf file.
2004-11-19 07:18:30 +00:00
Ralf Wildenhues
5f07f593a8 * m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin/mingw/pw32]:
tag-protect setting of ld_shlibs.
2004-11-19 07:01:48 +00:00
Ralf Wildenhues
db13b15323 * doc/libtool.texi (Libltdl interface): The path separator
is system-dependent.
2004-11-17 17:49:44 +00:00
Ralf Wildenhues
de11090898 * doc/libtool.texi (Linking static libraries): Typo. 2004-11-17 17:47:22 +00:00
Ralf Wildenhues
e080898fc4 * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG)
[aix4/aix5 !ia64]: Set whole_archive_flag_spec to '$convenience'
so convenience libs are really added to the link cmdline.
2004-11-17 15:24:03 +00:00
Mats Rynge
09d37d85d5 * libtool.m4 [linux]: Use only the CC basename in case statment
when checking for icc/ecc. Allows for setting CC to the full path
to the compiler.
2004-11-17 14:06:50 +00:00
Mats Rynge
db04779e4e * libtool.m4 [solaris]: Added missing 'with linker' flags to
-z allextract ... -z defaultextract flags
2004-11-17 14:02:54 +00:00
Gary V. Vaughan
4e71dfc351 * m4/libtool.m4 (_LT_LINKER_SHLIBS): Typo: s/--rpath/-rpath/g.
(_LT_LANG_CXX_CONFIG): Ditto.
2004-11-15 01:18:22 +00:00
Gary V. Vaughan
ef758b513c * configure.ac (APIVERSION): New substituted variable.
(pkgvdatadir): Ditto.  Versioned data directory.
(pkgvmacrodir): Ditto.  Versioned aclocal directory.
(LN): New check for LN command.
* Makefile.am (aclocal_DATA): Replaced with...
(pkgvmacro_DATA): ...this.
(install-data-local): Remove old shared resources.
(install-exec-hook): Make versioned links to executables.
(uninstall-hook): Remove versioned files.
* libltdl/Makefile.am (ltdldatadir): Redefine in terms of
pkgvdatadir.
* libltdl/loaders/Makefile.am (ltdldatadir): Ditto.
* libtoolize.m4sh: Copy macro files from versioned macro directory
instead of shared aclocal directory.
* doc/libtool.texi: Document it.
* NEWS: Updated.
2004-11-15 01:03:14 +00:00
Gary V. Vaughan
25946db755 From James Henstridge <james@jamesh.id.au>:
* m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4: Added commented out
empty macro definitions to match each AU_DEFUN to help aclocal
from automake-1.4 regexps find the right libtool macro files.
2004-11-10 13:27:21 +00:00
James E Wilson
95b4514791 * config/ltmain.m4sh (func_mode_link), tests/Makefile.am,
Fix error message with `-objectlist' file that does not exist.
tests/objectlist.test:  New test for this.
2004-11-10 10:14:12 +00:00
James E Wilson
806ec5d7dc * Makefile.am: config/ltmain.sh is generated by config/ltmain.m4sh. 2004-11-10 10:07:56 +00:00
Ralf Wildenhues
493cb23a95 * doc/libtool.texi (Compile mode, Link mode,
Libltdl interface, Test descriptions, libtool script
contents): Some quote cleanup, more use of texinfo types.
2004-11-09 19:21:27 +00:00
Ralf Wildenhues
27c30aa6ed * doc/libtool.texi (libtool script contents):
echo is now ECHO; mention argument restriction.
2004-11-09 19:16:57 +00:00
Ralf Wildenhues
52a1da572a * doc/libtool.texi (Multiple dependencies): Minor rewording. 2004-11-09 19:13:06 +00:00
Ralf Wildenhues
17597b9080 * doc/libtool.texi (User defined module data, References):
indentation and word-wrap cleanup.
2004-11-09 19:09:46 +00:00
Ralf Wildenhues
71efd805df * doc/libtool.texi (all over): White space cleanup:
two spaces at start of sentence, no TABs.
2004-11-09 19:05:38 +00:00
Ralf Wildenhues
0afb0d1e7b * doc/libtool.texi (libtool script contents): Fix description
of need_lib_prefix.
2004-11-09 16:22:57 +00:00
Peter Ekberg
e5d7f88100 * config/ltmain.m4sh (func_mode_link): forward thread
related flags to dependent applications and libraries
by adding them to `inherited_linker_flags'.
2004-11-08 15:19:45 +00:00
Ralf Wildenhues
87501d96cd * m4/ltoptions.m4: Change all references of LT_LIBTOOL_INIT
to LT_INIT.
2004-11-07 13:24:51 +00:00
Peter Ekberg
81ac758669 * ltmain.m4sh (cwrappersource): clean up other warning on MinGW. 2004-11-05 18:04:39 +00:00
Bernhard Fischer
7a25f1b366 * m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS), m4/ltoptions.m4
(_LT_SET_OPTIONS), README, README.alpha: Typos.
2004-11-04 11:57:41 +00:00
Ralf Wildenhues
4d4230a3a6 * libtldl/ltdl.c (parse_dotla_file): Fix memleak. 2004-11-03 14:13:24 +00:00
Ralf Wildenhues
93b5b6e02f * ltmain.m4sh (cwrappersource): Cast isalpha arguments correctly. 2004-11-03 14:11:52 +00:00
Peter Ekberg
2f06b761c4 * ltmain.m4sh (cwrappersource): clean up warnings and
#include errors on MinGW.
2004-11-03 14:10:32 +00:00
Peter Ekberg
9097c9c8e9 * config/ltmain.m4sh (cwrappersource): clean up warnings and
#include errors.
2004-11-01 18:22:54 +00:00
Peter Ekberg
f862366c5f Sometimes, a wrapper script is generated for an executable that,
itself, does not link against an uninstalled library.  It appears
that this can happen if you are building a project where:

  (1) there is a library
  (2) there is an executable that does not, itself, link against
      that library

In this case, notinst_deplibs is empty, and when the wrapper
script is loaded by libtool during ./libtool mode=install, there
is a check for "is notinst_deplibs empty".  In this case, it is,
so libtool reports an error.

I don't think it is wrong to have a wrapper script for an exe that
*technically* doesn't need it.  But instead of checking for
notinst_deplib nonempty as a proxy for "did wrapper script get
sourced into my environment properly" a different var should be
used.

* config/ltmain.m4sh (func_mode_install): set new variable
`generated_by_libtool_version' in wrapper script when using
libtool_install_magic.  When verifying that wrapper script was
properly sourced, check that `generated_by_libtool_version' is
non-empty, instead of using notinst_deplibs.
2004-11-01 17:28:30 +00:00
Charles Wilson
5817d126bf * config/ltmain.m4sh (func_mode_install): On Windows based hosts,
ensure that import libraries don't get stripped.
* m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): On Windows based hosts,
use postinstall_cmds to strip DLL (not import lib!) when symbol
stripped installation was requested.
2004-11-01 16:29:15 +00:00
Ralf Wildenhues
cfd90b5373 * libltdl/ltdl.c (loader_init_callback): Back out broken cast. 2004-11-01 14:04:29 +00:00
Ralf Wildenhues
d8df98d4c5 * libltdl/ltdl.c (loader_init_callback, lt_dlexit): Add casts to
target type.
2004-11-01 11:26:29 +00:00
Ralf Wildenhues
8024c55497 * tests/defs.m4sh (func_exec): `shift'ing when there is nothing
to shift is non-portable.
2004-11-01 11:09:41 +00:00
Patrick Welche
1174721b33 * Makefile.am, Makefile.maint: Use path for dependencies built
in the source tree, to cater for BSD make.
2004-10-29 08:25:25 +00:00
Noah Misch
4d01904ca5 * config/ltmain.m4sh (func_lalib_p, func_ltwrapper_p): New
functions that abstract .la sanity checking.
(func_mode_execute, func_mode_install, func_mode_link)
(func_mode_uninstall): Use them.
2004-10-24 16:34:29 +00:00
Gary V. Vaughan
17e61a7564 * config/ltmain.m4sh (opt_silent): Whether --silent was given.
(run, show): Deleted.  All callers converted to opt_dry_run,
opt_silent or calls to func_show_eval.
* tests/mdemo-dryrun.test: Adjust.
2004-10-24 15:17:23 +00:00
Gary V. Vaughan
23f809f600 * HACKING: Fix a typo in the gpg --verify instructions. 2004-10-24 15:10:52 +00:00
Gary V. Vaughan
1c2e1f9bd7 * Makefile.maint (cvs-dist): Generate signatures and directives
for bz2 upload.
2004-10-24 15:08:53 +00:00
Peter O'Gorman
596e2489bd * config/ltmain.m4sh (func_mode_link): Make Gary's new tests
pass. When the output wrapper script is not in the current
directory, we can not use an rpath which is relative to the
current directory. Use an absolute path instead.
2004-10-23 12:04:34 +00:00
Gary V. Vaughan
7bcbdbbc55 * clcommit.m4sh: Add --rcfile option. 2004-10-22 18:05:29 +00:00
Gary V. Vaughan
5681c0f12c * clcommit.m4sh: Updated again, to support file list limited
commits to CVS, and to fix another occurence of the bash bug
that was preventing non-tla users from sending a commit mail.
2004-10-22 17:37:42 +00:00
Ralf Wildenhues
e40add4994 * TODO, libltdl/lt_error.h, libltdl/ltdl.c, libltdl/ltdl.h:
Undo accidental commit.
2004-10-22 13:07:44 +00:00
Ralf Wildenhues
ee81aed37d * Makefile.maint: Fix typo. 2004-10-22 13:02:53 +00:00
Gary V. Vaughan
e7a9d306f6 * clcommit.m4sh, config/mailnotify.m4sh: Updated from
cvs-utils--tla--1.0 to fix quoting of metachars in patch names.
2004-10-22 12:10:31 +00:00
Gary V. Vaughan
128f90e9ff * HACKING: Updated: .in' files are now .m4sh'; document some
more coding standards for these files.
2004-10-22 10:32:13 +00:00
Gary V. Vaughan
6b55376125 * config/general.m4sh (sed_double_backslash): Undo an
over-optimisation.
2004-10-22 07:58:24 +00:00
Gary V. Vaughan
8d2d20248a * AUTHORS: Reformatted to better reflect the current state of
Libtool maintainership.
* THANKS: Reformatted to give maintainers a quick way to look
up who has supplied FSF paperwork.
2004-10-22 07:11:46 +00:00
Noah Misch
443bae7dd9 * config/general.m4sh (sed_double_backslash): Improve this sed
expression to correct left anchored $ input to
double_quote_subst, as well as backslash escaped $ preceded by
any odd-numbered amount of  characters.
2004-10-21 16:54:54 +00:00
Gary V. Vaughan
ff7eac153d * config/general.m4sh (sed_double_backslash): New sed expression
to escape $ properly in combination with double_quote_subst.
(func_quote_for_eval): Four space indent margin for functions!
(func_quote_for_expand): Use $sed_double_backslash.
(func_show_eval): New function that echos an escaped but variable
expanded command, and then evaluates it.
2004-10-20 20:43:58 +00:00
Noah Misch
ba1e69caa4 * m4/libtool.m4 (sed_quote_subst): Remove superfluous backslashes
from the match character set.
(double_quote_subst): Ditto.
* lib/general.m4sh (sed_quote_subst): Ditto.
(double_quote_subst): New variable, copied from
m4/libtool.m4. Much the same as sed_quote_subst, but variable
references are not quoted.
(func_quote_for_eval): Given any $foo; $bar and
$foo must be identical after the following commands:
    func_quote_for_eval "$foo"
    eval "bar=$func_quote_for_eval_result"
(func_quote_for_expand): In a similar vein to to func_quote_for_eval,
except that variable expansions are not protected when quoting the
command for subsequent display.
* config/ltmain.m4sh: Factor away use of $sed_quote_subst now that
it has been subsumed into func_quote_for_eval.
(func_mode_link): Instead of `2004-10-14 Peter O'Gorman' below,
use func_quote_for_expand so that ${wl} is expanded properly in
the $show expression.
2004-10-20 08:45:10 +00:00
Gary V. Vaughan
f5eb2e88c3 * config/ltmain.m4sh (func_mode_finish): solaris-2.6 also has
crle(1).
Reported by Albert Chin-A-Young <china@thewrittenword.com>
2004-10-16 15:02:05 +00:00
Gary V. Vaughan
fd13e4f5ca Add some new tests for Libtool's support of Automake
subdir-objects builds.  This marks the beginning of a move to an
Autotest driven test framework, which will eventually allow us to
trim away many of the generated files in the current test demo
subdirectories:

* configure.ac (AC_CONFIG_TESTDIR): Re-enable commented out
Autotest macros.
(AUTOTEST, M4SH): Use --language long hand.
* bootstrap: Generate tests/testsuite, and by implication
tests/package.m4.
* Makefile.am (edit): Add substitutions needed to generate
tests/package.m4 from bootstrap.
(check-recursive): Add tests/testsuite.
(TESTSUITE): The new Autotest testsuite target.
(TESTSUITE_AT): The Autotest sources.
(EXTRA_DIST): Distribute the generated testsuite and sources.
(tests/package.m4): Use $(edit) to propagate package metadata to
the new tests.
(tests/testsuite): Build the testsuite.
(tests/atconfig): How to regenerate the file.
(check-local): Hook Autotest into `make check'.
(installcheck-local): Run the testsuite on the installed tree.
(clean-local): Tidy our file droppings.
* tests/Makefile.am: Remove bitrotted code from Autotest
experiments in Autoconf 2.52 era.  Updated the rest and moved into
Makefile.am.
* tests/testsuite.at: New container for Autotest test groups.
* tests/am-subdir.at: New test group for compatibility with
Automake's subdir-objects builds.  Currently holds two tests, one
for a C project and another similar project in C++.
* TODO: Add an entry to remind us that these new tests expose a
bug in libtool.
* NEWS: Updated.
2004-10-16 14:43:48 +00:00
Peter O'Gorman
609e9db7f0 * config/ltmain.m4sh: Revert most of my last commit, only eval
$show "$cmds", and only when building a library. I'm a wimp.
Thanks Gary for pointing out errors in previous commit.
2004-10-14 14:13:43 +00:00
Gary V. Vaughan
a6949eb270 * config/ltmain.m4sh (func_mode_finish): Mention crle(1) on
solaris 2.7 and higher in the finalisation notes.
Reported by Kurt J. Lidl <lidl@pix.net>
2004-10-13 16:06:49 +00:00
Gary V. Vaughan
0af561f564 * tests/cdemo-undef.test: New test for hosts that allow shared
libraries with undefined symbols, but have no C++ compiler
installed.
* tests/Makefile.am (COMMON_TESTS): Add it.
2004-10-13 16:01:01 +00:00
Peter O'Gorman
274b26c703 * config/ltmain.m4sh: Make sure that we $show what we will $run,
use eval $show if we do $run eval.
2004-10-13 14:55:59 +00:00
Charles Wilson
9a2bd4eb89 * config/ltmain.m4sh: add foo/bin for every foo/lib
in dllsearchpath when creating wrapper script.  Fixes
depdemo-relink test failure.


* config/ltmain.m4sh (func_mode_link): don't relink
on cygwin/mingw; no need.  But do ensure that wrappers
are created unless doing a purely static build.
2004-10-13 13:48:23 +00:00
Gary V. Vaughan
2a68cdb140 * tests/tagdemo-undef.test: New test for hosts that allow shared
libraries with undefined symbols.
* tests/Makefile.am (CXX_TESTS): Add it.
2004-10-13 07:15:02 +00:00
Charles Wilson
8a28ed97bf * tests/link.test: Fix check for use of libnlsut.a under
Cygwin.


* tests/quote.test: Do not look for $preargs in the output,
because libtool may change them.
2004-10-11 15:15:00 +00:00
Charles Wilson
c57c62b12e * config/ltmain.m4sh: Really don't require versions of GNU
sed newer than 3.02 for Cygwin and MinGW, and don't break
dryrun mode.
2004-10-11 04:15:43 +00:00
Bob Friesenhahn
2d21f9adc3 * config/getopt.m4sh: Under MinGW, reported paths may include ':'
so ':' should not be used as the sed delimiter.  Use '*' instead
since it is very unlikely to appear in a path.
2004-10-10 23:27:24 +00:00
Albert Chin-A-Young
c9ac8fcb3b * config/ltmain.m4sh: Don't require versions of GNU sed newer than
3.02 for Cygwin and MinGW.
2004-10-10 22:15:09 +00:00
Bob Friesenhahn
cf835b450f * tests/pdemo-inst.test: Correction for mis-application of
Charles Wilson's earlier patch.
2004-10-10 15:18:24 +00:00
Gary V. Vaughan
4573926c18 * m4/libtool.m4 (_LT_LANG_F77_CONFIG): Make sure the save and
restore code for CC is nested at the same depth.
(_LT_LANG_CXX_CONFIG): Ditto, but for several variables.
2004-10-09 20:51:55 +00:00
Gary V. Vaughan
c87d8b383b Update to the latest commit and mailnotify scripts from
gary@gnu.org--2004/cvs-utils--tla--1.0:

* commit, config/mailnotify: Removed.  Now built from...
* clcommit.m4sh, config/mailnotify.m4sh: ...these new sources.
* Makefile.maint (commit, config/mailnotify): How to build them.
* bootstrap: If we have a checked out tree (i.e. clcommit.m4sh
is present), then build them.
2004-10-08 21:56:10 +00:00
Gary V. Vaughan
20c92bbee3 Fix some issues that mangled the reexecution path to a script,
and thus prevented it from finding itself:

* config/general.m4sh (progname): Don't actually change the name
of the script if it begins with a `-', just prepend `./'.
(progpath): Add a new clause that first searches the execution
PATH, and then finally assumes this script is in the current
working directory if $progname has no directory separators (e.g
when invoked as `$SHELL progname').
2004-10-08 17:01:49 +00:00
Gary V. Vaughan
d7c85ee5b0 * config/general.m4sh (func_verbose): Work around a bash bug in
shell functions.
2004-10-08 16:39:55 +00:00
Charles Wilson
56295ae2e9 * tests/pdemo-inst.test: pdemo-inst should depend on pdemo-make.
* config/ltmain.m4sh: Windows and Cygwin reserve the .lnk
extension to represent shortcuts.  Use the extension ".lnkscript"
rather than ".lnk" for the piecewise linking ld script in order to
avoid the conflict.
2004-10-08 16:16:10 +00:00
Ralf Wildenhues
567c9626d9 * libltdl/ltdl.c (lt_dlexit, lt_dlpath_insertdir): Fix memleaks,
free user_search_path on lt_dlexit.
2004-10-08 14:10:33 +00:00
Ralf Wildenhues
bce1dbff48 * tests/sh.test: Remove tests which fail on AS_SHELL_SANITIZE
from autoconf >= 2.59.
2004-10-07 13:01:36 +00:00
Ralf Wildenhues
c5f6b34782 * TODO: Remove item: no need for a libltdl without stdio. 2004-10-07 05:53:44 +00:00
Gary V. Vaughan
1152908b90 * tests/defs.m4sh (scripts): Actually scan the generated ltmain.sh
for shell portability problems.
2004-10-07 03:07:13 +00:00
Gary V. Vaughan
90ecb87640 * m4/libtool.m4 (_LT_FORMAT_COMMENT): Shell meta-characters in
_LT_DECL descriptions were not being escaped before injection into
TAG CONFIG here documents in config.status.
2004-10-07 02:53:45 +00:00
Peter O'Gorman
be4a0532ad * m4/libtool.m4 (_LT_PROG_CXX, _LT_PROG_F77): New macros to work
around the deficiencies in AC_PROG_CXX and AC_PROG_F77.
* configure.ac: Cleaned up, having moved the checks for compilers
which do not exist to libtool.m4.
2004-10-06 13:49:22 +00:00
Ralf Wildenhues
ba0dac4a9d * libltdl/ltdl.c (try_dlopen): Move .la file parsing
part.. (parse_dotla_file): ..here.  Adjust.
2004-10-05 12:48:55 +00:00
Ralf Wildenhues
c3d2ada3c6 * libltdl/ltdl.c (load_deplibs, try_dlopen): Revert unnecessary casts
to int from my patch from 2004-10-01.
2004-10-05 12:42:45 +00:00
Ralf Wildenhues
c66aec3a0d * AUTHORS: Add myself. 2004-10-05 12:38:52 +00:00
Peter O'Gorman
96786b270c * config/ltmain.m4sh [darwin]: Make the -dylib_file flag work on
older darwins too. Reported by Christoph Egger.
2004-10-05 04:16:10 +00:00
Gary V. Vaughan
2fc0e2fe16 * configure.ac: Bumped version to 2.1a. 2004-10-05 01:00:39 +00:00
Gary V. Vaughan
e5d70992b8 * m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Don't confuse $ECHO
with $lt_ECHO, or we always get a libtool with ECHO=echo, rather
than testing for a mechanism that quotes  properly.
* NEWS: Updated.

* config/ltmain.m4sh: Need to include getopt.m4sh earlier so that
progpath is set before it is called to --no-reexec.
* NEWS: Updated.

Without this change, the distributed libtool tarball has a
dependency on autom4te.  There was some inconsistency in the
filenames: now we have foo.m4sh -> m4sh -> foo.in -> configure
-> foo[.sh].  Bootstrap runs the m4sh steps and the resulting .in
files are distributed:

* tests/Makefile.am (EXTRA_DIST): Distribute defs.m4sh.
* Makefile.am (EXTRA_DIST): Distribute libtoolize.m4sh.
(libtoolize.in, libtoolize): Split into bootstrap and runtime
stages.
($(top_srcdir)/tests/defs.in, $(top_srcdir)/tests/defs): Ditto.
($(top_srcdir)/config/ltmain.sh): Swap ltmain.m4sh and ltmain.in
names.
* bootstrap: Make libtoolize.in and tests/defs.in.
* NEWS: Updated.
2004-10-04 18:32:45 +00:00
Bob Friesenhahn
b295807c54 * README, README.alpha: Update notes regarding available VERBOSE
settings.
2004-10-03 21:08:21 +00:00
Bob Friesenhahn
623d66623e * config/ltmain.in: Change $XSED to $Xsed to fix hang noticed
under MinGW.
* tests/defs.in: Support VERBOSE=debug to enable shell tracing
while running tests.
2004-10-03 20:47:05 +00:00
Gary V. Vaughan
954cd09b64 * libltdl/lt__alloc.h (lt__alloc_die): Declare with LT_SCOPE as
per Ralf's original patch.
Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
2004-10-03 17:22:50 +00:00
Gary V. Vaughan
452cf71bac * libltdl/Makefile.am (libltdlc_la_LIBADD): Don't use
libdlloader_la_OBJECTS, an undocumented Automake internal
variable...
(libltdlc_la_SOURCES): ...use libdlloader_la_SOURCES here
instead.
Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
2004-10-03 17:12:53 +00:00
Gary V. Vaughan
aef90512b5 * libltdl/argz_.h: Forgot to spell lt_system.h with just one `_'. 2004-10-03 16:15:59 +00:00
Gary V. Vaughan
8911deab1b * libltdl/argz_.h: Forgot to include lt__system.h for LT_SCOPE
definition.
2004-10-03 15:44:36 +00:00
Ralf Wildenhues
dc5fbfd041 * libltdl/lt__alloc.h: Declare exported functions with LT_SCOPE
for mingw32.
* libltdl/lt__dirent.h: Ditto.
* libltdl/argz._h: Ditto.  Be careful about not requiring
additional libltdl files when used outside of libltdl.
* libltdl/slist.h: Ditto.
* HACKING: Add a section on libltdl implementation layering.
2004-10-03 13:50:10 +00:00
Gary V. Vaughan
ff1cda1ec4 * tests/quote.test: echo is called ECHO now. Make sure we extract
the value of ECHO from the libtool script.
Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
2004-10-03 11:20:53 +00:00
Gary V. Vaughan
6ba254ca06 * m4/libtool.m4 (hardcode_shlibpath_var) [darwin7*]: Revert my
hack from 2004-09-30 now that I've removed /lib/hello.la and the
tests work properly for me again.
2004-10-02 15:56:20 +00:00
Jim Tison
23031a61ab Initial support for s390x-ibm-tpf:
* m4/libtool.m4: Correct obvious spelling errors in remarks.
(_LT_ENABLE_LOCK): Make s390x-ibm-tpf hosts adopt elf64_s390
conventions.
(_LT_SYS_DYNAMIC_LINKER): Set defaults for s390x-ibm-tpf host.
(_LT_CHECK_MAGIC_METHOD): Skip all dependency checks for
s390x-ibm-tpf hosts.
(_LT_LINKER_SHLIBS): Make s390x-ibm-tpf hosts adopt GNU/Linux OS
attributes.
* NEWS: Updated.
2004-10-02 12:57:45 +00:00
Ralf Wildenhues
5a5cae5200 * config/ltmain.in (func_mode_install): Need to set $tmpdir before
using it.
2004-10-01 12:43:20 +00:00
Ralf Wildenhues
4e184ccb9f * config/ltmain.in (func_mode_link): Fix quoting bug. Fixes
e.g. the quoting of the -export-symbols-regex argument in .la
files' relink_command.
2004-10-01 11:03:03 +00:00
Ralf Wildenhues
9bc5390549 * libltdl/lt__alloc.c (lt__memdup): Allocation can fail, so we
need to guard against null pointer dereference here.
* libltdl/ltdl.c (lt_dlcaller_register): Ditto.
2004-10-01 10:24:18 +00:00
Ralf Wildenhues
921d06b537 * libltdl/slist.c (slist_foreach): result was declared as
inner variable, shadowing the actually returned value.
2004-10-01 10:03:11 +00:00
Ralf Wildenhues
2b104f6438 * libltdl/ltdl.c (load_deplibs, try_dlopen): Cast argument
to isspace/isalnum to the correct range.  Also, cast to int to
avoid compiler warnings.
2004-10-01 09:57:56 +00:00
Ralf Wildenhues
228e9808f8 * libltdl/ltdl.c (try_dlopen): Fix null pointer dereference in
case the name given to lt_dlopen contains no extension.
2004-10-01 02:55:50 +00:00
Ralf Wildenhues
8286085803 * libltdl/lt_dlloader.c (lt_dlloader_remove), libltdl/ltdl.c
(tryall_dlopen, lt_dlhandle_next): Show usage of function pointers.
2004-09-30 21:56:13 +00:00
Ralf Wildenhues
d74ec0eeb3 * doc/libtool.texi (LT_INIT, Using libltdl)
(Module loaders for libltdl, Multiple dependencies)
(libtool script contents): Fix several typos (trivial change).
2004-09-30 21:27:30 +00:00
Gary V. Vaughan
8fc94cdab2 * m4/libtool.m4 (hardcode_shlibpath_var) [darwin7]: My Panther
workstation doesn't hardcode the shared library path, although it
used to, so this is more likely a function of the binutils and/or
gcc I am using at the moment.  The hardcode value setting code for
the configure script sucks at the moment though...
* (TODO): ...and needs to do a test compile instead of a table
lookup before 2.0 final.
2004-09-30 20:53:17 +00:00
Gary V. Vaughan
ab6fca01c2 * m4/libtool.m4 (echo): Use ECHO throughout for consistency with
config/ltmain.in.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2004-09-30 15:13:22 +00:00
Gary V. Vaughan
af93981586 * m4/libtool.m4 (rm): Use RM throughout for consistency with
config/ltmain.in.
Reported by Charles Wilson <cwilson@spam.protected>
2004-09-30 09:38:23 +00:00
Peter O'Gorman
954fd8e2b8 * m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [darwin]: Don't echo gcc -v
output during configure. (Really this time, honest)
2004-09-27 14:56:08 +00:00
Albert Chin-A-Young
f75d37dac1 * m4/libtool.m4 (_LT_LINKER_SHLIBS) [aix]: In archive_expsym_cmds,
move -bnoentry linker option before $compiler_flags to honor any
possible -e entries in LDFLAGS.
2004-09-26 20:01:26 +00:00
Gary V. Vaughan
29b732ba79 * config/ltmain.in (func_mode_link): When linking an installed
libtool library on the command line using -lfoo we need to find
the library in the search paths and add it's dependency_libs to
the link in the conv pass so that any libtool libs listed are
correctly expanded in the link pass.
2004-09-25 13:38:53 +00:00
Charles Wilson
7e9e1f5a70 * libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Revert changeset from
`2004-09-22  Charles Wilson  <cwilson@spam.protected>'.
2004-09-24 16:18:01 +00:00
Gary V. Vaughan
fc4e513ee0 * config/general.m4sh (Xsed): Set a default when not used from
ltmain.in.
(ECHO): Audit for (and correct!) uses of $ECHO with more than one
argument, which breaks when ECHO='printf %sn', and with possible
`-' as first character of the argument, which breaks `print -r'
and some implementations of `echo'.
* config/ltmain.in, tests/defs.in, libtoolize.in (ECHO): Ditto.
Reported by Albert Chin-A-Young <china@thewrittenword.com>
2004-09-24 16:08:33 +00:00
Peter O'Gorman
ea60dcd3ad * m4/libtool.m4 (_LT_CMD_STRIPLIB) [darwin]: strip archives too. 2004-09-24 15:17:19 +00:00
Peter O'Gorman
5b5f6d0fde * m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [darwin]: Don't echo gcc -v
output during configure.
2004-09-24 14:59:23 +00:00
Gary V. Vaughan
ef199e55da * m4/libtool.m4 (_LT_DECL_EGREP): Only the newest CVS autoconf
AC_SUBSTs for GREP.  Do our own here too to cater for release
autoconfen.
2004-09-24 12:51:24 +00:00
Gary V. Vaughan
4d35a15aee * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [openbsd3.3]: Set
need_version to yes or no depending on the os release.
Reported by Dalibor Topic <robilad@kaffe.org>
2004-09-24 10:15:16 +00:00
Gary V. Vaughan
cd11b6995f * tests/cdemo-conf.test, tests/cdemo-exec.test,
tests/cdemo-make.test, tests/cdemo-shared.test,
tests/cdemo-static.test, tests/demo-conf.test,
tests/demo-deplibs.test, tests/demo-exec.test,
tests/demo-hardcode.test, tests/demo-inst.test,
tests/demo-make.test, tests/demo-nofast.test,
tests/demo-noinst-link.test, tests/demo-nopic.test,
tests/demo-pic.test, tests/demo-relink.test,
tests/demo-shared.test, tests/demo-static.test,
tests/demo-unst.test, tests/depdemo-conf.test,
tests/depdemo-exec.test, tests/depdemo-inst.test,
tests/depdemo-make.test, tests/depdemo-nofast.test,
tests/depdemo-relink.test, tests/depdemo-shared.test,
tests/depdemo-static.test, tests/depdemo-unst.test,
tests/f77demo-conf.test, tests/f77demo-exec.test,
tests/f77demo-make.test, tests/f77demo-shared.test,
tests/f77demo-static.test, tests/link-2.test, tests/link.test,
tests/mdemo-conf.test, tests/mdemo-dryrun.test,
tests/mdemo-exec.test, tests/mdemo-inst.test,
tests/mdemo-make.test, tests/mdemo-shared.test,
tests/mdemo-static.test, tests/mdemo-unst.test,
tests/mdemo2-conf.test, tests/mdemo2-exec.test,
tests/mdemo2-make.test, tests/nomode.test, tests/pdemo-conf.test,
tests/pdemo-exec.test, tests/pdemo-inst.test,
tests/pdemo-make.test, tests/quote.test, tests/sh.test,
tests/suffix.test, tests/tagdemo-conf.test,
tests/tagdemo-exec.test, tests/tagdemo-make.test,
tests/tagdemo-shared.test, tests/tagdemo-static.test,
tests/tagtrace.test: POSIX `.' searches only in user's $PATH, so
we must use `. ./defs' to source the common code.
Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>
2004-09-23 14:50:36 +00:00
Gary V. Vaughan
c82db6b1e0 * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Gah. Merge error
corrected.
2004-09-23 13:46:46 +00:00
Gary V. Vaughan
e9b2b3f264 Since defs can change (path to grep for example) when it is made
for a different host, it can't be shipped.  That also means that
defs will always be generated in the build tree, so each test case
can have the srcdir discovery factored away into tests/defs.in:

* Makefile.am (EXTRA_DIST): s/defs/defs.in/g
* tests/Makefile.am (defs): New rule to remake defs from the
parent directory's Makefile.
* tests/cdemo-conf.test, tests/cdemo-exec.test,
tests/cdemo-make.test, tests/cdemo-shared.test,
tests/cdemo-static.test, tests/demo-conf.test,
tests/demo-deplibs.test, tests/demo-exec.test,
tests/demo-hardcode.test, tests/demo-inst.test,
tests/demo-make.test, tests/demo-nofast.test,
tests/demo-noinst-link.test, tests/demo-nopic.test,
tests/demo-pic.test, tests/demo-relink.test,
tests/demo-shared.test, tests/demo-static.test,
tests/demo-unst.test, tests/depdemo-conf.test,
tests/depdemo-exec.test, tests/depdemo-inst.test,
tests/depdemo-make.test, tests/depdemo-nofast.test,
tests/depdemo-relink.test, tests/depdemo-shared.test,
tests/depdemo-static.test, tests/depdemo-unst.test,
tests/f77demo-conf.test, tests/f77demo-exec.test,
tests/f77demo-make.test, tests/f77demo-shared.test,
tests/f77demo-static.test, tests/link-2.test, tests/link.test,
tests/mdemo-conf.test, tests/mdemo-dryrun.test,
tests/mdemo-exec.test, tests/mdemo-inst.test,
tests/mdemo-make.test, tests/mdemo-shared.test,
tests/mdemo-static.test, tests/mdemo-unst.test,
tests/mdemo2-conf.test, tests/mdemo2-exec.test,
tests/mdemo2-make.test, tests/nomode.test, tests/pdemo-conf.test,
tests/pdemo-exec.test, tests/pdemo-inst.test,
tests/pdemo-make.test, tests/quote.test, tests/sh.test,
tests/suffix.test, tests/tagdemo-conf.test,
tests/tagdemo-exec.test, tests/tagdemo-make.test,
tests/tagdemo-shared.test, tests/tagdemo-static.test,
tests/tagtrace.test: Removed srcdir discovery boilerplate...
* tests/defs.in: ...and put it here.
2004-09-23 13:07:15 +00:00
Ralf Wildenhues
6cc733bc35 * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): move symcode calculation
to correct place.
* doc/libtool.texi (libtool script contents): update description
of global_symbol_to_cdecl.
2004-09-23 12:26:40 +00:00
Gary V. Vaughan
bfce27f524 * configure.ac (M4SH): AC_SUBST m4sh expander.
* config/general.m4sh, config/getopt.m4sh: New files with factored
out functionality from...
* config/ltmain.in, libtoolize.in: ...here.  m4_include the shared
code, and call AS_SHELL_SANITIZE.  Also quote all `[' and `]' to
survive m4 run.
(func_serial): No need to double up m4sh quotes after a `#'.
(func_check_macros): Escape `dnl' to stop m4sh interpreting it as
a macro.
* tests/defs.in: New file expanded into tests/defs by autom4te.
* m4/libtool.m4 (_LT_DECL_EGREP): Also require fgrep for the tests
that use it.
* Makefile.am ($(top_srcdir)/config/ltmain.sh): Now built with
M4SH.
(libtoolize): Ditto.
* bootstrap: Set M4SH for call to make.
* HACKING: No need to sync to AS_SHELL_SANITIZE by hand any more.
2004-09-23 01:16:41 +00:00
Gary V. Vaughan
a453acdc32 * m4/libtool.m4: _LT_DECL uppercase ECHO.
* config/ltmain.in: Use it throughout.
(func_mkdir_p): Now matches the other implementations in
tests/defs and libtoolize.in.
* tests/sh.test: Updated to detect ECHO misuse.
2004-09-23 00:13:02 +00:00
Gary V. Vaughan
f28311788e * config/ltmain.in (func_mode_link): Propagate a convenience
library's dependency libs correctly when it is being linked into a
libtool library.  Deplibs are now propagated whether libdir is set
or not.
2004-09-22 23:31:27 +00:00
Andreas Schwab
a2ad2dce32 The dlpreopen pass over libraries reverses the elements in the
$deplibs list.  This causes problems when the link pass tries to
find libraries when they are located in non-standard places
denoted by -L options.  Due to the reversed order these -L options
occur after the libraries that need them, and they are not found:

* config/ltmain.in: (Un)Reverse $deplibs list at the start of the
link pass in lib mode.
2004-09-22 22:46:12 +00:00
Charles Wilson
8c7eb9e5c9 * ltmain.in (func_generate_dlsyms) [cygwin, mingw]: when creating
a .exp file for an executable, also create a .def file, and add
that file to the link command via SYMFILES.  This causes binutils
to generate an .edata section, and allows self dlopening to work.
* NEWS: Updated.
2004-09-22 08:50:34 +00:00
Charles Wilson
8bf60ee1c8 * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): better quoting for
postinstall_cmds and postuninstall_cmds to allow spaces in install
paths.
2004-09-22 08:11:49 +00:00
Charles Wilson
1ab797d98d * config/ltmain.in (func_generate_dlsyms): Addresses in
_preloaded_symbols[] cannot go into .rdata section if symbols are
DATA imported from DLL, on windows, because runtime relocations
must happen.
* m4/libtool.m4 (_LT_LINKER_SHLIBS([TAGNAME])):	Build exports for
symbols in .rdata sections.
2004-09-22 07:40:25 +00:00
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