Commit Graph

965 Commits

Author SHA1 Message Date
Paolo Bonzini
2bde23f84f Merge remote branch 'origin/master' into sysroot
* libltdl/config/ltmain.m4sh (func_mode_finish): Use sed_make_literal_regex.
2010-08-22 09:40:32 +02:00
Charles Wilson
5dca3212e1 fix --mode=finish
* libltdl/config/ltmain.m4sh (func_mode_finish): Invert then/else
blocks of the "if $opt_dry_run" conditional.
2010-08-22 09:39:21 +02:00
Paolo Bonzini
d7ed1f8f9f Factor the sed command used to make a regex from a literal.
* libltdl/config/general.m4sh (sed_make_literal_regex): New.
* libltdl/config/ltmain.m4sh (func_generate_dlsyms,
func_cygming_dll_for_implib_fallback_core): Use it.  Suggested
by Ralf Wildenhues.
2010-08-22 09:27:09 +02:00
Paolo Bonzini
b9accaaa3b improve code for sysroot --mode=finish
* libltdl/config/ltmain.m4sh (func_mode_finish): Change sysroot_regex
and sysroot_cmd delimiter from pipe to slash.  Wrap the entire for
loop with "if $opt_dry_run...fi" and print an explanatory message
for the --dry-run case.
2010-08-15 18:54:02 +02:00
Paolo Bonzini
d32c96ccd6 add libtool --mode=finish mode for sysroot
* doc/libtool.texi (Finish mode): Document behavior when *.la files
are passed.
* libltdl/config/ltmain.m4sh (func_mode_finish): Eliminate sysroot
or `=' signs representing it from files in $libs.
* tests/sysroot.at (SYSROOT_TESTS): Test for presence of sysroot
references before running libtool --mode=finish, and for absence
afterwards.
2010-08-15 18:45:39 +02:00
Paolo Bonzini
55e986b8b4 reorganize parsing of --mode=finish arguments
* libltdl/config/ltmain.m4sh (func_mode_finish): Split arguments for
directories and *.la files.
2010-08-15 18:45:31 +02:00
Paolo Bonzini
09a695acf9 fix sysroot handling for deplibs of preopened libtool libs
* libltdl/config/ltmain.m4sh: Pass $dependency_libs of preopened libtool
through func_resolve_sysroot.
2010-08-15 18:40:53 +02:00
Peter Rosin
66ce911b33 Allow the use of a listing file if the archiver supports it.
* libltdl/m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE): Move detection
of a suitable archiver...
(_LT_PROG_AR): ...to here. New macro, also detect if the
archiver supports a listing file with the new variable
archiver_list_spec.
* libltdl/config/ltmain.m4sh: If the archiver supports a listing
file, use it when max_cmd_len is exceeded.  This is needed for
tool chains such as MSVC which do not support piece by piece
linking (-r -o).
* doc/libtool.texi (libtool script contents): Update with
archiver_list_spec description.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-08-13 13:11:54 +02:00
Paolo Bonzini
a3cff76611 emit sysrooted paths when installing .la files
* libltdl/config/ltmain.m4sh (func_replace_sysroot): New.
(func_mode_link): Prepend paths in $libdir with the sysroot.  Further,
replace the sysroot with = (using func_replace_sysroot) whenever
such a path is written in a .la file.

Signed-off-by: Paolo Bonzini <bonzini@gnu.org>
Signed-off-by: Charles Wilson <libtool@cwilson.fastmail.fm>
2010-08-11 14:43:04 -04:00
Paolo Bonzini
d77a3a5124 process postdeps to include sysrooted paths
* libltdl/m4/libtool.m4 (_LT_FUNC_STRIPNAME_CNF): New (from Charles Wilson).
(_LT_SYS_HIDDEN_LIBDEPS): Require it.  Use func_stripname_cnf to convert
sysroot (-L= and -R=) usage in postdeps.  Adjust the code because -L, -R
and -l flags will now always be separated from the rest of the argument.

Signed-off-by: Paolo Bonzini <bonzini@gnu.org>
Signed-off-by: Charles Wilson <libtool@cwilson.fastmail.fm>
2010-08-11 14:43:03 -04:00
Paolo Bonzini
adb8f844f3 handle sysrooted paths when reading dependencies to la files
* libltdl/config/ltmain.m4sh (func_mode_execute, func_mode_install,
func_mode_link): Whenever a .la file occurs in another .la file,
expand the sysroot path in it.

Signed-off-by: Paolo Bonzini <bonzini@gnu.org>
2010-08-11 14:43:03 -04:00
Paolo Bonzini
c45a288134 teach libtool -L= and -R=
* libltdl/config/ltmain.m4sh (func_resolve_sysroot): New.
(func_mode_link): Always pass result of stripping -L and -R to
func_resolve_sysroot before using it.  Remove absolute path expansion
when func_resolve_sysroot subsumes it.  Expand sysroot in -rpath.
When processing dependent libraries also resolve sysroot paths there.

Signed-off-by: Paolo Bonzini <bonzini@gnu.org>
Signed-off-by: Charles Wilson <libtool@cwilson.fastmail.fm>
2010-08-11 14:43:03 -04:00
Paolo Bonzini
3334f7ed58 add --with-sysroot
* libltdl/m4/libtool.m4 (_LT_HOST_NONCANONICAL, _LT_WITH_SYSROOT): New.
(LT_SETUP): Require _LT_WITH_SYSROOT.

Signed-off-by: Paolo Bonzini <bonzini@gnu.org>
2010-08-11 14:43:03 -04:00
Paolo Bonzini
a8f549c134 handle sysroot flags
* libltdl/config/ltmain.m4sh (func_mode_link): Recognize --sysroot
option.

Signed-off-by: Paolo Bonzini <bonzini@gnu.org>
2010-08-11 14:38:08 -04:00
Ralf Wildenhues
3c1027fe21 Fix more problematic code from "Add func_append_quoted and do..."
* libltdl/config/ltmain.m4sh (func_mode_link): Revert back
func_append instances that as assignments relied on the shell
not performing word splitting on the right hand side of the
assignment.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-09 23:18:27 +02:00
Ralf Wildenhues
0f87df7fa6 Fix another typo on "Add func_append_quoted and do..."
* libltdl/config/ltmain.m4sh (func_mode_link): Fix regression in
computation of finalize_rpath introduced in v2.2.10-40-g0da7d80,
fixing several testsuite failures on AIX.
Report by Rainer Tammer.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-09 22:51:11 +02:00
Ralf Wildenhues
b7b0e70e98 Avoid unwanted error message in configure output.
* libltdl/m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Try print
in subshell, so eventual `print: not found' is hidden reliably.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-07 19:20:57 +02:00
Ralf Wildenhues
3078821c7f Ensure not to reverse preserving of --debug for relinking/finish.
* libltdl/config/ltmain.m4sh (func_check_version_match): Only
preserve '--debug' switch if $opt_debug is not equal to ':'.
* tests/help.at (debug tracing): New test group.
Report by Rainer Tammer.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-07 07:41:12 +02:00
Ralf Wildenhues
2fc264a8e2 Fix AC_NO_EXECUTABLES test failure on AIX.
* libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Wrap link
test in AC_CACHE_VAL, using cache variable $lt_cv_aix_libpath.
* tests/no-executables.at (AC_NO_EXECUTABLES): Preset it, to
avoid link test.
Bug report by Rainer Tammer.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-06 22:03:19 +02:00
Ralf Wildenhues
21cffd15fb Let libtool' without arguments point to --help' again.
* libltdl/config/ltmain.m4sh (func_check_version_match):
Remove duplicate and wrong error check.
* tests/help.at (standard command line options): Extend test.
Report by Rainer Tammer.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-04 22:30:48 +02:00
Ralf Wildenhues
10f650c428 Avoid syntax error due to shift of nonexistent parameter.
* libltdl/config/ltmain.m4sh <command-line handling>: Only shift
if there is a positional parameter to shift.  Fixes `libtool
--help' when dash is used.
Report by Rainer Tammer.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-04 22:30:14 +02:00
Ralf Wildenhues
1162eebc69 Fix build failure with AIX sh due to shell quoting error.
* libltdl/config/ltmain.m4sh (func_append_quoted): Document
that this function inserts a separator space.
(func_mode_compile): Do not pass extra space here.
Fixes regression introduced in v2.2.10-49-gc13532a.
Report by Rainer Tammer.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-03 21:49:10 +02:00
Paolo Bonzini
a107f18041 fix bug in postdeps computation
* libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Actually concatenate
$prev and $p.

Signed-off-by: Paolo Bonzini <bonzini@gnu.org>
2010-08-01 10:23:16 +02:00
Peter Rosin
0656b19eb9 Make preloading heed libname_spec.
Fixes testsuite failure for lt_dladvise.at on MSYS/MSVC.

* libltdl/ltdl.c (libprefix): New static variable describing
the prefix of static archives.
(try_dlopen): Use libprefix.
* libltdl/m4/ltdl.m4 (_LTDL_SETUP): Export prefix of static
archives to config.h. Also fix assignment of LTDLOPEN to be more
efficient and less error prone while at it.
2010-07-08 18:12:02 +02:00
Gary V. Vaughan
8c4dae1232 Fix a spurious trailing space and a botched merge.
* libltdl/m4/libtool.m4 (_LT_PROG_FUNCTION_REPLACE): Remove
spurious trailing space.
* ChangeLog: Reorder to match commit order after botched
merge.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-07-08 20:36:39 +07:00
Gary V. Vaughan
de8a0992b2 Rename _LT_PROG_XSI_REPLACE macro to _LT_PROG_FUNCTION_REPLACE.
* libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Rename to
_LT_PROG_REPLACE_SHELLFNS.
(_LT_PROG_XSI_REPLACE): Rename to _LT_PROG_FUNCTION_REPLACE.
(_LT_PROG_FUNCTION_REPLACE): Change decorator comment to use
'Extended shell' rather than 'XSI' on successful replacement.
* libltdl/config/general.m4sh (func_dirname, func_basename)
(func_dirname_and_basename, func_stripname): Change decorator
comment to use 'extended shell' rather than 'XSI' on fallback
implementations.
* libltdl/config/getopt.m4sh (func_split_short_opt)
(func_split_long_opt): Ditto.
* libltdl/config/ltmain.m4sh (func_append, func_append_quoted)
(func_arith, func_len, func_lo2o, func_xform): Ditto.
* tests/getopt-m4sh.at (_LT_AT_XSI_FUNC_EXTRACT): Rename to
_LT_AT_EXTENDED_SHELL_FUNC_EXTRACT.
(_LT_AT_EXTENDED_SHELL_FUNC_EXTRACT): Change regular expression to
match new replacable function decorator comments.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-07-08 20:20:24 +07:00
Peter Rosin
3f22cab581 Optimize assignment of output_la.
* libltdl/config/ltmain.m4sh (func_mode_link): Save two fork/exec
instances.
Report by Ralf Wildenhues.
2010-07-08 14:23:02 +02:00
Gary V. Vaughan
2e5ed25df3 Fix a cut-n-pasto in "2010-07-07 Charles Wilson" patch.
* libltdl/config/ltmain.m4sh (func_mode_link): Remove spurious
variable dereference.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-07-08 18:33:31 +07:00
Gary V. Vaughan
94d129e2e3 Tidy m4 comment header underline.
* libltdl/m4/libtool.m4 (_LT_CHECK_SHAREDLIB_FROM_LINKLIB): Make
sure hyphens in function name comment header underline line up.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-07-07 15:02:07 +07:00
Charles Wilson
e83da49a1f [cygwin|mingw] fix dlpreopen with --disable-static
* libltdl/config/general.m4sh (func_tr_sh): New function.
* libltdl/config/ltmain.m4sh (func_generate_dlsyms) [cygwin|mingw]:
Obtain DLL name corresponding to import library by using value
stored in unique variable libfile_$(transliterated implib name).
If that fails, use $sharedlib_from_linklib_cmd to extract DLL
name from import library directly. Also, properly extract dlsyms
from the import library.
(func_mode_link) [cygwin|mingw]: Prefer to dlpreopen DLLs
over static libs when both are available.  When dlpreopening
DLLs, use linklib (that is, import lib) as dlpreopen file,
rather than DLL. Store name of associated la file in
unique variable libfile_$(transliterated implib name)
for later use.
(func_win32_libid): Accomodate pei-i386 import libs
as well as pe-i386.
(func_cygming_dll_for_implib): New function.
(func_cygming_dll_for_implib_fallback): New function.
(func_cygming_dll_for_implib_fallback_core): New function.
(func_cygming_gnu_implib_p): New function.
(func_cygming_ms_implib_p): New function.
* libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Adjust sed
expressions for lt_cv_sys_global_symbol_to_c_name_address and
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
as trailing space after module name is optional.
(_LT_LINKER_SHLIBS) [cygwin|mingw][C++]:
Set exclude_expsyms correctly for $host. Simplify regular
expression in export_symbols_cmds.
(_LT_LINKER_SHLIBS) [cygwin|mingw|pw32][C]: Set exclude_expsyms
correctly for $host. Enable export_symbols_cmds to identify
DATA exports by _nm_ prefix.
(_LT_CHECK_SHAREDLIB_FROM_LINKLIB): New macro sets
sharedlib_from_linklib_cmd variable.
(_LT_DECL_DLLTOOL): New macro ensures DLLTOOL is always set.
2010-07-07 00:42:00 -04:00
Peter Rosin
0b56641c03 Support for response files with $NM.
* libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS)
<nm_file_list_spec>: New tag variable. Set it to '@' if input
files can be passed to $NM in a file named with the '@' option.
* libltdl/config/ltmain.m4sh (func_mode_link): When
nm_file_list_spec is nonempty, use it to avoid skipped_export.
* doc/libtool.texi (libtool script contents): Document
new variable.
2010-07-05 07:09:07 +02:00
Peter Rosin
c13532ae1f Fix typo in "Add func_append_quoted and do..."
* libltdl/config/ltmain.m4sh (func_mode_compile): Use
func_append_quoted instead of func_append.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-07-03 10:14:35 +02:00
Peter Rosin
3ab9879a99 Don't trigger file name expansion when embedding manifests.
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS)
[ cygwin, mingw, cegcc ] <cl*>: Remove all spaces in the
case statement of postlink_cmds to make file name expansion
more unlikely.
(_LT_LANG_CXX_CONFIG): Likewise, but also add the missing |.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-07-02 08:17:19 +02:00
Peter Rosin
60dde3d469 Fix regression caused by "Add func_append_quoted and do..."
* libltdl/config/ltmain.m4sh (func_mode_link): Remove leftover
"_libs" trash.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-07-01 19:22:29 +02:00
Peter Rosin
c20dbb8781 For MSVC, embed the manifest as a resource in the executable.
Fixes a lot of testsuite failures with MSVC 2003 (v8.0) and
above (and perhaps also MSVC .Net) related to running programs
that have been moved (e.g. installed) without their manifests
also having been moved.

* libltdl/m4/libtool.m4 (_LT_PATH_MANIFEST_TOOL): New macro
that locates the Manifest Tool (mt) and verifies that it is
indeed the manifest tool. The result is stored in the new
variable MANIFEST_TOOL.
(_LT_LINKER_SHLIBS) <postlink_cmds>: New tag variable.
[ cygwin, mingw, cegcc ] <cl*>: Embed the manifest file as a
resource. Make sure the embedding work regardless of if the
@OUTPUT@ file name includes a trailing $EXEEXT.
(_LT_LANG_CXX_CONFIG): Likewise.
(_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Require the above
_LT_PATH_MANIFEST_TOOL.
* libltdl/config/ltmain.m4sh (func_mode_link): After linking
a program, replace @OUTPUT@ in $postlink_cmds and then execute
the commands.
* doc/libtool.texi (libtool script contents): Document
new postlink_cmds variable.
(LT_INIT): Add that the MANIFEST_TOOL environment variable can
be used to override the manifest tool to use.
* tests/exeext.at: New. Make sure linking with both -o prog
and -o prog$EXEEXT works.
* Makefile.am (TESTSUITE_AT): Update.
(TESTS_ENVIRONMENT): Propagate $(MANIFEST_TOOL) to the
testsuite.
* NEWS: Add note of the new MANIFEST_TOOL environment variable.
2010-07-01 09:04:35 +02:00
Peter Rosin
1ac3ced59d Add MSVC support.
* libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER)
(_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [mingw, cygwin]: Add
support for the Microsoft C/C++ Compiler (cl) relying on help
from the compile script in Automake.
* NEWS: Add note of the above.
2010-07-01 09:04:32 +02:00
Gary V. Vaughan
d8bdf9339b Add func_append test cases for smart and retarded implementations.
* tests/getopt-m4sh.at (_LT_AT_FALLBACK_FUNC_EXTRACT): New
macro to extract a fallback function implementation from
ltmain.m4sh.
[option appending]: Use it for a test of the fallback
implementation of func_append.
[enhanced shell option appending]: And also test the enhanced
implementation.
* libltdl/config/ltmain.m4sh (func_append_quoted): Fix missing \
to escape a quoted space for eval.
* libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Fix missing $ in
dereference of func_append inline replacement for retarded
shells.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-06-30 05:12:42 +07:00
Gary V. Vaughan
e4edceb028 Correct func_split_short_opt comment cut-n-pasto.
* libtool/config/getopt.m4sh (func_split_short_opt): Fix
the function comment.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-06-29 16:32:46 +07:00
Gary V. Vaughan
6639fdbe2f Use a real XSI compliant func_split_short_opt substitution.
* libtool/m4/libtool.m4 (_LT_CHECK_SHELL_FEATURES): Remove
test ${foo:n:m} substrings, instead adding a ${foo%??} check
to the existing XSI tests.
(_LT_PROG_XSI_SHELLFNS): Remove the ${foo:n:m} based
func_split_short_opt substitution in favour of a properly
XSI compliant substitution.
Suggested by Paolo Bonzini.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-06-29 16:29:30 +07:00
Gary V. Vaughan
0da7d80909 Add func_append_quoted and do inline func_append substitutions.
* libtool/config/ltmain.m4sh: Replace all occurrences of
`foo="$foo bar"' with func_append. No decorator comment was
added since /func_append [a-zA-Z0-9_]* "/ is already an
excellent match regexp, and additional comments would only
complicate things.
(func_append_quoted): New function that quotes a value with
func_quote_for_eval before appending it.  To avoid quoting the
whitespace in the passed value, a single whitespace is added
automatically.  Changed callers where possible.
* libtool/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Perform a
`+=' implementation substitution for func_append_quoted.  More
importantly, systematically replace matching func_append calls
with inline `+=' when supported (for maximum speed), and
longhand `foo="$foo bar"' otherwise to avoid the function
overhead.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-06-28 13:48:51 +07:00
Gary V. Vaughan
448445c6f8 Add an XSI replacement for func_split_short_opt, with test cases.
* libltdl/config/getopt.m4sh (m4go_shortnoargs): Remove 'v' now
that getopt.m4sh doesn't steal that letter for the --version
short option.
* libltdl/config/ltmain.m4sh (M4SH_GETOPTS): We can now use 'v'
as a short option for '--verbose'.
* libltdl/config/getopt.m4sh (m4go_printopts): Add back in the
leading '-' for remaining non-argument short options.
(func_split_short_opt): Use the correct sed script variable.
* libltdl/m4/libtool.m4 (_LT_CHECK_SHELL_FEATURES): Also ensure
that XSI substring extraction is supported.
(_LT_PROG_XSI_SHELLFNS): Use XSI substring extraction to split
short options to avoid unnecessary forks if the host shell
supports that.
* tests/getopt-m4sh.at: New tests for getopt.m4sh coverage.
* Makefile.am (TESTSUITE_AT): Add getopt-m4sh.at.
(TESTS_ENVIRONMENT): Pass M4SH and SED for substition into the
m4sh expansion performed in tests/getopt-m4sh.at.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-06-28 05:41:36 +07:00
Gary V. Vaughan
0483a52e8b Add missing case branch terminators.
* libltdl/config/ltmain.m4sh: Fixed everal case branches with
missing ';;' terminators.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-06-27 19:19:18 +07:00
Gary V. Vaughan
001f756ffa Use TAB-SPACE in preference to SPACE-TAB.
* libltdl/m4/libtool.m4 (_LT_PROG_XSI_REPLACE): Some editors
might optimise away the SPACE in SPACE-TAB sequences, so use
TAB-SPACE just in case.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-06-27 17:19:35 +07:00
Gary V. Vaughan
6767ed13de Amend a missed opt_mode rename instance in ltmain.m4sh.
* libltdl/config/ltmain.m4sh <mode>: Rename to opt_mode.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-06-27 14:54:57 +07:00
Gary V. Vaughan
ee2dde86ba Fix portability regressions in today's earlier changeset.
* libltdl/m4/libtool.m4 (_LT_PROG_XSI_REPLACE): `sed -i' is not
portable; use `mv -f ...|| cp -f ...' instead.
Add an initial backslash to sed `c' substitutions with leading
whitespace, so that indentation is not removed by some non-POSIX
compliant sed implementations.
(_LT_PROG_XSI_SHELLFNS): Display a diagnostic warning message if
one or more XSI function replacements failed.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-06-27 13:57:50 +07:00
Gary V. Vaughan
b8dd17aeba getopt.m4sh generated libtool option parser, and XSI improvements.
* libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Moved portable
shell versions of various utility functions from here...
* libltdl/config/getopt.m4sh (func_split_long_opt): ...to here...
* libltdl/config/general.m4sh (func_dirname, func_basename)
(func_dirname_and_basename, func_strip_name): ...here...
* libltdl/config/ltmain.m4sh (func_append, func_arith, func_len)
(func_lo2o, func_xform): ...and here.
* libltdl/config/libtool.m4 (_LT_PROG_XSI_REPLACE): New macro that
expands into a sed command for replacing the contents of a
suitably decorated shell function with an alternate XSI
implementation.
(_LT_PROG_XSI_SHELLFNS): Use it to replace the portable shell
versions of the functions above with equivalent XSI
implementations that avoid unnecessary forks if the host shell
supports that.
* libltdl/config/ltmain.m4sh: Replace hand written shell code
with a call to M4SH_GETOPTS. Rename some option variables in
the client code to match the generated option parser settings.
* libltdl/config/general.m4sh (func_echo, func_error)
(func_warning): Use $opt_mode instead of obsoleted $mode in
message leader.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-06-27 00:13:42 +07:00
Gary V. Vaughan
3d2d3ef899 Ensure getopts.m4sh is compatible with Autoconf-2.61 and newer.
* libltdl/config/getopt.m4sh (m4_chomp): Ensure this macro is
implemented even if Autoconf's m4sugar.m4 doesn't provide it.
(m4go_expand): New macro based on Autoconf-2.64 m4_expand. Use
it everywhere incase m4sugar.m4 doesn't have an implementation.
(m4_ifnblank): Replace all uses with m4_ifval, which was
available long before m4_ifnblank was introduced.
2010-06-21 19:49:29 +07:00
Ralf Wildenhues
ef76a23497 Fix clean mode for HP-UX 11.31 sh.
* libltdl/config/ltmain.m4sh (func_mode_uninstall): Do not try
to match a null string in a case pattern, even with surrounding
spaces.  Fixes `lt_dlopenadvise library loading' test.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-06-20 19:12:20 +02:00
Ralf Wildenhues
64377ca9da Use config.cache variable for PIC flag, to allow override.
* libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) <lt_prog_compiler_pic>:
Save result, and allow override, through cache variable
lt_cv_prog_compiler_pic{,_CXX,_F77,_FC}.  The cache variable
needs to contain an eventual -DPIC.
* doc/libtool.texi (): Document it.
* tests/pic_flag.at (override pic_flag at configure time):
New file, new test.
* Makefile.am (TESTSUITE_AT): Update.
* NEWS, THANKS: Update.
Suggestion by Joakim Tjernlund and Paolo Bonzini.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-06-19 06:47:42 +02:00
Ralf Wildenhues
4d3ac408c8 Optimize func_ltwrapper_scriptname to assume a cwrapper.
* libltdl/config/ltmain.m4sh (func_ltwrapper_scriptname): Do not
call func_ltwrapper_executable_p again here, this function is
documented to allow being called with wrapper executables.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-06-16 06:04:36 +02:00