Commit Graph

351 Commits

Author SHA1 Message Date
Charles Wilson
709bbb1731 * ltmain.in (win32_libid): Rewritten to improve speed. 2003-02-17 18:55:45 +00:00
Charles Wilson
6ab1e4099d * ltmain.in: add code for a binary wrapper
to use with uninstalled executables on cygwin/mingw.
Make sure that --mode=clean gets shell wrapper and
binary wrapper.  When sourcing the shell wrapper,
invoke using a terminal `.' on cygwin/mingw to
avoid the automatic append-.exe behavior.
2003-01-29 04:53:18 +00:00
Albert Chin-A-Young
1f2222e418 * libtool.m4: Hardcode library paths into libraries on IRIX. 2003-01-28 22:34:27 +00:00
Albert Chin-A-Young
aeaa38d6ed * libtool.m4, ltmain.in: Add support for hppa*64* based on
a patch by Ross Alexander <ross.alexander@uk.neceur.com>.
Credit to Ross! Use +b to hardcode library runtime path.
Add new variable, $hardcode_libdir_flag_spec_ld, that
is equivalent to $hardcode_libdir_flag_spec but is used
when ld is used for linking. This works around having to
set wl=''.
2003-01-15 02:55:34 +00:00
Robert Boehne
68e66c70d2 * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Modify the
"-shrext" option so that is works properly under Darwin.
Modify the processing of 'gcc -print-search-dirs' under
Darwin to make it behave like GNU gcc does.
(AC_LIBTOOL_CONFIG): Single quote $shrext.
* ltimain.in: Expand shared_ext just before it is used
so that it can be conditional on the value of $module.
2003-01-11 05:52:49 +00:00
Benjamin Reed
7d9ab948d8 * ltmain.in [darwin]: disable lazy linking, needed
to resolve C++ global constructor issues
2003-01-01 01:57:47 +00:00
Ralph Schleicher
46ed70ab97 Rework by Robert Boehne <rboehne@gnu.org>
* ltmain.in: New link option -shrext.
* libtool.m4 (AC_LIBTOOL_CONFIG): New libtool variable shrext.
(AC_LIBTOOL_SYS_DYNAMIC_LINKER): Replace all hard coded shared
library file name extensions in library_names_spec and
soname_spec with $shrext.
* doc/libtool.texi (Link mode): Document it.
2002-12-31 05:43:24 +00:00
Robert Boehne
4f17e338d2 * ltmain.in: Use the sed program found by LT_AC_PROG_SED
so that relink commands don't get truncated.
2002-12-20 04:56:26 +00:00
Robert Boehne
a6586edd03 ltmain.in: Revert the version +1 change for IRIX, it could
cause compatibility problems.
2002-12-11 16:05:24 +00:00
Paul Eggert
757646d28b Don't assume that egrep and fgrep exist. POSIX 1003.1-2001 no
longer requires them; you're supposed to use grep -E and grep -F
instead.  Also, don't assume that "test -a" works, since POSIX
doesn't require it.
* libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER, _LT_AC_LANG_C_CONFIG,
_LT_AC_LANG_CXX_CONFIG, AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE,
AC_LIBTOOL_PROG_LD_SHLIBS):
egrep -> grep, when that makes no difference.
* libtoolize.in: Likewise.
* ltdl.m4 (AC_LTDL_SYMBOL_USCORE): Likewise.
* ltmain.in: Likewise.
* demo/Makefile.am (hc-direct): Likewise.
* pdemo/Makefile.am (hc-direct): Likewise.
* tests/build-relink.test, tests/build-relink2.test,
tests/cdemo-conf.test, tests/cdemo-shared.test,
tests/cdemo-static.test, tests/demo-conf.test,
tests/demo-nofast.test, tests/demo-shared.test,
tests/demo-static.test, tests/depdemo-conf.test,
tests/depdemo-nofast.test, tests/depdemo-shared.test,
tests/depdemo-static.test, tests/hardcode.test,
tests/mdemo-conf.test, tests/mdemo-shared.test,
tests/mdemo-static.test, tests/pdemo-conf.test,
tests/tagdemo-conf.test, tests/tagdemo-shared.test,
tests/tagdemo-static.test: Likewise.
* libtool.m4 (AC_PROG_EGREP):
New macro, defined if Autoconf doesn't define.
(AC_PATH_TOOL_PREFIX, AC_PROG_LD_GNU): Use it.
(AC_PROG_LD, AC_PROG_NM, AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE):
Use shell pattern matching rather than egrep.
(AC_LIBTOOL_CONFIG): Set lt_EGREP and EGREP.
* demo/Makefile.am (SET_HARDCODE_FLAGS): Use sed instead of egrep.
* pdemo/Makefile.am (SET_HARDCODE_FLAGS): Likewise.
* tests/defs (EGREP, FGREP): New vars.
* ltmain.in: egrep -> $EGREP
* tests/assign.test, tests/demo-exec.test, tests/demo-inst.test,
tests/pdemo-exec.test, tests/pdemo-inst.test, tests/sh.test:
Likewise.
* tests/hardcode.test: fgrep -> $FGREP
* tests/f77demo-exec.test: test -a -> test &&
2002-11-19 09:42:39 +00:00
Bob Friesenhahn
5a65bbcb7a * ltmain.in: When using gcc, pass -mfoo to the linker
via $compiler_flags in order to pass architecture information to
the linker (e.g. 32 vs 64-bit). This may also be accomplished via
-Wl,-mfoo but this is not reliable with gcc because gcc may use
-mfoo to select a different linker, different libraries, etc, while
-Wl,-mfoo simply passes -mfoo to the linker. If there is a better
solution, please let me know what it is.
2002-11-19 04:42:08 +00:00
Akim Demaille
700774eef3 * ltmain.in: Do not change the PATH in the wrappers: let them
launch the real binary using its path.
2002-11-18 16:40:59 +00:00
Charles Wilson
c93daf5c91 * libtool.m4 (_LT_AC_LOCK): remove support for ancient
versions of mingw and cygwin.
(AC_LIBTOOL_POSTDEP_PREDEP): new function.
moved the "find hidden library dependencies" code here
from AC_LIBTOOL_LANG_CXX_CONFIG.  Attempted to make it
multi-tag compatible, but currently only CXX calls it.
(AC_LIBTOOL_LANG_CXX_CONFIG): set
enable_shared_with_satic_runtimes to 'no' by default
Set it to 'yes' for cygwin, mingw, pw32. Replace
"find hidden library dependencies" code with a call
to the new function AC_LIBTOOL_POSTDEP_PREDEP.
Consolidate cygwin and mingw/pw32 stanzas.
(AC_LIBTOOL_LANG_F77_CONFIG): set
enable_shared_with_static_runtimes to 'no' by default
(AC_LIBTOOL_CONFIG): add
enable_shared_with_static_runtimes to the list of variables
to write into ltmain.sh; include it in the libtool script
template as allow_libtool_libs_with_static_runtimes.
(AC_LIBTOOL_PROG_LD_SHLIBS): set
enable_shared_with_static_runtimes to 'no' by default
Set it to 'yes' for cygwin, mingw, pw32.
(AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): only put cr in regexp
if the build_os is mingw, not host_os

* ltmain.in (case deplibs_check_method): for all appropriate
cases, if allow_libtool_libs_with_static_runtimes, then remove
predeps and postdeps from the list of dependencies that must
be checked for "dynamicness".  For the "none" case, the
presence of compiler-generated postdeps and predeps should
not trigger "inter-library dependencies not supported" error.
(initial setup after arg processing): on cygwin/mingw, allow
compiler-generated dependent libs to be duplicated without
elimination.
(initial search loop for deplibs): if the deplib in question
is a libtool lib, then if
allow_libtool_libs_with_static_runtimes then parse the .la file.
If the .la file only has an "old_library", add the deplib
directly to the deplibs list (-lstdc++) and DON'T use the .la
file; this allows the (case deplibs_check_method) change above
to take effect.
* ltmain.in (for pass in $passes loop): remove predeps,
postdeps, and compiler_lib_search_path from dependency_libs.
2002-11-18 15:26:17 +00:00
Ossama Othman
d2c4f8f8fc * ltmain.in: add support for installing into temporary
staging area (e.g. 'make install DESTDIR=...')


* libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG): restore setting
allow_undefined_flag=unsupported for cygwin and mingw.
(AC_LIBTOOL_PROG_LD_SHLIBS): ditto, for both "normal" gcc/ld
and for the (unmaintained?) MSVC case.


* doc/libtool.texi (Install mode): document new
-inst-prefix option.
2002-11-03 17:35:37 +00:00
Robert Boehne
900d3d6911 * ltmain.in: Print a warning if the mode is not specified.
* doc/libtool.texi: Document the change that the mode must be
specified.
2002-11-03 02:16:06 +00:00
Charles Wilson
6da15e03aa * libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): use printf, not
echo. (AC_DEPLIBS_CHECK_METHOD): use new shell function
win32_libid on w32 platforms
* ltmain.in: add new section for shell functions. Add
win32_libid() shell function.
* f77demo/Makefile.am: add -no-undefined flag


* ltdl.c (realloc): Remove custom realloc. (#define
rpl_realloc realloc) and comment out later code for custom
realloc. You can't define your own malloc unless you know
enough about the malloc in use to be able to tell how big
the src ptr is. The disabled code incorrectly used the
*destination* ptr to decide how much to copy. This
sometimes results in out-of-bound accesses which cause
segfaults. This is a quick hack for now; we may want
something cleaner later. (tryall_dlopen_module): check to
be sure (dirname_len > 0) before testing first character
against '/'. (try_dlopen): check for feof(file) in read
loop -- otherwise infloop?
2002-10-31 00:52:39 +00:00
Robert Boehne
4102e43461 * ltmain.in (-XCClinker): New flag passes a linking option
directly to the compiler driver without appending ${wl}.
2002-10-28 15:38:37 +00:00
Howard Chu
ac414296ee * ltmain.in [aix]: Be sure to deal with xlc_r, cc_r and other
compiler variants.
2002-10-25 00:23:24 +00:00
Albert Chin-A-Young
35f161c0db * libtool.m4: When LDFLAGS="-Wl,-brtl,[other options]", the
-brtl special-case code for AIX never gets triggered because
were are being too specific about how we search for -brtl.
Use case statement to avoid this. Remove extraneous
semicolon.
* ltmain.in: Recognize the IBM xlc compiler.
2002-10-24 23:59:11 +00:00
Ossama Othman
38bc3fc41e Support compiler names matching g++* 2002-10-24 21:20:13 +00:00
Robert Boehne
4f99ce4c60 ltmain.in: Do not add 1 to the version under IRIX, it is
not necessary.
2002-10-23 14:36:30 +00:00
Bob Friesenhahn
448a197074 MinGW patches from Elizabeth Barham and Bob Friesenhahn. 2002-10-15 22:50:58 +00:00
Robert Boehne
dec5788036 * ltmain.in: Fixed a few spelling errors. 2002-09-25 04:26:20 +00:00
Rainer Orth
c2132510d8 * libtool.m4 (osf[345]): Append $major to soname_spec.
Reflect this in library_names_spec.
* ltmain.in (osf): Prefix $major with '.' for use as extension.
2002-09-09 18:26:34 +00:00
Robert Boehne
746b7cba7b * ltmain.in (Piecewise linking): Add a clause to skip creating
the export file until the reloadable object file(s) have been
created, then use them as input for $export_symbols_cmds.
2002-06-24 19:32:41 +00:00
Rainer Orth
40bcc7f92c * ltmain.in (irix, nonstopux): Set major before use. 2002-06-13 11:01:47 +00:00
Jon Meredith
d08d73a5ba * ltmain.in: Fix a problem on SCO OpenServer5 that caused a
failure in three depdemo-make tests. For some reason the linker
tries to find the dependent libraries using the library search
path before it has read the libraries specified with absolute
paths in the full commandline. This patch add -L's for each of
the dependent library directories so that they can be resolved.
2002-05-21 14:05:20 +00:00
Paul Eggert
d197caf0e1 * ltmain.in: Don't assume that "sort +2" works, as POSIX
1003.1-2001 says that "sort +2" is supposed to sort the file
named "+2".  An example host that behaves like this is
textutils 2.0.21 with _POSIX2_VERSION=200112.
2002-05-06 14:51:40 +00:00
Loren James Rittle
338e2996c6 * ltmain.sh: Detect and handle object name conflicts while
piecewise linking a static library.
2002-05-06 13:38:11 +00:00
Dave Vasilevsky
7b689a89ce * ltmain.in: Remove convenience libraries from deplibs for Darwin. 2002-05-02 20:38:11 +00:00
Jean-Frederic Clere
dc2fdec4f4 * libtool.m4: Update support for Fujistu-Siemens Computers (FSC).
* ltmain.in: Add support for EBCDIC based systems.
2002-04-14 21:34:04 +00:00
Robert Boehne
8061bf2a80 * ltmain.in: Finish the tag matching logic started yesterday and
refactor it a bit.
2002-04-02 16:46:56 +00:00
Robert Boehne
77082a4f97 * ltmain.in: Handle the case when no tag is explicitly set, and
$base_compile has a space in front of $CC, and revert the setting
of tagname checked in on 2002-3-14.
2002-04-01 22:49:08 +00:00
Robert Boehne
6df1ea79f2 ltmain.in: Touch-up to make testsuite pass, and default tagname
to CC when it isn't explicitly set.
2002-03-14 21:43:50 +00:00
Bruce Korb
c36f568694 bring a touch of order to the option processing 2002-03-12 02:30:33 +00:00
Gary V. Vaughan
1cf9d2964d * NEWS: Updated.
* THANKS: Added Rob Collins and Chuck Wilson for their cygwin
work.

From Robert Collins  <robert.collins@itdomain.com.au>:
* configure.ac (AC_EXEEXT): Needed for DOSish systems.
* libtool.m4 (shlibpath_overrides_runpath) [cygwin]: Set to yes
when compiling with gcc.
(lt_prog_compiler_pic) [cygwin]: No longer needs the -DDLL_EXPORT
hack, so we just say the pic is the default.
(AC_LIBTOOL_PROG_LD_SHLIBS) [cygwin]: Extract symbols from a
library normally.
[cygwin]: Declare C++ compiler characterisics for g++, taking into
account the new auto-import support in cygwin ld.
* ltmain.in (specialdeplibs) [cygwin]: Be careful about
eliminating duplicate -lgcc's from the link line.
[cygwin]: Be smarter about .exe suffixes.
* demo/configure.ac (AC_EXEEXT, AC_LIBTOOL_WIN32_DLL):  Support
DOSish systems properly.
* depdemo/configure.ac (AC_EXEEXT, AC_LIBTOOL_WIN32_DLL):  Ditto.
* demo/Makefile.am (deplibs-check): Allow for .exe suffix.  Use
hell_static instead of hell.static for multi-`.' inhibited OSes.
* tests/demo-exec.test: Ditto.
* tests/demo-inst.test: Ditto.
* demo/foo.h [cygwin]: Sanitize cygwin dll support.
* demo/foo.c (_LIBFOO_COMPILATION_): No longer required.
* demo/hello.c (_LIBFOO_COMPILATION_): Ditto.
* depdemo/Makefile.am (bin_PROGRAMS): Use depdemo_static instead
of depdemo.static for multi-`.' inhibited OSes.
* tests/depdemo-exec.test: Ditto.
* tests/depdemo-inst.test: Ditto.
* mdemo/Makefile.am (bin_PROGRAMS):  Ditto for mdemo.static.
* tests/dryrun.test: Ditto.
* tests/mdemo-exec.test: Ditto.
* tests/mdemo-inst.test: Ditto.
* tests/build-relink.test:  Be careful about possible .exe
suffixes.
* tests/noinst-link.test: Allow for .exe suffix.
2002-03-03 03:19:55 +00:00
Alexandre Oliva
c2c0bd8ada Reverted incorrect patch:
2001-10-24  H.J. Lu  <hjl@gnu.org>
* ltmain.sh: Allow link against an archive when building a
shared library.
* libtool.m4 (lt_cv_deplibs_check_method): Always use
file_magic for Linux ELF.
2002-02-07 19:54:36 +00:00
Robert Boehne
f38781e05b * libtool.m4 (LT_AC_PROG_SED): New macro tests sed for truncation of
output.  AC_REQUIRE the new macro.
* ltmain.in: Use $SED rather than plan old sed, as set by the new
macro LT_AC_PROG_SED.
2002-01-29 22:58:35 +00:00
Jens Petersen
7a3351cf1b * ltmain.in: Replace all test "-a"s by "&& test"
for portability.
2001-12-06 19:34:36 +00:00
Donald D. Anderson
89e919b333 * ltmain.in: Treat freebsd like openbsd, in that -lc/-lc_r should
not be explicitly used.  ld handles this depending on the presence
of the -pthread option.
2001-11-27 23:10:22 +00:00
Robert Boehne
5b4575cf0a With help from Michael Matz <matz@kde.org>:
* ltmain.in:  Add a new command line argument
--preserve-dup-deps for preserving duplicate
dependent libraries.
* libtool.texi: Document it.
2001-11-27 19:31:22 +00:00
Gary V. Vaughan
6167b16561 From Joseph S. Myers <jsm28@cam.ac.uk>:
* ltmain.in: Typo.
2001-11-15 01:01:13 +00:00
Mo DeJong
bf264c44ca * ltmain.in: Place parens around a generated relink_command
so it is run is a subshell. This avoids an install error
where libtool ended up in the wrong directory after
relinking a .la file.
2001-11-15 00:59:07 +00:00
Gary V. Vaughan
9e3b311392 From Tom Bates <Tom.Bates@compaq.com>:
* libtool.m4 [mips-compaq-nonstopux]: New port.
* ltmain.in [mips-compaq-nonstopux]: Support
$version_type == nonstopux.
2001-10-28 12:22:39 +00:00
H.J. Lu
c6d8bb2c4b * ltmain.sh: Allow link against an archive when building a
shared library.
* libtool.m4 (lt_cv_deplibs_check_method): Always use
file_magic for Linux ELF.
2001-10-24 14:30:22 +00:00
Tor Lillqvist
0d88465d91 ...forgot the other `case $base_compile' case in the submitted patch 2001-09-22 13:39:21 +00:00
Tor Lillqvist
07ef86f9af * ltmain.in: Add a space to $base_compile in the case statement,
as the case labels checks for trailing spaces, but there aren't
necessarily in $base_compile.
2001-09-22 13:36:32 +00:00
Gary V. Vaughan
0cb0784e76 From Tor Lillqvist <tml@iki.fi>:
* ltmain.in [cygwin* mingw*]: Take care of the difference between
wrapper script name and executable name.
2001-09-21 19:49:29 +00:00
Gary V. Vaughan
4a57948985 * libtool.m4: CVS Autoconf guarantees a decent default IFS, so
there is no need for us to preset it anymore.
Be careful not to set IFS="${IFS}$PATH_SEPARATOR" for PATH
splitting, otherwise spaces in directory names will be lost.
Use $PATH_SEPARATOR... don't rely on $ac_path_separator, which was
an autoconf internal until just now, when it disappeared!
* ltmain.in: Default IFS once, at the start.
Reported by Akim Demaille <akim@epita.fr>
2001-09-10 23:33:26 +00:00
Brad
d665cea56b * ltmain.in (-lc_r): Style improvement. 2001-09-10 22:34:40 +00:00