Commit Graph

164 Commits

Author SHA1 Message Date
Peter Rosin
c9bbeef468 Make -Wc,FLAG behave like -Xcompiler FLAG in link mode.
* libltdl/config/ltmain.m4sh (func_mode_link): Remove "-Wc,"
instead of replacing it with "$wl" when linking programs
through the compiler driver, just as is the case when linking
libraries.
* NEWS: Update.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2009-09-04 22:19:36 +02:00
Lennart Poettering
d1de1d4ada Shut up prototype warnings with recent GCC and -Wstrict-prototypes.
* libltdl/config/ltmain.m4sh (func_generate_dlsyms): Use recent
GCC's diagnostic pragma to override a -Wstrict-prototypes
setting for the symbol list code.
* THANKS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-08-23 07:19:26 +02:00
Charles Wilson
75765d58c3 Remove unneeded functions and options from cwrapper
* libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src)
[lt_opt_process_env_set]: Remove.
[lt_opt_process_env_prepend]: Remove.
[lt_opt_process_env_append]: Remove.
[lt_split_name_value]: Remove.
[file scope]: Don't declare removed functions. Remove
constants and defines related to eliminated commandline
options.
[main]: Remove code related to eliminated commandline
options --lt-env-set, --lt-env-prepend, --lt-env-append.
2009-06-22 18:44:42 -04:00
Mike Gorchak
6769a76d6b Fix versioning computation for QNX.
* libltdl/config/ltmain.m4sh (func_mode_link): Set `$current'
and `$age' properly for version_type `qnx'.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-06-14 11:42:09 +02:00
Ralf Wildenhues
b04fe8e6da Fix concurrent extraction of convenience libraries on Darwin.
* libltdl/m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE): New libtool
variable `lock_old_archive_extraction', set to `yes' on darwin.
* doc/libtool.texi (libtool script contents): Document it.
* libltdl/config/ltmain.m4sh (func_extract_an_archive): Lock
`ar x' invocation if `lock_old_archive_extraction' is yes.
* tests/darwin.at (darwin concurrent library extraction): New
test.
* NEWS: Update.
Report by Akim Demaille.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-06-10 19:47:33 +02:00
Vincent Torri
1f4a1d7237 Fix C wrapper invocation for ceGCC hosts (cegcc and mingw32ce).
* libltdl/config/ltmain.m4sh (func_mode_link): do not generate
C wrapper for cegcc and mingw32ce hosts.
(func_emit_cwrapperexe_src): remove useless check on
__MINGW32CE__.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-06-07 09:25:45 +02:00
Ralf Wildenhues
5d560c68d8 Allow through -tp=* at link time, for pgcc.
* libltdl/config/ltmain.m4sh (func_mode_link): Portlant Group
pgcc uses `-tp=PROCESSOR' for target processor selection; allow
the flag through at link time.
Report by Ethan Mallove.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-05-02 10:24:28 +02:00
Ralf Wildenhues
686f69d44f Fix low max_cmd_len template test on UnixWare.
* libltdl/config/ltmain.m4sh (func_mode_link): When expanding
$reload_cmds, always put objects in $reload_objs rather than
adding them to the command line, to allow more general command
lines in reload_cmds.  Ensure $reload_objs contains a leading
space.
* libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [sysv5*,
sco3.2v5*, sco5v6*] <reload_cmds>: For CC, invoke prelinker
before creating reloadable object.
(_LT_CMD_RELOAD) <reload_cmds, reload_flag>: Declare as
_LT_TAGDECL, not _LC_DECL.
(_LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG)
(_LT_LANG_GCJ_CONFIG) <reload_cmds, reload_flag>: Initialize
from default (C tag) value.
* THANKS: Update.
Report and analysis by Tim Rice and John Wolfe.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-03-02 07:25:31 +01:00
Török Edwin
7c483431f1 Do not add bogus directory arguments to link command lines.
* libltdl/config/ltmain.m4sh (func_mode_link): Ensure $path is
always initialized before it is used.  Reported for zsh, for
which $path contains $PATH entries even after "emulate sh", see
<http://bugs.debian.org/517501>.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-02-28 13:26:59 +01:00
Ralf Wildenhues
f4788a1ba6 install mode: do not pass `-m $install_override_mode' to cp.
* libltdl/config/ltmain.m4sh (func_mode_install): New variable
$install_cp, factor test when `cp' is used for installation.
Do not pass mode override to cp.  Fixes `libtool --mode=install
cp ...' on HP-UX; cp should not be used for libraries that might
be needed by programs invoked during the installation process.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-02-01 15:39:38 +01:00
Ralf Wildenhues
92a785fd7e execute mode: do not transform *.lo or *.la arguments.
* libltdl/config/ltmain.m4sh (func_mode_execute): Do not check
arguments matching *.lo or *.la for script wrappers.
* tests/execute-mode.at (execute mode): Add tests.
* NEWS, THANKS: Update.
Report by Paul Biggar.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-01-31 15:00:10 +01:00
Akim Demaille
0980a3993a Fix cwrapper warnings from MSVC 2005.
* libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src)
[file scope]: define _CRT_SECURE_NO_DEPRECATE.
2009-01-30 02:52:17 -05:00
Ralf Wildenhues
b93a3db892 Document --mode short-hands better, and test them.
* doc/libtool.texi (Invoking libtool): Give examples for using
the `--mode=MODE' short-hand `MODE', or abbreviations thereof.
* libltdl/config/ltmain.m4sh: Mention the short-hand for MODE
in the --help output.
* tests/help.at (mode short-hands): New test group.
Suggestion by Bruno Haible.
2009-01-29 19:55:19 +01:00
Ralf Wildenhues
18c603141e func_version copes with multi-line copyright headers.
* libltdl/config/getopt.m4sh (func_version): Slurp in copyright
lines until a period is found.
* libltdl/config/ltmain.m4sh: Multi-line copyright is ok to use
now.
* tests/help.at (standard command line options): New file, new
tests.  Make this test group the first one for libtool tests,
moving the banner ...
* tests/duplicate_members.at: ... from here.
* Makefile.am (TESTSUITE_AT): Add tests/help.at.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-01-29 18:53:13 +01:00
Mike Frysinger
69a4e5ba80 Fix typo in libtool install mode documentation.
* libltdl/config/ltmain.m4sh (func_mode_help): Change -inst-prefix
to -inst-prefix-dir.
* doc/libtool.texi (Install mode): Likewise.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-01-26 20:22:30 +01:00
Charles Wilson
6631e515bd [cygwin|mingw] cwrapper cleanups.
* libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src)
[file scope]: re-organized includes and portability
macros. Avoid oldnames on MINGW32 and MSVC for
setmode/stat/chmod/getcwd/putenv. Declare _putenv on
MINGW32 when -ansi. Use namespaced macro LT_DEBUGWRAPPER.
2009-01-24 11:44:53 -05:00
Charles Wilson
7e13769215 [cygwin|mingw] Fix compile warnings when -std=c89.
* libltdl/config/ltmain.m4sh (func_emit_wrapper_part1):
move contents to...
(func_emit_wrapper_part2): move contents to...
(func_emit_wrapper): here.
(func_emit_cwrapperexe_src) [file scope]: Remove
variables script_text_part1 and script_text_part2.
(func_emit_cwrapperexe_src) [lt_dump_script]: New function.
(func_emit_cwrapperexe_src) [main]: Call it.
2009-01-21 15:59:17 -05:00
Charles Wilson
805585f7bf Minor cygwin cleanup
libltdl/config/ltmain.m4sh (func_generate_dlsyms): Correct
case pattern for cygwin.
2009-01-21 07:27:57 -05:00
Ralf Wildenhues
fa452bc59a Bump copyright years.
* ChangeLog.2008: New, rotated from ...
* ChangeLog: ... here.
* Makefile.am (EXTRA_DIST): Add ChangeLog.2008.
* NEWS, libltdl/config/ltmain.m4sh: Bump copyright years.
* libltdl/m4/libtool.m4 (_LT_COPYING, LT_OUTPUT): Likewise.
* libtoolize.m4sh: Likewise.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-01-19 21:31:43 +01:00
Akim Demaille
756f95dd60 Fix copyright notice.
* libltdl/config/ltmain.m4sh: Add missing comma.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-12-19 06:07:37 -07:00
Ralf Wildenhues
aa68328616 Fix func_infer_tag $ECHO usage; some testsuite exposure.
* libltdl/config/ltmain.m4sh (func_infer_tag): Use func_echo_all
rather than $ECHO for possibly multiple arguments.
* tests/infer-tag.at (inferred tag, CXX inferred tag)
(F77 inferred tag, FC inferred tag, GCJ inferred tag): New file,
new tests.
* Makefile.am: Adjust.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-24 21:49:23 +01:00
Vincent Torri
2a06feab95 Fix func_emit_cwrapperexe_src for WinCE: no errno support.
* libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src)
[__MINGW32CE__]: Do not use errno, do not include errno.h and
remove calls related to errno when using the mingw32ce compiler.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-23 20:30:59 +01:00
Ralf Wildenhues
20d15587b2 Fix import library detection for WinCE.
* libltdl/config/ltmain.m4sh (func_win32_libid): Work for
pe-arm-wince import libraries.
* NEWS: Update.
Report by Vincent Torri.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-23 20:10:32 +01:00
Alon Bar-Lev
b5282894cf Fix func_win32_libid for 64-bit Windows.
* libltdl/config/ltmain.m4sh (func_win32_libid): Accept file
format 'pe-x86-64'.
* NEWS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-23 15:23:58 +01:00
Ralf Wildenhues
1c6333b7bf Replace uses of $SED $basename.
* libltdl/config/ltmain.m4sh (func_mode_link): Replace instances
of `$ECHO ... | $SED' with calls to func_basename.
* libtoolize.m4sh (func_copy, func_serial)
(func_massage_aclocal_DATA): Likewise, replace with
func_dirname_and_basename.
* tests/defs.m4sh (func_configure_nofail, func_make, func_exec):
Likewise.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-23 14:52:32 +01:00
Ralf Wildenhues
9c3d4d8f91 Revenge of the $ECHO. Kill most uses of Xsed.
* libltdl/config/general.m4sh: Replace all uses of `$ECHO "X..."
| $Xsed' with `$ECHO "..." | $SED', and employ further trivial
simplifications.  Replace $ECHO with echo where appropriate.
(func_echo_all): New function.
* libltdl/config/getopt.m4sh: Likewise simplifications.
* libltdl/config/ltmain.m4sh: Likewise.
* libltdl/m4/libtool.m4: Likewise.
(LT_CMD_MAX_LEN): Use func_fallback_echo, to ensure that the
command line is passed through an exec* function.
* libtoolize.m4sh: Likewise simplifications.  Use func_echo_all
to implement --dry-run.
* tests/defs.m4sh: Likewise simplifications.
* tests/quote.test: Likewise simplifications.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-23 14:42:06 +01:00
Charles Wilson
87cea4bf9e Fix --verbose option; add new --no-{silent|quiet|verbose} options.
* libltdl/config/ltmain.m4sh (usage): Document
new options --no-silent/--no-quiet and --no-verbose.
(func_enable_tag): Handle new options.
Modified --verbose to actually activate opt_verbose.
New behavior: --silent disables both "normal" output and
func_verbose output.  --verbose enables both "normal"
output and func_verbose output. --no-silent enables
"normal" output, but does not affect func_verbose output.
--no-verbose disables func_verbose output, but does not
affect "normal" output.
* NEWS: announce new options --no-silent/--no-quiet, and
--no-verbose.
* doc/libtool.texi: document new options --no-silent/--no-quiet
and --no-verbose.
2008-11-21 20:33:16 -05:00
Ralf Wildenhues
4e7334c7c2 Fix match patterns for cegcc*.
* libltdl/config/ltmain.m4sh (func_mode_link): Match '*cegcc*'
instead of '*cegcc' for $host_os.
* libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): Likewise.
* tests/lt_dladvise.at (lt_dlopenadvise library loading):
Likewise.
* libltdl/m4/ltoptions.m4 (AC_LIBTOOL_DLOPEN): Match
'*-*-cegcc*' for $host.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-20 07:23:45 +01:00
Charles Wilson
bbf0ec7835 Add func_win32_import_lib_p.
* libltdl/config/ltmain.m4sh (func_win32_import_lib_p):
New function.
2008-11-15 13:36:18 -05:00
Paolo Bonzini
a0283899e7 Implement $ECHO with print -r, printf or cat in a shell function.
* configure.ac: Bump Autoconf requirement.
* libltdl/config/general.m4sh: Use $as_echo as default $ECHO.
* tests/testsuite.at: Use $as_echo as default $ECHO.

* libltdl/m4/libtool.m4 (LT_INIT): Add _LT_SHELL_INIT to
work around Autoconf <2.64 bug.
(_LT_OUTPUT_LIBTOOL_COMMANDS_INIT): Add func_fallback_echo.
Eliminate lt_ECHO requoting.
(_LT_SHELL_INIT): Use a public M4sh diversion.
(_LT_PROG_ECHO_BACKSLASH): Rewrite.
(LT_CMD_MAX_LEN): Do not use --fallback-echo.
* libltdl/config/ltmain.m4sh: Remove --no-reexec and --fallback-echo
handling.
(func_fallback_echo): New.
(func_emit_wrapper_part1): Quote ECHO.  Remove --no-reexec and
--fallback-echo handling.
(Execute mode): Do not set qecho.
2008-11-12 08:42:42 +01:00
Ralf Wildenhues
984ff43d3d Simplify cwrapper handling a bit.
* libltdl/config/ltmain.m4sh (func_emit_wrapper_part1)
(func_emit_wrapper_part2, func_to_host_path)
(func_to_host_pathlist, func_emit_wrapper): Simplify using
default argument, func_append.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-11 22:08:57 +01:00
Paolo Bonzini
3796d1fe58 Use documented M4sh interfaces.
* clcommit.m4sh: Do not unset CDPATH, use AS_INIT and M4sh diversions.
* libltdl/config/mailnotify.m4sh: Likewise.
* libtoolize.m4sh: Likewise.
* tests/defs.m4sh: Likewise.
* tests/testsuite.at: Move AT_INIT invocation at the top.

* libltdl/m4/libtool.m4 (_LT_GENERATED_FILE_INIT): New.
(LT_OUTPUT): Use it.

* libltdl/config/general.m4sh (M4SH_IN_HEADER): New.
(progpath): Move setting before $0 could be clobbered.
* libltdl/config/ltmain.m4sh (M4SH_IN_HEADER): New.
2008-11-11 10:08:38 +01:00
Bruno Haible
101ad44541 Fix cwrapper argument mangling on w32.
* libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): On
mingw, preprocess the argument vector through prepare_spawn.
* tests/execute-mode.at (execute mode): Output args
newline-separated.  Extend tests by more argument pairs that
contain special characters, where the w32 cwrapper fails.
Also test a real compiled program, linked against an uninstalled
library, to expose cwrapper issues.
* NEWS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-11 06:53:39 +01:00
Alexei Sheplyakov
8dfe9a6a6b Fix cross compilation with wine for the case SHELL != bash.
* libltdl/config/ltmain.m4sh (func_to_host_path): Avoid escape
sequence interpretation by 'echo', for w32-style paths.
* THANKS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-09 20:48:27 +01:00
Ralf Wildenhues
3531d11d42 Atomic shared library install permissions on HP-UX.
The HP-UX 11 runtime linker fails to mmap shared libraries
without execute permissions.  Fixing them with postinstall_cmds
may be too late, as ln, sed, and chmod may link against the
library being installed.

* libltdl/m4/libtool.m4 (install_override_mode): New LT_DECL.
(_LT_SYS_DYNAMIC_LINKER) [hpux9*, hpux10*, hpux11*]: Set it.
* libltdl/config/ltmain.m4sh (func_mode_install): Build a second
command line, $install_shared_prog, for the installation of the
shared library.  Override resp. set the permission mode if
install_override_mode is nonempty.
* doc/libtool.texi (libtool script contents): Document it.
* tests/install.at (Install tests): New test.
* Makefile.am (TESTSUITE_AT): Adjust.
(TESTS_ENVIRONMENT): Pass INSTALL.
Report by Bruno Haible.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-10-05 12:40:54 +02:00
Ralf Wildenhues
1f7fe1cc9c Man pages for libtoolize and libtool, --help-all.
* Makefile.am (dist_man1_MANS, update_mans): New macros.
($(srcdir)/doc/libtool.1, $(srcdir)/doc/libtoolize.1): New
rules.  Use --help-all for libtool.
(MAINTAINERCLEANFILES): New macro.  Add dist_man1_MANS.
(BUILT_SOURCES): Add libtoolize.
* configure.ac: Check for help2man, set HELP2MAN.
* doc/libtool.texi: Add @direntry for libtool-invocation.
(Invoking libtool): Document -h, --help-all.  Reorder mode
description for consistency.
(Compile mode): Do not document -Wl,FLAG and -XCClinker here.
(Link mode): Document -Wc,FLAG here, reformat a bit.
* libtoolize.m4sh: Reformat --help output a bit, to help
help2man.
* libltdl/config/ltmain.m4sh: Likewise.  Also, set PROGRAM to
`libtool', not `ltmain.sh', so the former is used in the man
page.
New argument `--help-all'.  If given, call func_help and
func_mode_help several times, beating output in shape with sed.
(func_mode_help): Do not exit here.
* libltdl/config/getopt.m4sh (func_usage): Work with different
indentations, but require comment hash in first column, when
grepping for '-h' in usage to end short help.
(func_help): Accept optional argument to not exit.
* NEWS, THANKS: Update.
Suggestion by Karl Berry.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-09-20 09:07:24 +02:00
Ralf Wildenhues
2c47edfdef Do not remove .gcno files when linking.
* libltdl/config/ltmain.m4sh (func_mode_link): When removing
potential output files before linking, do not remove *.gcno
profile information GCC outputs next to object files in `.libs'.
Report by Vincent Torri.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-09-04 20:57:17 +02:00
Sam Thursfield
f0a919c445 Avoid leading separator in PATH for DLL search.
* libltdl/config/ltmain.m4sh (func_mode_link) [cygwin, mingw]
[ pw32, os2, cegcc]: Fix dllsearchpath not to contain leading
separator.
* THANKS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-08-21 22:16:10 +02:00
Ralf Wildenhues
59f927914c Fix sh.test regression in last patch.
* libltdl/config/ltmain.m4sh (func_mode_link): Quote $#.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-08-21 22:04:24 +02:00
Ralf Wildenhues
739b7e4349 Disallow `-L path', do not misparse it silently.
* libltdl/config/ltmain.m4sh (func_mode_link): Diagnose `-L'
without argument, and `-L path', i.e., with a space.
* tests/fail.at (Failure tests): Test for these failures.
* THANKS: Update.
Report by Olaf Lenz.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-08-21 21:07:16 +02:00
Vincent Torri
84430a7251 Add cegcc (Windows CE/PocketPC) support.
* libltdl/config/ltmain.m4sh: Add 'cegcc' case where needed.
* libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN, LT_SYS_DLOPEN_SELF)
(_LT_SYS_DYNAMIC_LINKER, _LT_CHECK_MAGIC_METHOD)
(_LT_CMD_GLOBAL_SYMBOLS, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS)
(_LT_LANG_CXX_CONFIG): Likewise.
* libltdl/m4/ltoptions.m4 (AC_LIBTOOL_DLOPEN): Likewise.
* NEWS: Update.
* THANKS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-08-01 00:54:03 +02:00
Ralf Wildenhues
f5ffcb6dc5 Fix sh.test failure.
* libltdl/config/ltmain.m4sh (func_to_host_path): Fix sh.test
failure.
Report by Paolo Bonzini.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-07-31 19:46:14 +02:00
Paolo Bonzini
e36b1bcd8a Cosmetic fix to ltmain.m4sh.
* ltmain.m4sh (func_emit_cwrapperexe_src): Factor
multiple closed braces into the next cat command.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-07-31 19:43:26 +02:00
Charles Wilson
aedb76fb86 [mingw] fix cross-compile-with-wine case
* libltdl/config/ltmain.m4sh (func_to_host_path)
[host=mingw, build!=mingw|cygwin]: check that winepath
stdout is non-empty and exit code is 0, instead of checking
stderr.
Reported by: Roumen Petrov
2008-06-01 09:31:53 -04:00
Stas Maximov
154ca8a708 Check only regular files, not devices, for lalibs.
* libltdl/config/ltmain.m4sh (functions func_lalib_p)
(func_lalib_unsafe_p): Only read regular files and not device
files.  Avoids blocking libtool executing gdb, when a
pseudo-terminal device /dev/pts/NN is given as one of the
arguments to gdb, as in:
libtool --mode=execute gdb -q -nw -i mi -tty /dev/pts/4 prog

Signed-off-by: Stas Maximov <smaximov@ieee.org>
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-06-01 09:38:31 +02:00
Ralf Wildenhues
1113cea29e Simplify argument parsing in cwrapper.
* libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src):
Use NULL where appropriate.  Do not compute length of arguments
needlessly.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-05-26 07:36:17 +02:00
Charles Wilson
af3b8c515e [mingw] Add cross-compile support to cwrapper
* libltdl/config/ltmain.m4sh (func_to_host_path) [$host=mingw]:
If present, use winepath to convert from $build to $host
if $build is neither mingw (msys) nor cygwin.  Use unconverted
path as fallback when conversion fails. Also update comments.
(func_to_host_pathlist) [$host=mingw]: Ditto. For fallback case,
use simplistic ':' to ';' path separator translation.
2008-05-25 19:08:40 -04:00
Charles Wilson
0e72f5793b Cwrapper should not eat -- arguments
* libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src)
[file scope]: Defined all option strings in terms of macro
LTWRAPPER_OPTION_PREFIX. Similarly defined all option string
lengths in terms of macro LTWRAPPER_OPTION_PREFIX_LENGTH.
[main]: Modified option parsing algorithm to pass -- on to
target, and to not stop processing arguments when -- is seen.
Added check for unrecognized options in reserved namespace
defined by LTWRAPPER_OPTION_PREFIX.
2008-05-25 17:35:13 -04:00
Charles Wilson
fae94962aa [mingw|cygwin] Modify cwrapper to invoke target directly.
* libltdl/config/ltmain.m4sh (func_to_native_path):
New function. If $host is mingw, and $build is mingw
or cygwin, convert path to mingw native format.
(func_to_native_pathlist): New function. Ditto, for
:-separated pathlists.
(func_emit_cwrapperexe_src) [__CYGWIN__ && __STRICT_ANSI__]:
Ensure putenv and setenv are declared. Define HAVE_SETENV.
(func_emit_cwrapperexe_src) [main]: Add new constants to
hold desired PATH settings; initialize and use functions
above to convert to $host format if necessary. Add new
command-line options --lt-env-set, --lt-env-prepend, and
--lt-env-append. No longer emit wrapper script as integral
part of launching child. Remove support for (now) unnecessary
$TARGETSHELL. Exec actual target executable directly.
(func_emit_cwrapperexe_src) [lt_setenv, lt_extend_str]
[lt_split_name_value, lt_opt_process_env_set]
[lt_opt_process_env_prepend, lt_opt_process_env_append]
[lt_update_exe_path, lt_update_lib_path]: New functions.
2008-05-13 20:19:15 -04:00
Charles Wilson
d34008adff Ensure cwrapper compiles without warnings under -std=c99.
* libltdl/config/ltmain.m4sh (func_emit_wrapper_part1):
new function.
(func_emit_wrapper_part2): new function.
(func_emit_wrapper): delegate to new functions.
(func_emit_cwrapperexe_src) [__CYGWIN__ && __STRICT_ANSI__]:
ensure realpath is declared.
(func_emit_cwrapperexe_src): declare two different strings
to each hold part of the wrapper script content. Initialize
using new func_emit_wrapper_partX functions.
(func_emit_cwrapperexe_src) [main]: when emitting wrapper
script content, use both strings.
Reported by Yaakov Selkowitz.
2008-05-11 12:41:14 -04:00