Commit Graph

744 Commits

Author SHA1 Message Date
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
Charles Wilson
a50bd8f5bf Ensure $OBJDUMP is defined
* libltdl/m4/libtool.m4 (_LT_DECL_OBJDUMP): new macro ensures
that $OBJDUMP is always defined sanely.
(_LT_SYS_DYNAMIC_LINKER): call it.
(_LT_CHECK_MAGIC_METHOD): call it.
2008-05-06 22:02:32 -04:00
Gary V. Vaughan
f7306a6ac1 Set SCM version number to 2.2.5a.
* configure.ac, libltdl/configure.ac (AC_INIT): Bump version
number to 2.2.5a.
* NEWS: Updated.
2008-05-04 17:09:38 -04:00
Gary V. Vaughan
0ac678eb2a GNU Libtool 2.2.4 was released.
* configure.ac, libltdl/configure.ac (AC_INIT): Bump version
number to 2.2.4.
* libltdl/Makefile.inc (LTDL_VERSION_INFO): C:R+1:A because the
interfaces are unchanged, even though we improved the code some
more.
* NEWS: Updated.
2008-05-04 14:36:29 -04:00
Gary V. Vaughan
11c6afb5e5 Macro file serial updates for next stable release.
* libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4,
libltdl/m4/ltoptions.m4, libltdl/m4/lt~obsolete.m4: Bump serial
numbers to account for changes since 2.2.2 release.
2008-05-04 12:37:02 -04:00
Peter O'Gorman
fe06ce018f It helps to close quotes.
* libltdl/config/ltmain.m4sh (func_mode_link): Add closing '.
2008-05-02 00:54:49 -05:00
Peter O'Gorman
92e15986a4 Use AC_CHECK_TOOL for otool and otool64.
* libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Check.
* libltdl/config/ltmain.m4sh (func_mode_link): Use.
Reported by Richard Purdie <rpurdie@rpsys.net>
2008-05-01 12:40:24 -05:00
Eric Blake
c35a08e87e Support cygwin 1.7.0 in loadlibrary loader.
* libltdl/m4/ltdl.m4 (LT_LIB_DLLOAD) <cygwin>: Check for modern
function.
* libltdl/loaders/loadlibrary.c (vm_open): Avoid deprecated
cygwin_conv_to_full_win32_path.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-04-30 11:27:44 -06:00
Gary V. Vaughan
a53fd09bed New libtoolize --no-warn option and LIBTOOLIZE_OPTIONS parsing.
* libltdl/config/general.m4sh (opt_warning): New option.
(func_warning): Only display a warning message if $opt_warning
is true.
* libtoolize.m4sh: Accept options in LIBTOOLIZE_OPTIONS
environment variable.
(--no-warn): Parse new option.
(func_serial_update_check, func_keyword_update): Use func_warning.
(func_check_macros): Bail out before style issues nags when
$opt_warning is false.
* doc/libtool.texi (Invoking Libtoolize): Document it.
* tests/libtoolize.at: Test it.
* NEWS: Updated.
2008-04-29 20:35:21 -04:00
Eric Blake
fe9c6440a3 Fix bug in 2008-04-21 type improvements.
* libltdl/ltdl.c (load_deplibs): Fix casting bug.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-04-24 10:24:24 -06:00
Ralf Wildenhues
9c3ae35db6 Fix regression over 1.5.26 with ccache $CC -all-static.
* libltdl/config/ltmain.m4sh (func_mode_link): Add
$link_static_flag to compile_command and link_command only
later, instead of right after a possible compiler wrapper.
* tests/static.at (ccache -all-static): New test.
* THANKS: Update.
Report by Richard Purdie.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-04-22 21:43:06 +02:00
Andreas Schwab
9b00a3a6e7 Fix default argument for AC_LIBLTDL_CONVENIENCE.
* libltdl/m4/ltdl.m4 (AC_LIBLTDL_CONVENIENCE): Default argument
to libltdl.
(AC_LIBLTDL_INSTALLABLE): Likewise.
* tests/configure-iface.at (convenience libltdl): New test.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-04-22 21:32:32 +02:00
Gary V. Vaughan
6a30ffc8e4 Capture lt~obsolete.m4 serial number correctly in libtoolize.
* libltdl/m4/lt~obsolete.m4: Add the filename to the #serial
marker so that libtoolize's serial number checks can find it
in a non-include using aclocal.m4.
* NEWS: Updated.
Reported by Olly Betts <olly@survex.com>
2008-04-22 02:39:06 -04:00
Gary V. Vaughan
7b707dae15 Allow better compile time type checking for lt_dladvise.
* libltdl/lt__private.h (lt__handle, lt__advise): Typedefs
removed in favour of...
* libltdl/ltdl.h (lt_dlhandle),
libltdl/libltdl/lt_dlloader.h (lt_dladvise): ...changing from
void* to forward declarations.
* libltdl/loaders/dlopen.c, libltdl/loaders/loadlibrary.c,
libltdl/lt_dlloader.c, libltdl/ltdl.c: Remove many redundant
type casts.
* NEWS: Updated.
Suggested by Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
2008-04-22 02:37:52 -04:00
Peter O'Gorman
d9a4d8f71a basename does not take a list of strings.
* libltdl/config/ltmain.m4sh(func_extract_archives): Use sed
$basename.
* tests/darwin.at: New. Check that we can built fat program,
shared library and convenience library.
* Makefile.am: Add test.
Reported by LiKai Liu <liulk@cs.bu.edu>
2008-04-21 15:18:41 -05:00
Peter O'Gorman
39903a5836 Use AC_CHECK_TOOL for lipo too.
* libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Check.
* libltdl/config/ltmain.m4sh (func_extract_archives): Use.
2008-04-21 10:21:27 -05:00
Ralf Wildenhues
dd09ff4ec8 Fix nonportable use of expr.
* libltdl/config/ltmain.m4sh (func_mode_link) <Transforming
deplibs into only shared deplibs>: Fix expr portability issues,
noted on FreeBSD.  While at it, simplify and avoid forking.
Report by Bob Friesenhahn.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-04-19 18:27:41 +02:00
Ralf Wildenhues
da1e14c91c Exploit shell arithmetic expansion and ${#var}.
* libltdl/m4/libtool.m4 (_LT_CHECK_SHELL_FEATURES): Also check
for arithmetic expansion, and ${#var}.
(_LT_PROG_XSI_SHELLFNS): Define func_arith and func_len
accordingly, falling back on 'expr'.  Note that the argument to
func_len may not start with a hyphen.  In the pre-Posix
fallback, take care not to rely on the exit status of the
variable assignment (not portable), but set the length to
$max_cmd_len instead.
* libltdl/config/ltmain.m4sh (func_mode_link): Use func_arith
and func_len throughout for integer arithmetic, fixing
quadratical amount of counting for reloadable object and
piecewise archive linking.  Change all comparisons with
max_cmd_len to test for smaller, non-equal length.
* THANKS: Update.
Suggested by Roland Mainz.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-04-19 18:24:48 +02:00
Ralf Wildenhues
3b98dabaa4 Avoid redundant rm in compile mode, fix locking.
* libltdl/config/ltmain.m4sh (func_mode_compile): Avoid
redundant removal of old output files before compilation.
Do not remove $obj until we have successfully grabbed the
lockfile (in case the compiler doesn't grok `-c -o'), because
it might be identical to $output_obj.
At the end of the function, before we remove the lockfile,
update $removelist so that if the trap hits after the lockfile
has been removed, we do not accidentally remove $output_obj that
does not belong to us.
(func_write_libtool_object): Use $MV instead of mv.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-04-19 00:01:12 +02:00
Andreas Schwab
1006ccc48c Properly emulate AC_ENABLE_SHARED([no]) and others.
* libltdl/m4/ltoptions.m4 (AC_ENABLE_SHARED): Check optional
argument.
(AC_ENABLE_STATIC): Likewise.
(AC_ENABLE_FAST_INSTALL): Likewise.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-04-18 23:45:43 +02:00
Ralf Wildenhues
85953e3b87 Add .gitignore files.
* .gitignore, doc/.gitignore, libltdl/.gitignore,
libltdl/config/.gitignore, libltdl/m4/.gitignore,
tests/.gitignore, tests/cdemo/.gitignore,
tests/demo/.gitignore, tests/depdemo/.gitignore,
tests/f77demo/.gitignore, tests/fcdemo/.gitignore,
tests/mdemo/.gitignore, tests/mdemo2/.gitignore,
tests/pdemo/.gitignore, tests/tagdemo/.gitignore:
New files.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-04-16 21:31:03 +02:00
Peter O'Gorman
3528106688 Allow bootstrap from git repository.
* Makefile.am: Pass srcdir as an argument to mkstamp and expect only 2 fields in mkstamps output.
* clcommit.m4sh: Ditto.
* configure.ac: Ditto.
* libltdl/config/mkstamp: return a revision and date based on the number of lines which look like dates in all the ChangeLog* files in the directory we got as arg 1.
2008-04-15 15:33:06 -05:00
Eric Blake
484680fe02 Fix usage of setmode without declaration on cygwin.
* libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): Ensure
setmode has prototype for both mingw and cygwin.
2008-04-11 17:21:55 +00:00
Ralf Wildenhues
f470f5557b * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Move non-XSI
definition of func_dirname_and_basename ...
* libltdl/config/general.m4sh (func_dirname_and_basename):
... here, to use it for the other scripts that use general.m4sh
(and as portable fallback for libtool).  Add marker for early
insertion of generated shell functions (into libtool, not the
other scripts) here.
Use func_dirname_and_basename to compute progname, progpath.
* libltdl/config/ltmain.m4sh (func_mode_help): Remove marker
for insertion of generated shell functions.
* tests/sh.test: Adjust function definition test to not match
function call.
2008-04-10 21:18:02 +00:00
Ralf Wildenhues
3a417017ce * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS) <func_xform>:
New function.
* libltdl/config/ltmain.m4sh (func_mode_compile): Use it to
avoid two forks with XSI shells.
* tests/suffix.test: Also test a file with multiple dots.
2008-04-10 21:01:54 +00:00
Peter O'Gorman
56a656a857 * libltdl/config/ltmain.m4sh (func_win32_libid,
func_generate_dlsyms, func_extract_an_archive,
func_extract_archives, func_mode_help): move these so they
appear after func_mode_compile.
* tests/nomode.test: Check that --mode=link --help works.
Reported by Josh Triplett <josh@freedesktop.org>
2008-04-10 17:43:39 +00:00
Gary V. Vaughan
f2208eda1a * configure.ac, libltdl/configure.ac (AM_INIT_AUTOMAKE): Use
gnu rather than gnits standards so that version number 2.2.3a
is not rejected!
Repoted by Olly Betts  <olly@survex.com>
2008-04-07 14:20:16 +00:00
Gary V. Vaughan
1ba7a83cee * configure.ac, libltdl/configure.ac (AC_INIT): Bump version
number to 2.2.3a.
2008-04-02 01:09:08 +00:00
Gary V. Vaughan
724f29122c GNU Libtool 2.2.2 was released.
* configure.ac, libltdl/configure.ac (AC_INIT): Bump version
number to 2.2.2.
* libltdl/Makefile.in (LTDL_VERSION_INFO): C:R+1:A because the
interfaces are unchanged, even though we improved the code some
more.
* NEWS: Updated.
2008-04-01 23:32:02 +00:00
Gary V. Vaughan
904479faae * libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4,
libltdl/m4/ltoptions.m4: Bump serial numbers to account for
changes since 2.2 release.
2008-04-01 18:23:20 +00:00
Peter O'Gorman
911b787e22 * libltdl/m4/libtool.m4 [_LT_REQUIRED_DARWIN_CHECKS]: Fix the
test for -single_module and log it to config.log.
Reported by Torok Edwin and Nigel Home.
2008-03-27 17:53:46 +00:00
Ralf Wildenhues
516b0da855 * libltdl/m4/libtool.m4 (_LT_CHECK_BUILDDIR): No need to escape
backticks in argument to AC_MSG_WARN or AC_MSG_ERROR.
* libltdl/m4/ltdl.m4 (_LTDL_INSTALLABLE, LTDL_INIT): Likewise.
2008-03-17 22:39:05 +00:00
Ralf Wildenhues
0bb5ecc8d7 * libltdl/config/ltmain.m4sh (NLS nuisances): Fix quoting of
localization variables for shell-active characters.
* tests/localization.at (localized compiler messages): Extend
test.
* THANKS: Update.
Report by Mike Frysinger.
2008-03-16 08:34:25 +00:00
Ralf Wildenhues
c0d963ceec * libltdl/m4/ltoptions.m4 (AC_LIBTOOL_WIN32_DLL): Require
AC_CANONICAL_HOST.
* THANKS: Update.
Report by Jakub Bogusz.
2008-03-15 22:01:31 +00:00
Charles Wilson
c2de89c609 * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) [file
scope]: additional #includes and #defines to support...
(func_emit_cwrapperexe_src) [main]: ensure stdout is set to
binary mode for cygwin|mingw builds. Ensure temporary script
file is written in binary mode for cygwin|mingw builds.
(func_mode_link) [cygwin|mingw]: cross-build support - only
use cwrapper to generate shell wrapper if building native;
otherwise use func_emit_wrapper()
2008-03-13 04:46:08 +00:00
Henning Nielsen Lund
d09ae8ffdb * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER)
(_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) [amigaos]: Port to
AmigaOS4 shared libraries on powerpc.
* libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS) [amigaos]:
Likewise.
* THANKS, NEWS: Update.
2008-03-12 19:48:25 +00:00
Bruno Haible
294465722d Fix compiler output to be in the user locale.
* libltdl/config/general.m4sh (func_show_eval_locale): New
function, for running commands in the user locale.
* libltdl/config/ltmain.m4sh (func_mode_compile): Use it for
compiling.
* tests/localization.at (localized compiler messages): New test.
* Makefile.am: Adjust.
Report by Bruno Haible.
2008-03-09 14:12:10 +00:00
Ralf Wildenhues
197c2c14a1 Drop usage of obsolete macros AC_EXEEXT and AC_OBJEXT.
* libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK, _LT_COMPILER_OPTION)
(_LT_COMPILER_C_O, LT_PATH_NM, _LT_CMD_GLOBAL_SYMBOLS, _LT_SETUP):
Drop usage of obsolete AC_OBJEXT and AC_EXEEXT.
* tests/am-subdir.at (C++ subdir-objects): Likewise.
2008-03-08 12:14:15 +00:00
Peter O'Gorman
b04c7061f4 * libltdl/m4/libtool.m4 (_LT_LANG_GCJ_CONFIG): Need to set LD.
Reported by Nelson H. F. Beebe.
2008-03-07 06:42:36 +00:00
Peter O'Gorman
e9ebb750f5 * libltdl/m4/libtool.m4 (_LT_PROG_FC): Undo commit - bad idea. 2008-03-07 06:14:26 +00:00
Peter O'Gorman
3971a6b611 * libltdl/m4/libtool.m4 (_LT_PROG_FC): Report FC=no if the FC
compiler is not a GNU compiler and the CXX compiler is a GNU
compiler.
Reported by Nelson H. F. Beebe.
2008-03-07 05:38:33 +00:00
Ralf Wildenhues
54c180945e * libltdl/config/ltmain.m4sh (func_lalib_unsafe_p): redirect
and restore from stdin, not stdout.
* tests/execute-mode.at (execute mode): Adjust test to catch
this.
Report by Roberto Bagnara.
2008-03-05 20:14:43 +00:00
Ralf Wildenhues
3280cb4b7c Fix libltdl to not skip dlopen on systems with several loaders,
such as HP-UX, Cygwin.
* libltdl/slist.c (slist_concat): When appending to the tail
of a list, do not drop items off the beginning of the list.
* NEWS: Update.
2008-03-04 22:31:33 +00:00
Ralf Wildenhues
8c7644ca3a * libltdl/config/ltmain.m4sh (func_mode_execute): Replace only
arguments we have identified as shell or C wrappers.
(func_emit_wrapper): Output error message on stderr.
* tests/execute-mode.at: New file, with --mode=execute tests.
* Makefile.am: Adjust.
* NEWS: Update.
Fixes 2.2 regression.  Report by Roberto Bagnara.
2008-03-04 21:25:48 +00:00
Ralf Wildenhues
016806fe90 * libltdl/m4/libtool.m4 (_LT_CONFIG): Drop misleading `GNU'
prefix before the host package name in the "Generated by" line
for the libtool script.
* THANKS: Update.
Reports by Peter Rosin and Roberto Bagnara.
2008-03-04 21:14:22 +00:00
Ralf Wildenhues
216d6cb930 * libltdl/loaders/dld_link.c (vl_exit): New function, zero out ...
(vtable): ... this new file static variable split out from ...
(get_vtable): ... here.  Initialize vtable, register vl_exit as
dlloader_exit function.
* libltdl/loaders/dlopen.c: Likewise.
* libltdl/loaders/dyld.c: Likewise.
* libltdl/loaders/load_add_on.c: Likewise.
* libltdl/loaders/loadlibrary.c: Likewise.
* libltdl/loaders/shl_load.c: Likewise.
* libltdl/loaders/preopen.c: Likewise; vl_exit existed here
already.
* tests/lt_dlexit.at (lt_dlexit unloading libs): Update test.
* NEWS: Update.
Report by Andreas Schwab.
2008-03-04 21:00:19 +00:00
Gary V. Vaughan
a428937f0e * configure.ac, libltdl/configure.ac (AC_INIT): Bump version
number to 2.3a.
2008-03-02 02:19:19 +00:00
Gary V. Vaughan
9843ca8ed9 GNU Libtool 2.2 was released.
* configure.ac, libltdl/configure.ac (AC_INIT): Bump version
number to 2.2.
* NEWS: Updated.
2008-03-02 00:05:02 +00:00
Gary V. Vaughan
50abf984fb * libltdl/m4/argz.m4 (AC_CHECK_FUNCS): Also use our replacement
argz if the system argz_add or argz_count are missing.
Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
2008-02-29 21:33:22 +00:00