Commit Graph

148 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
0aef25d740 * m4/libtool.m4, config/ltmain.in: When calling $LTCC,
pass default $CFLAGS through with $LTCFLAGS.
2004-09-05 17:35:16 +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
Albert Chin-A-Young
206543bc66 * m4/libtool.m4 (_LT_ENABLE_LOCK): Reformatted. 2004-09-03 00:44:04 +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
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
c37ec3a1d9 * .cvsignore, config/.cvsignore, libltdl/loaders/.cvsignore,
m4/.cvsignore: update (last two are new files).
2004-08-31 10:28:07 +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
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
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
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
Peter O'Gorman
d5ec0de0ec * m4/libtool.m4, ltmain.in: readd the comments that I erased. 2004-07-30 14:20:26 +00:00