Commit Graph

120 Commits

Author SHA1 Message Date
Ralf Wildenhues
8ef9778c39 * libltdl/config/ltmain.m4sh (func_mode_link): Avoid setting
`$libobjs' to a single space; set it to empty in that case.
2007-02-23 20:43:50 +00:00
Ralf Wildenhues
c4028959cf * libltdl/config/ltmain.m4sh (func_generate_dlsyms) [ osf5 ]:
On Tru64 5.1, const relocations do not work well.  Omit the
const here.  Fixes failure of demo-make after demo-shared with
link editor error `seg_info_ptr: Couldnt find a seg type 2'.
2007-02-23 19:45:42 +00:00
Ralf Menzel
3fa76ea860 * libltdl/config/general.m4sh (sed_double_backslash): Fix
hacky sed script to avoid limitations but retain portability to
Solaris /bin/sed.  Remove old obsolete cruft.
2007-02-23 18:18:34 +00:00
Ralf Wildenhues
14e51abfa8 * libltdl/config/ltmain.m4sh (func_mode_link): Fix the check for
convenience archives when warning about linking against static
libraries: test against $deplib rather than empty $lib.
2007-02-22 19:53:14 +00:00
Ralf Wildenhues
19f9aabf89 * libltdl/config/ltmain.m4sh: Remove duplicate marker for
generated shell functions.
2007-02-12 19:57:24 +00:00
Ralf Wildenhues
0891f8ccc9 * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): New substituted
function `func_lo2o', saving two fork&exec with XSI shells.
* libltdl/config/ltmain.m4sh (func_mode_compile)
(func_mode_install, func_mode_link): Use it for rewrites of
single files.
2007-02-11 16:22:42 +00:00
Ralf Wildenhues
9ebe7b436b * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): New function
func_opt_split, for XSI and portable shell.
* libltdl/config/ltmain.m4sh: Move the insertion point for the
configure-generated shell functions to before the first option
parsing loop.  Rewrite the separation of the long options to use
func_opt_split.
2007-02-11 16:19:09 +00:00
Ralf Wildenhues
f3186c9c01 Eliminate roughly a third of the script execution time overhead
for all modes except for link/relink and uninstall/clean.

* libltdl/m4/libtool.m4 (_LT_CONFIG): Remove unused `TEST SUITE
MARKER', obsolete since 2005-04-17.
* libltdl/config/ltmain.m4sh: Likewise, several instances.
(Main): Tear apart, moving individual bits up as early in the
script as possible, to help the shell to avoid parsing the rest.
2007-02-11 16:16:38 +00:00
Ralf Wildenhues
8faf59a421 * libltdl/config/general.m4sh (sed_double_backslash): Replace
POSIX sed script with a hack that treats up to 10 backslashes
in the input correctly and is portable to Solaris /bin/sed.
2007-02-11 11:07:08 +00:00
Brian W. Barrett
95e4b2aef7 * libltdl/config/ltmain.m4sh [darwin]: Use otool64 if otool fails. 2007-01-28 15:13:25 +00:00
Mike Frysinger
b7a0f78052 * libltdl/config/ltmain.m4sh (func_mode_link): Pass through
`-p' and `-fprofile-*' for GCC.
2007-01-28 14:18:59 +00:00
Ralf Wildenhues
4d8e7a3784 * libltdl/config/ltmain.m4sh (func_mode_compile): Accept
suffixes matching `[fF][09].', for Fortran.
* tests/suffix.test: Also test F90, F95, f03, F03.
2007-01-21 14:57:58 +00:00
Peter O'Gorman
bd9ae5e61b * libltdl/config/ltmain.m4sh: Add -F* to flags that are passed
to the linker.
Reported by SIGOURE Benoit <sigoure.benoit@lrde.epita.fr>
2006-10-22 14:10:33 +00:00
Ralf Wildenhues
997601f675 * libltdl/m4/libtool.m4 (func_mode_compile): Accept files with
extension `.f9?'.
* tests/suffix.test: Test `f95'.
2006-09-20 19:08:22 +00:00
Ralf Wildenhues
e6b8918f7e * libltdl/config/ltmain.m4sh (func_mode_uninstall): Use
`func_source' consistently.
2006-09-20 18:15:06 +00:00
George Bosilca
c6b76b4385 * libltdl/config/ltmain.m4sh (func_mode_link): In the dlsym
file, define a type for the symbol list, and declare the list
`extern', so that it is extern even if compiled by a C++
compiler.  The type definition helps avoid a compiler warning
against anonymous extern struct.
* libltdl/libltdl/lt_system.h: Add `extern' to `LT_SCOPE' for
the same reason.
2006-09-04 17:25:15 +00:00
Ralf Wildenhues
05f26e584d * libltdl/config/ltmain.m4sh (func_mode_link): Pass through
`--coverage' and `-pg', for GCC.  Report by Rainer Keller
<keller@hlrs.de> and Tor Lillqvist <tml@iki.fi>.
2006-08-25 15:08:14 +00:00
Ralf Wildenhues
ad29b3b578 * libltdl/config/ltmain.m4sh (func_mode_link): In GNU ld script,
do not quote object file names, for Intel icc 9.0 IPO link.
2006-08-23 17:57:34 +00:00
Ralf Wildenhues
c1f378e90c * libltdl/config/ltmain.m4sh (func_mode_execute): Also search
the directory above `$objdir' for the argument of "-dlopen", as
mentioned in the error message.
2006-08-07 16:25:08 +00:00
Ralf Wildenhues
f38715832a * libltdl/config/ltmain.m4sh (func_mode_link): Honor `-threads',
similar to `-mt'.
Report by Eric Paire <eric.paire@st.com>.
2006-06-08 16:54:44 +00:00
Ralf Wildenhues
a5220e7c70 * libltdl/config/ltmain.m4sh (func_mode_link, shell wrapper):
Do not put `"$@"' in argument to $ECHO.
2006-05-19 02:23:04 +00:00
Ralf Wildenhues
5809e5cd3a Fix mode=compile time regression of CVS HEAD over branch-1-5.
* libltdl/m4/libtool.m4 (_LT_CHECK_XSI_SHELL): Rename to...
(_LT_CHECK_SHELL_FEATURES): ...this.
(_LT_SETUP): Adjust caller.
(_LT_CHECK_XSI_SHELL): New libtool variables `lt_unset',
`SP2NL', `NL2SP', to contain results from tests for unset,
taken from AS_BOURNE_COMPATIBLE, and ASCII vs EBCDIC, taken...
* libltdl/config/general.m4sh: ...from here, and used...
* libltdl/config/ltmain.m4sh: ...here everywhere now.
* (AS_SHELL_SANITIZE): Replace by faster, actually necessary
part of its expansion, taken from current Autoconf CVS.  Do not
save and set all locale variables any more, but only LANG,
LC_ALL, LC_CTYPE, LC_COLLATE, LC_MESSAGES.
(func_mode_execute): Adjust.
* libltdl/m4/libtool.m4 (_LT_CONFIG): No need to unset CDPATH
here any more.
* libtoolize.m4sh: Compute `SP2NL' and `NL2SP' here, too.
2006-05-18 05:43:01 +00:00
Gary V. Vaughan
33f72b2ff5 * libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4
(_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG,
_LT_LANG_FC_CONFIG), tests/link-order.at
[ aix4*, aix5*, hpux10*, hpux11* ]: rename
hardcode_direct_static to hardcode_direct_absolute.
* doc/libtool.texi (libtool script contents): Adjust.
2006-05-18 00:10:37 +00:00
Albert Chin-A-Young
e73b15356c * libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4
(_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG,
_LT_LANG_FC_CONFIG) [ aix4*, aix5*, hpux10*, hpux11* ]:
Introduce a new variable, hardcode_direct_static, which
would ignore hardcode_direct=yes if the result would create a
static library dependency. Static library dependencies are
immune to $shlibpath_var.
* tests/link-order.at: Take hardcode_direct and
hardcode_direct_static into consideration when testing
link order.
2006-05-17 14:28:40 +00:00
Ralf Wildenhues
216754e101 Eliminate quadratic scaling in argument parsing loop, for
shells that understand `var+=value', such as Bash-3.1, or Zsh.

* libltdl/m4/libtool.m4 (_LT_CHECK_XSI_SHELL): Test whether
the shell understands `var+=value'.
(_LT_PROG_XSI_SHELLFNS): Define `func_append' based on this.
* config/ltmain.m4sh (func_mode_link): Use `func_append' for
compile_command, finalize_command, libtool_args, libobjs,
non_pic_objects.
2006-05-17 01:58:40 +00:00
John Bowler
ebfa770bf4 * libltdl/config/ltmain.m4sh (func_mode_link): For version_type
`none', we still need to set `current', `age', and `revision',
so that our checks don't barf.  The values won't be used later.
Apparently reported by several people, several times, for BeOS.
* NEWS, THANKS: Update.
2006-05-14 08:20:11 +00:00
Ralf Wildenhues
515a9846b0 * libltdl/config/ltmain.m4sh (func_write_libtool_object):
New function, factored out from..
(func_mode_compile): .. here.  Call it to generate the libtool
object file (the `.lo' file) in one step.
2006-04-22 18:57:04 +00:00
Ralf Wildenhues
c95b003861 * libltdl/config/ltmain.m4sh (func_mode_link)
< -static-libtool-libs >: New option.
* doc/libtool.texi (Link mode, Distributing libltdl):
Document it.
Suggested by Gary Kumfert <kumfert@llnl.gov>.
2006-03-20 20:40:07 +00:00
Ralf Wildenhues
3514d5f59b * libltdl/config/ltmain.m4sh (func_mode_link): Comment out the
code to remove uninstalled paths, as it is wrong here.  Change
the wrong shell quoting that kept it from "working" before.
* THANKS: Updated.
2006-03-16 20:47:54 +00:00
Ralf Wildenhues
af7ada4155 * libltdl/config/ltmain.m4sh (startup): save all locale specific
environment, variables:, LANG, LANGUAGE, LC_ADDRESS, LC_ALL
LC_COLLATE, LC_CTYPE, LC_IDENTIFICATION, LC_MEASUREMENT,
LC_MESSAGES LC_MONETARY, LC_NAME, LC_NUMERIC, LC_PAPER,
LC_TELEPHONE, LC_TIME.
(func_mode_execute): Restore them.
2006-02-24 19:45:48 +00:00
Ralf Wildenhues
1cafea60ff * libltdl/config/getopt.m4sh (func_help): Substitute `$host'.
* libltdl/config/ltmain.m4sh (help message): Use $host not
@host_triplet@, as the `@..@' substitution is done at bootstrap
time already.
Reported by Julien Lecomte <julien@famille-lecomte.net>.
2006-02-15 09:33:47 +00:00
Ralf Wildenhues
f4cb10f1ba * libltdl/config/ltmain.m4sh (func_mode_link) [ linux ]:
PGI: for `reload_cmds', we not only need to get rid of `$wl',
but also turn comma into space so $LD understands
whole_archive_flag_spec correctly.
2006-02-13 17:02:28 +00:00
Ralf Wildenhues
cf53b3d95a * libltdl/config/ltmain.m4sh (func_mode_link) <shell wrapper>:
Add _AS_BOURNE_COMPATIBLE code from Autoconf, to fix issues
with zsh and other shells.
Reported by David Gómez Espinosa <david@pleyades.net>.
2006-02-13 16:51:50 +00:00
Ralf Wildenhues
b4b9f408c0 * libltdl/config/ltmain.m4sh (extracted_archives)
(extracted_serial): New globals.
(func_extract_archives): Use them to rename extraction archives
for linking against multiple convenience libraries with the same
name.
* tests/duplicate_conv.at: New tests.
* Makefile.am: Adjusted.
Reported by Carlo Contavalli <ccontavalli@commedia.it>.
2006-02-05 11:06:31 +00:00
Ralf Wildenhues
7d94a98b90 * libltdl/config/ltmain.m4sh (func_mode_link) < test_compile >:
Fix a couple of instances where `test .. -ne ..' would possibly
compare non-numbers.  Clean up a bit.
2006-02-05 10:24:42 +00:00
Ralf Wildenhues
5e3fb346e5 * libltdl/config/ltmain.m4sh (func_mode_link): Fix logic for
adding run paths to also add paths for installed libtool
libraries in case `-static' is used.
2006-02-03 09:25:01 +00:00
Ralf Wildenhues
8bc6f72db2 * libltdl/config/ltmain.m4sh (func_mode_link): Fix matching
duplicate run path entries with the correct separator.
2006-01-30 20:20:54 +00:00
Ralf Wildenhues
88721edb92 * ChangeLog, HACKING, README, README.alpha,
libltdl/config/ltmain.m4sh:  Add vi(m) modelines, to match emacs
formatting variables.
2006-01-30 20:09:41 +00:00
Ralf Wildenhues
b794bc707a * Makefile.am, bootstrap, clcommit.m4sh,
libltdl/config/getopt.m4sh, libltdl/config/mailnotify.m4sh,
tests/sh.test, tests/testsuite.at: Bump copyright years.
2006-01-23 18:33:57 +00:00
Ralf Wildenhues
1d9ab46f1e * bootstrap: Don't use semicolons inside { } in sed scripts, as
Posix says it's not portable.
* Makefile.am (libltdl/Makefile.am): Likewise.
* libtoolize.m4sh (all over the map): Likewise.
* libltdl/config/getopt.m4sh (func_version, func_usage)
(func_help): Likewise.
* libltdl/config/ltmain.m4sh (func_win32_libid): Likewise.
* libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Likewise.
* clcommit.m4sh, libltdl/config/mailnotify.m4sh: Likewise.
* tests/sh.test, tests/testsuite.at (LT_AT_TAG): Likewise.
Noted by Paul Eggert <eggert@cs.ucla.edu>.
2006-01-21 16:44:41 +00:00
Ralf Wildenhues
488dce300f * libltdl/config/ltmain.m4sh (func_mode_compile): Also transform
`.obj' correctly.
Reported by George Bosilca <bosilca@cs.utk.edu>.
2006-01-21 08:56:43 +00:00
Ralf Wildenhues
83b8d935cc * libtoolize.m4sh, libltdl/config/general.m4sh,
libltdl/config/getopt.m4sh, libltdl/config/ltmain.m4sh,
libltdl/m4/libtool.m4: Bump copyright years.
2006-01-11 17:24:56 +00:00
Ralf Wildenhues
3036ac5576 * libltdl/config/ltmain.m4sh (func_mode_link) <temp_rpath>:
Fix position of separator for shlibpath_var setting in shell
wrapper.
2005-12-29 15:43:04 +00:00
Jacob Meuser
841602adb6 * libltdl/config/ltmain.m4sh (func_mode_link): Move library
search paths that coincide with paths to not yet installed
libraries to the beginning of the library search list.
2005-12-18 23:06:44 +00:00
Ralf Wildenhues
c480ecea14 * libltdl/config/ltmain.m4sh <preserve_args, linknames>:
Initialize properly.
2005-12-18 18:10:09 +00:00
Peter O'Gorman
8a3f305377 * libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4 [darwin]:
Use -single_module by default when linking shared libraries. Can
be overridden by specifying -multi-module or by setting the env
var LT_MULTI_MODULE before configure.
* libltdl/m4/libtool.m4 (archive_expsyms_cmds) [darwin]:
Simplify.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2005-12-07 13:23:14 +00:00
Ralf Wildenhues
33c0290e19 Basic support for PIE (position-independent executables).
* libltdl/config/ltmain.m4sh (func_generate_dlsyms):
Don't pass PIE flag for compilation of the symbol file object.
* NEWS: Updated.
2005-12-03 08:48:15 +00:00
Ralf Wildenhues
1ef097dbf6 * libltdl/config/general.m4sh (func_show_eval):
Rewrite use the failure expression, because the exit status of
the previous command may not be preserved in the next `eval' by
some shells, such as pdksh.
* libltdl/config/ltmain.m4sh (func_extract_an_archive):
Use func_show_eval correctly.
(func_mode_link): Likewise.  Also, do not use `$status'.
* tests/fail.at: New set of tests to ensure libtool fails.
* Makefile.am, tests/testsuite.at: Adjusted.
2005-12-03 08:33:48 +00:00
Ralf Wildenhues
d90ab8c89c * libltdl/config/ltmain.m4sh (func_mode_link): Allow GCC
response files through.
2005-11-25 18:13:53 +00:00
Peter O'Gorman
36e0337870 * libltdl/config/ltmain.m4sh (link mode): Pass through -isysroot
for cross architecture builds on darwin.
2005-11-25 12:50:54 +00:00
Ralf Wildenhues
2b5012fda1 * libltdl/config/ltmain.m4sh (func_mode_uninstall): In clean
mode, don't remove non-existent libfoo.lai.
2005-11-24 16:00:27 +00:00
Charles Wilson
28c731ebfa * libltdl/config/ltmain.m4sh (func_win32_libid): use $SED not
sed.
2005-11-10 18:32:44 +00:00
Kean Johnston
f35263fbb8 * libltdl/config/ltmain.m4sh (func_mode_link) [ sysv4*uw2*,
unixware7* ]: Work around linker bug on older SCO systems.
2005-11-07 22:53:46 +00:00
Kean Johnston
f750a60289 * libltdl/config/ltmain.m4sh (func_mode_link) [*-*-sco3.2v5*]:
Don't pass through -lc, nor add it to deplibs.
[*-*-sysv5*]: Ditto.
[*-*-openbsd*, *-*-freebsd*, *-*-dragonfly*]: Remove bogus
`$arg'.
2005-11-05 11:19:53 +00:00
Howard Chu
01f0aa7662 * libltdl/config/ltmain.m4sh (func_mode_link):
With `-static', only link statically against uninstalled
libtool libraries.  Fixes 1.5.x regression to match documented
behavior.
* NEWS: Updated.
2005-10-29 14:21:02 +00:00
Ralf Wildenhues
387a8e8f26 * libltdl/config/ltmain.m4sh [darwin]: Don't check for "bundle"
in file path.
Reported by Christoph Egger <Christoph_Egger@gmx.de>.
2005-10-17 14:06:36 +00:00
Ralf Wildenhues
24bb783732 * libltdl/config/ltmain.m4sh (func_mode_link):
Fix wrong logic introduced in last commit.
2005-09-30 08:41:48 +00:00
Peter Ekberg
96ce07aaa6 * libltdl/config/ltmain.m4sh (func_mode_link): Don't modify
user provided symbols file. Adjust removal of temporary files
and also remove temporary files used during symbols file
filtering.
2005-09-29 16:59:43 +00:00
Alan W. Irwin
d3d8151e28 * libltdl/config/ltmain.m4sh (func_win32_libid)
[ cygwin, mingw ]: Robustify sed script to determine
win32_libid_type.
(func_mode_link) [ mingw ]: Ignore `-lm'.
2005-09-25 07:35:58 +00:00
Peter Ekberg
86b15c9d24 * libltdl/config/ltmain.m4sh (func_mode_link): Filter
user supplied symfile to tag relevant symbols as data
symbols. Fixes segfault in stresstest.at on Cygwin and
makes the test pass.
2005-09-22 07:46:08 +00:00
Peter Ekberg
9eb92b0d31 * libltdl/config/ltmain.m4sh (func_mode_uninstall): Clean
up $dlname as well when cleaning a uninstalled libtool
library. Fixes -mode=clean on Cygwin and MinGW to actually
remove the dll when cleaning up an uninstalled library.
2005-09-21 12:32:43 +00:00
Ralf Wildenhues
815e595f9e * libltdl/config/ltmain.m4sh (func_mode_link): Allow some
ARM gcc ABI flags through.
Reported by Andrés Moré <more.andres@gmail.com>.
2005-09-17 07:38:28 +00:00
Peter Ekberg
072341693e * libltdl/config/ltmain.m4sh (func_generate_dlsyms):
Fix escape expression to actually escape relevant
characters from the following grep. Fix Cygwin and
MinGW to use the filtered symbol list when exporting
from self, and not the symbol filter.
* tests/stresstest.at: Export w8, not w8$
2005-09-13 07:28:14 +00:00
Ralf Wildenhues
7054425667 * libltdl/config/ltmain.m4sh (func_mode_link): Actually provide
a useful error message.  Fixes long-standing shameful user
neglection.
Reported by Martin Paljak <martin.paljak@gmail.com>.
2005-09-09 15:48:39 +00:00
Ralf Wildenhues
3e5a53b3a0 * libltdl/config/ltmain.m4sh (func_lalib_unsafe_p) [osf]:
Save file descriptor to original STDIN, and restore after
redirection.  Fixes memory corruption with Tru64 and OSF sh.
Reported by Nicolas Joly <njoly@pasteur.fr>.
2005-08-28 15:34:19 +00:00
Bruno Haible
3165a5d2b7 * libltdl/config/ltmain.sh (func_mode_install): Try "ln -s -f"
and "rm -f && ln -s" to make a symlink for a shared library: the
former is needed for libraries `ln' depends on, the latter for
Solaris /bin/ln.
Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
2005-08-24 15:57:32 +00:00
Ralf Wildenhues
62e9381be4 * libltdl/config/ltmain.sh (cwrappersource): return 127 if exec failed. 2005-08-24 14:49:23 +00:00
Peter O'Gorman
9dbbe605b7 * libltdl/config/ltmain.m4sh (inherited_linker_flags): Work when
output is an application too.
Reported by Christopher Egger <Christoph_Egger@gmx.de>
2005-08-24 04:51:41 +00:00
Peter Ekberg
6ef9fd6518 * config/.cvsignore, m4/.cvsignore: Moved from here...
* libltdl/config/.cvsignore, libltdl/m4/.cvsignore: ...to here.
2005-08-22 22:36:13 +00:00
Peter Ekberg
efe47e6656 This commit results in a temporary non-building tree, but CVS can't
cope with moving a file and changing it in the same changeset:

* config, m4: Moved from here...
* libltdl/config, libltdl/m4: ...to here.
2005-08-22 22:33:35 +00:00