Commit Graph

2693 Commits

Author SHA1 Message Date
Ralf Wildenhues
1bf917f523 * libltdl/m4/ltoptions.m4 (AC_ENABLE_SHARED): Fix to use
new _LT_SET_OPTION semantics.
2008-01-14 21:18:49 +00:00
Ralf Wildenhues
75142db4f8 * libltdl/m4/ltdl.m4 (_LTDL_SETUP): Define
LTDL_DLOPEN_SELF_WORKS, depending upon lt_cv_dlopen_self.
* libltdl/loaders/dlopen.c (vm_open) [!LTDL_DLOPEN_SELF_WORKS]:
Fail for dlopen(NULL), so that the preopen loader is used.  This
fixes mdemo-exec.test failures on AIX where dlopen(NULL)
succeeds but dlsym resolves no symbol.
* NEWS: Update.
Report by Rainer Tammer.
2008-01-12 17:00:51 +00:00
Ralf Wildenhues
12108ff510 * tests/am-subdir.at: Drop unused variables.
* tests/configure-iface.at: Likewise.
* tests/ctor.at: Likewise.
* tests/early-libtool.at: Likewise.
* tests/lt_dladvise.at: Likewise.
* tests/old-m4-iface.at: Likewise.
* tests/lt_dlexit.at: Likewise.  Also drop unused functions.
2008-01-12 14:07:02 +00:00
Ralf Wildenhues
19b4628888 * tests/old-m4-iface.at (AM_PROG_LIBTOOL): Also copy needed
lt~obsolete.m4.
2008-01-12 14:00:57 +00:00
Ralf Wildenhues
75620b0cf7 * libltdl/config/ltmain.m4sh (func_mode_link): Fix warning
about -l and -L for archives and objects as output, to not
trigger for *.la files.  Non-convenience archives are diagnosed
2008-01-12 13:58:14 +00:00
Ralf Wildenhues
6773d15c4a Fix ChangeLog entry 2008-01-12 11:26:07 +00:00
Ralf Wildenhues
62b765b1c0 * tests/configure-iface.at: Ensure LTDLINCL is expanded
before CPPFLAGS, so that even CPPFLAGS=-I/usr/local/include
won't make the tests prefer an installed ltdl.h over the
in-package one.
Report by Bob Friesenhahn.
2008-01-12 11:25:03 +00:00
Ralf Wildenhues
68ee62b70e * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) <exclude_expsyms>:
Also exclude `_GLOBAL__F[ID]_.*'.  Also set for the C++ tag.
Fixes esp. demo/helldl build failure with GCC on AIX.
Report by Rainer Tammer.
2008-01-11 19:15:08 +00:00
Peter O'Gorman
5717ea2a92 * libltdl/m4/libtool.m4 [darwin]: Reorganize darwin support, use
dsymutil if it is available so that debugging is possible, check
for nmedit and dsymutil with AC_CHECK_TOOL, use the linker flag
-exported_symbols_list in preference to nmedit if it is available.
Drop support for xlc, it is probably broken.
* tests/template.at [darwin]: Skip this test, I can not find a way
to make it work on darwin9 with Xcode-3.0.
* NEWS: Note the dropping of xlc support.
2008-01-11 07:08:28 +00:00
Ralf Wildenhues
2962e8d935 * libltdl/m4/libtool.m4 (LT_INIT): m4_require, not AC_REQUIRE
_LT_CHECK_BUILDDIR, as it's m4_defun'ed, not AC_DEFUN'ed.
Report by Peter O'Gorman.
2008-01-08 19:43:29 +00:00
Ralf Wildenhues
34ad201833 * libltdl/m4/ltdl.m4 (_LTDL_INSTALLABLE): Restore correct
_LT_BUILD_PREFIX-using code.
2008-01-08 19:39:19 +00:00
Gary V. Vaughan
24ca52570c * tests/recursive.at: Remove bogus --debug option.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-01-08 06:56:03 +00:00
Gary V. Vaughan
1b1af19929 * tests/configure-iface.at: Build libltdl in a subdir so that
it can be easily removed without trying to remove config.log
on windows (which can't delete a file until it is closed).
2008-01-08 06:48:49 +00:00
Gary V. Vaughan
943b1192ee * libltdl/m4/ltdl.m4 (LTDL_INSTALLABLE): Use _LT_BUILD_PREFIX
instead of ${top_builddir} for Autoconf-2.62.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-01-08 05:21:49 +00:00
Gary V. Vaughan
22bffb97cf * libltdl/m4/ltdl.m4 (_LT_CONFIG_LTDL_DIR): Correct closing
comment.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-01-08 05:16:08 +00:00
Gary V. Vaughan
80f87ebe9c * NEWS: Grammar nit. 2008-01-08 05:11:14 +00:00
Gary V. Vaughan
8e67083cff * tests/configure-iface.at, tests/nonrecursive.at,
tests/recursive.at, tests/subproject.at (_LTDL_SETUP):
Renamed to _LT_AT_LTDL_SETUP to avoid a nameclash with
libltdl/m4/ltoptions.m4:_LTDL_SETUP from yesterday's patch.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-01-08 05:07:41 +00:00
Ralf Wildenhues
8ffd4adbf1 * tests/runpath-in-lalib.at (Runpath in libtool library files):
Compile program file without libtool.
Report by Rainer Tammer.
2008-01-07 21:26:55 +00:00
Rainer Tammer
ce38b28f44 Support AIX 6.1.
* libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER)
(_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS)
(_LT_LANG_C_CONFIG, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG)
(_LT_LANG_FC_CONFIG): Adjust case patterns to match AIX 6
through 9 as well.
* libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Likewise.
* NEWS: Update.
* THANKS: Update.
2008-01-07 21:13:23 +00:00
Gary V. Vaughan
2ebff7eea0 Move libltdl build mode options from LT_CONFIG_LTDL_DIR to
LTDL_INIT.  Accept (optional) new 'convenience' and 'installable'
options in lieu of LTDL_CONVENIENCE and LTDL_INSTALL macros. And
also, implement --with-included-ltdl, --with-ltdl-lib and
--with-ltdl-include configure-time options:

* libltdl/m4/ltoptions.m4: Associate existing option settings with
LT_INIT.
(LT_OPTION_DEFINE): Associate options 'nonrecursive', 'recursive',
'subproject', 'installable' and 'convenience' with LTDL_INIT.
(_LT_MANGLE_OPTION, _LT_SET_OPTION, _LT_IF_OPTION)
(_LT_UNLESS_OPTIONS, _LT_SET_OPTIONS): Add MACRO-NAME argument to
support options to named macros instead of hardcoding only LT_INIT
options.
* libltdl/m4/ltdl.m4 (_LTDL_CONVENIENCE): Factor common code from
LTDL_CONVENIENCE and LTDL_INIT([convenience]).
(_LTDL_INSTALLABLE): Factor out common code from LTDL_INSTALLABLE
and LTDL_INIT([installable]).
(_LTDL_SETUP): Renamed from LTDL_INIT.  Support new configure-time
options: --with-included-ltdl, --with-ltdl-lib,
--with-ltdl-include.
(LTDL_CONVENIENCE, LTDL_INSTALLABLE): Adjust.
(LT_WITH_LTDL): Removed.
(LTDL_INIT): Parse caller options.
* libltdl/m4/libtool.m4 (LT_INIT): Declare that this macro must be
expanded before LTDL_INIT, and be sure to parse caller options.
* configure.ac: Call directly into internal _LTDL_SETUP macro.
* libtoolize.m4sh (func_scan_files): Ltdl mode argument moved from
LT_CONFIG_LTDL_DIR to LT_INIT.
* tests/nonrecursive.at, tests/recursive.at: Use new interfaces.
* tests/configure-iface.at: Test it.
* Makefile.am (TESTSUITE_AT): Add configure-iface.at.
* doc/libtool.texi (Distributing libltdl): Document improved.
LTDL_INIT interfaces.
* NEWS: Updated.
2008-01-06 16:33:31 +00:00
Ralf Wildenhues
920b97072f * libltdl/config/ltmain.m4sh (func_mode_link): When creating
reloadable object files, avoid issuing plain `rm -f' without
further arguments, even if the line length limit is ridiculously
low as in the `Run tests with low max_cmd_len' test.  This
failure is exposed on NetBSD.
Report by Patrick Welche.
2008-01-02 19:35:56 +00:00
Ralf Wildenhues
2141db5954 * Makefile.am (EXTRA_DIST): Add ChangeLog.2007.
* ChangeLog.2007: New, rotated, from...
* ChangeLog: ...here.
* NEWS, README, README.alpha, Makefile.am, libtoolize.m4sh,
libltdl/config/getopt.m4sh, libltdl/config/ltmain.m4sh,
libltdl/m4/libtool.m4: Bump copyright years.
2008-01-02 18:52:08 +00:00
Stefan Sperling
76c6f64133 * doc/libtool.texi (Linking executables): Reorder paragraphs. 2007-11-30 04:18:40 +00:00
Ralf Wildenhues
93a9cf2f9a * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ linux ]: The IBM
XL 8.0 C++ compiler may also be called xlc++*, not only xlC*.
Report by Nysal K Jan <jnysal@in.ibm.com>.
2007-11-26 21:42:51 +00:00
Ralf Wildenhues
9072c71a92 * libltdl/m4/libtool.m4 (_LT_CHECK_BUILDDIR): New macro.
Warn about whitespace in the absolute build tree name.
(LT_INIT): Use it.
* THANKS: Update.
Report by Jim Meyering.
2007-11-24 08:02:21 +00:00
Ralf Wildenhues
33b873b4ec * libltdl/config/ltmain.m4sh (func_extract_an_archive)
(func_extract_archives): Add some quoting.
2007-11-24 08:00:21 +00:00
Ralf Wildenhues
7c9e236905 Use `${top_build_prefix}' for better compatibility with non-GNU make.
* libltdl/m4/ltdl.m4 (_LT_BUILD_PREFIX): New macro.
If the Autoconf version used is >= 2.62, then expand to
`${top_build_prefix}', otherwise to `${top_builddir}/'.
(LTDL_CONVENIENCE, LTDL_INSTALLABLE): Use it for defining
LIBLTDL.  Fixes a build failure with AIX make in a package
using convenience libltdl in nonrecursive mode.
* doc/libtool.texi (Distributing libltdl): Document requirements
to define `top_build_prefix' if Automake is not used.
Report by Bob Friesenhahn.
2007-11-16 07:08:34 +00:00
Ralf Wildenhues
f4695bde76 Avoid warnings about conftest.dSYM directories on Mac OS X Leopard.
* libltdl/m4/libtool.m4 (_LT_LINKER_BOILERPLATE)
(_LT_LINKER_OPTION, _LT_CMD_GLOBAL_SYMBOLS): Remove
conftest.dSYM directory.
Report and analysis by Jeff Squyres and Peter O'Gorman.
2007-11-12 19:44:05 +00:00
Ralf Wildenhues
b575a0a3f9 * libltdl/configure.ac: Drop the broken and long-disabled code
to output a banner for the libltdl configure.  Avoids the need
to ship mkstamp with libltdl.
2007-11-09 06:47:15 +00:00
Ralf Wildenhues
f664fead41 * tests/runpath-in-lalib.at: New test.
* Makefile.am: Update.
Report by Benoit SIGOURE <tsuna@lrde.epita.fr>.
2007-11-08 21:38:27 +00:00
Eric Blake
e0c01e9892 Speed up bootstrap by improving lt_join.
* libltdl/m4/ltsugar.m4 (lt_join, _lt_join): Rewrite to mirror
Autoconf 2.62's faster implementation.
2007-10-16 22:45:49 +00:00
Eric Blake
f766edbeb9 Whitespace cleanup.
* libltdl/m4/ltsugar.m4: Avoid space-tab in indents.
* libltdl/m4/libtool.m4: Avoid trailing space.
2007-10-12 20:54:44 +00:00
Eric Blake
5b560bdf3f Deal with Autoconf 2.62's semantic change in m4_append.
* libltdl/m4/ltsugar.m4 (lt_append): Replace broken versions of
m4_append.
(lt_if_append_uniq): Don't require separator to be overquoted, and
avoid broken m4_append.
(lt_dict_add): Fix typo.
* libltdl/m4/libtool.m4 (_LT_DECL): Don't overquote separator.
2007-10-12 20:41:35 +00:00
Ralf Wildenhues
e886f1e796 * libltdl/config/ltmain.m4sh: Also sanitize `LANGUAGE'.
(func_mode_execute): Also restore `LANGUAGE', for old glibc.
Report by Paul Eggert against Autoconf.
2007-10-12 16:35:15 +00:00
Eric Blake
0189c20e44 * libltdl/.cvsignore: Ignore argz.h. 2007-10-12 02:48:56 +00:00
Ralf Wildenhues
34700eacf5 * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC)
<lt_cv_prog_compiler_pic_works>: Renamed from
lt_prog_compiler_pic_works.
<lt_cv_prog_compiler_static_works>: Renamed from
lt_prog_compiler_static_works.
* NEWS: Update.
2007-10-11 17:23:33 +00:00
Ralf Wildenhues
257d1210cb * libltdl/config/ltmain.m4sh (func_mode_compile): Accept
extension `.sx'.
* tests/suffix.test: Test it.
2007-10-09 19:32:45 +00:00
Ralf Wildenhues
f5bb5e0e7a * libltdl/lt_dlloader.c (loader_callback, lt_dlloader_get): Use
NULL, not 0, for the benefit of too picky compilers like PGI.
* slist.c (slist_tail): Likewise.  Include stddef.h, for NULL.
Report by Jeff Squyres.
2007-09-07 02:44:57 +00:00
Eric Blake
22204a9ff8 * libltdl/ltdl.c (lt_dlcaller_get_data): Work even when no caller
has set data.
2007-09-05 14:48:54 +00:00
Ralf Wildenhues
6621aa6b9b * doc/libtool.texi (User defined module data)
<lt_dlinterface_register>: Document that a NULL place matches
all modules.
* libltdl/lt_dlloader.c (lt_dlloader_remove): Actually iterate
over all open modules when looking for modules that use it.
If a resident module is found, return but do not set the error
string.
* libltdl/ltdl.c (lt_dlexit): When removing dlloaders, ignore
errors that stem from earlier failed commands.  Exposed by the
lt_dladvise test.
Fixes regression over branch-1-5.
Memleak report as Coverity CID 19 via Jeff Squyres.
2007-09-04 18:01:33 +00:00
Ralf Wildenhues
e14f5d12ae * NEWS: Update. 2007-09-01 10:55:42 +00:00
Ralf Wildenhues
4fd2348691 * libltdl/ltdl.c (trim): Fix possible write beyond array bound. 2007-09-01 10:49:19 +00:00
Ralf Wildenhues
361ec0ead5 * libltdl/ltdl.c (lt_dlopenadvise): Instead of asserting, return
FILE_NOT_FOUND if the filename is "".
2007-09-01 10:43:28 +00:00
Ralf Wildenhues
86a2c620c8 * libltdl/ltdl.c (try_dlopen): Fix computation of extension,
avoids subtracting pointer from NULL pointer.
2007-09-01 10:42:34 +00:00
Ralf Wildenhues
8dbd989470 * libltdl/ltdl.c (try_dlopen, lt_dlforeachfile): Do not test
array address of sys_dlsearch_path against NULL, rather test for
nonempty contents.
Coverity reports CID 148 and CID 149 via Jeff Squyres.
2007-09-01 08:13:20 +00:00
Ralf Wildenhues
fbbe0e88e4 * libltdl/ltdl.c (tryall_dlopen_module): Fix string length
computation: do not allocate more than needed.
2007-09-01 08:10:02 +00:00
Ralf Wildenhues
9b115eaaa6 * libltdl/loaders/preopen.c (vm_close): `module' is unused.
Coverity report CID 158 via Jeff Squyres.
2007-08-30 18:39:10 +00:00
Ralf Wildenhues
f7b428d2d9 * libltdl/ltdl.c (parse_dotla_file): If we run out of memory,
do not close the .la file twice.
Coverity report CID 440 via Jeff Squyres.
2007-08-30 18:23:24 +00:00
Ralf Wildenhues
56e12a2db6 * libltdl/ltdl.c (has_library_ext): Remove dead code.
Coverity report CID 561 against Open MPI via Jeff Squyres.
2007-08-30 18:18:31 +00:00
Ralf Wildenhues
208dd66070 * libltdl/slist.c (slist_remove): When a matching item is found,
break out of the loop to return the first match; also fixes
possible NULL dereference.
2007-08-29 21:01:20 +00:00
Ralf Wildenhues
1e63751c04 * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS)
(_LT_LANG_CXX_CONFIG) [ linux ]: Add support for IBM XL 8.0
C/C++ (xlc*, xlC*) and IBM XL Fortran 10.1 (xlf*) on GNU/Linux,
tested on ppc, pending a $shlibpath_var related fix.
(_LT_SYS_HIDDEN_LIBDEPS): Double-quote $output_verbose_link_cmd
properly during evaluation, obsoleting $no_glob_subst mangling.
* NEWS: Update.
2007-08-29 20:54:53 +00:00
Ralf Wildenhues
134fc3083b * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]
[ k*bsd*-gnu ] <shlibpath_overrides_runpath>: Avoid spurious
output in runpath test.
2007-08-18 09:18:44 +00:00
Ralf Wildenhues
b4f7879633 * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ mingw, cygwin ]
<GCJ>: Do not use -DDLL_EXPORT.
Report by Ross Ridge <rridge@csclub.uwaterloo.ca>.
2007-08-16 18:22:03 +00:00
Ralf Wildenhues
a26314cfd8 * Makefile.am (edit): Do not warn against manual editing for the
generated files libtool, libtoolize, libltdl/m4/ltversion.m4,
tests/defs, as they are still in a preferred source code form as
required by GPL.
Report by DJ Delorie.
2007-08-16 18:18:39 +00:00
Dirk Mueller
f5df807204 * libltdl/ltdl.c (parse_dotla_file): Avoid a strlen. When
reading .la files, cope with files that are not
newline-terminated.
2007-08-15 21:38:31 +00:00
Tilman Koschnick
713e2ae052 * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LANG_CXX_CONFIG)
[ linux ]: Treat pgcpp as Portland Group C++ compiler as well.
2007-08-05 11:44:44 +00:00
Ralf Wildenhues
2e54f75846 * libltdl/ltdl.c (try_dlopen): Use `attempt' rather than
`filename', as the former has the needed extension when called
by lt_dlopenext.
Report by Brian Barrett.
2007-08-05 11:06:14 +00:00
Peter Rosin
8b8688e3ee * Makefile.am: Pass STRIP through to the testsuite, so that
tests that run configure will use the same strip program.
2007-07-26 22:44:39 +00:00
Ralf Wildenhues
28be809ea3 * tests/mdemo-exec.test: Also try absolute library names.
* tests/mdemo/main.c (test_dl, main): Try lt_dlopenext as well.
* THANKS: Update.
Report by Brian Barrett.
2007-07-24 05:10:03 +00:00
Ralf Wildenhues
6baa7daaf3 * ChangeLog: Fix typo. 2007-07-24 03:44:24 +00:00
Ralf Wildenhues
0a0134c0fc * doc/fdl.texi: Update to GFDL 1.2.
* doc/libtool.texi: Adjust.  Put License in Appendix.
2007-07-23 22:33:12 +00:00
Ralf Wildenhues
be2de73790 * libltdl/config/ltmain.m4sh (func_mode_link): Remove each
intermediate relinked object after use, to avoid quadratic space
complexity when linking partially.
Report by Isidor Zeuner <eezyy@gmx.net>.
2007-07-23 17:46:28 +00:00
Eric Blake
a54fca4ff1 Fix ChangeLog entry. 2007-07-23 17:44:35 +00:00
Eric Blake
310551c9c4 * libltdl/config/ltmain.m4sh: Whitespace cleanup. 2007-07-23 12:23:27 +00:00
Eric Blake
0c71a62ede * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src:
chase_symlinks): Avoid compiler warning.
2007-07-23 12:10:31 +00:00
Peter Rosin
781fc82e1b * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): Add
support for Microsoft Visual C. Also, older MinGW versions
seem to need stdint.h to find intptr_t.
2007-07-22 17:57:10 +00:00
Ralf Wildenhues
b3251f4d7e * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [linux]:
Ignore lines in ld.so.conf starting with 'hwcap '.
2007-07-22 08:55:11 +00:00
Charles Wilson
3c72a3a00d * tests/cdemo-exec.test: use $EXEEXT where appropriate
to correct mingw cross-compile issues.
* demo-deplibs.test: Ditto.
* demo-exec.test: Ditto.
* demo-inst.test: Ditto.
* demo-relink.test: Ditto.
* depdemo-exec.test: Ditto.
* depdemo-inst.test: Ditto.
* depdemo-relink.test: Ditto.
* f77demo-exec.test: Ditto.
* fcdemo-exec.test: Ditto.
* mdemo-exec.test: Ditto.
* mdemo-inst.test: Ditto.
* mdemo2-exec.test: Ditto.
* pdemo-exec.test: Ditto.
* pdemo-inst.test: Ditto.
* tagdemo-exec.test: Ditto.
2007-07-16 22:53:06 +00:00
Peter Rosin
8623a050c8 * AUTHORS, THANKS: Peter Ekberg got married, now Peter Rosin. 2007-07-14 18:46:19 +00:00
Charles Wilson
f88b089413 * libltdl/m4/libtool.m4 (func_dirname_and_basename) <XSI>:
New function.
(func_dirname_and_basename) <!XSI>: New function.
* libltdl/config/ltmain.m4sh (func_ltwrapper_scriptname):
Call it.  Also, take advantage of missed optimization using
func_dirname's additional arguments.
(func_mode_compile): Call it.
(func_mode_install): Call it.
(func_mode_link): Call it.
2007-07-13 07:21:39 +00:00
Peter Rosin
5a3cf05510 * libltdl/config/ltmain.m4sh (func_mode_link): Strip the cwrapper
using $STRIP instead of relying on the tools to support -s, which
MSVC doesn't.
2007-07-12 06:47:06 +00:00
Peter O'Gorman
688e0a551c * libltdl/config/libtool.m4sh: Don't pass -msg_* through to the
linker.
Reported by Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2007-07-07 05:09:10 +00:00
Bob Friesenhahn
7429314926 * libltdl/lt__alloc.c, libltdl/loaders/preopen.c,
libltdl/loaders/dyld.c, libltdl/loaders/dlopen.c, libltdl/ltdl.c,
libltdl/lt_error.c, libltdl/lt_dlloader.c, libltdl/lt__dirent.c:
Include lt__private.h prior to any system headers.
* libltdl/lt__alloc.c: Remove redundant inclusion of configuration
header.
2007-07-04 23:05:05 +00:00
Eric Blake
59bc6b59d0 * libltdl/ltdl.c (advise_dup): Delete function no longer used
after memleak fix three days ago.
2007-07-04 21:28:00 +00:00
Ralf Wildenhues
c177a30000 * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK) [ solaris ]: Cater to
old Sparc Solaris 7 ld that does not understand `-64'.
Report by Vincent Lefevre <vincent@vinc17.org>.
2007-07-03 05:09:40 +00:00
Ralf Wildenhues
35526d6c64 * libltdl/m4/lt~obsolete.m4 (LTOBSOLETE_VERSION): New macro, to
force-pull in this file by aclocal.
* libltdl/m4/libtool.m4 (LT_INIT): Require LTOBSOLETE_VERSION.
* tests/libtoolize.at (upgrading verbatim style aclocal.m4):
Adjust.
Report by H. J. Lu <hjl@lucon.org>.
2007-07-01 20:55:13 +00:00
Ralf Wildenhues
3679372cbb * libltdl/ltdl.c (tryall_dlopen): Rename argument to have typed
alias of `advise' instead of allocating a copy.  Fixes memleak.
2007-07-01 06:12:46 +00:00
Peter Breitenlohner
ffcd2881d3 * libltdl/m4/libtool.m4 (LT_SYS_DLOPEN_SELF): Correct a typo
("-dld" instead of "-ldld").
2007-06-30 09:31:28 +00:00
Gary V. Vaughan
a894e3baee Add a test to simulate a failure visible on systems which
need a library prefix like 'lib', such as BeOS.  Fix a number
of bugs exposed by this test in order for it to pass.
Currently the prefix is hardcoded as 'lib', as I am not aware
of systems that require a different prefix:

* libltdl/loaders/preopen.c (lt_dlpreload_open):  Move error
condition out of test loop to be sure that each originator is
tried, instead of erroring out if the first doesn't match.
Support passing NULL as the originator to load all preloaded
modules originating in the program itself.
* libltdl/lt_dlloader.c (lt_dlloader_dump): New debug function.
* libltdl/libltdl/lt_dlloader.h (lt_dlloader_dump): Declare it
when LT_DEBUG_LOADERS is defined at compile time.
* libltdl/ltdl.c (lt_dlinit): Dump loader list after successful
initialisation.
(tryall_dlopen): Add a new VTABLE parameter to force use of a
specific loader in preference to trying every loader in turn.
Adjust all callers.
(try_dlopen): Always see whether a module was preloaded for
module names with no directory component before searching the
filesystem for a match.
* libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Declare
a new global_symbol_to_c_name_address_lib_prefix variable.
(global_symbol_to_c_name_address_lib_prefix): The sed
expressions to use when a lib prefix is enforced need to be
slightly different to work with preloaded modules.
* libltdl/config/ltmain.m4sh (func_generate_dlsyms): In order
to name preloaded symbols correctly for the lookup algorithm
to work when the loaded module file must be prefixed with lib.
Use global_symbol_to_c_name_address_lib_prefix when
need_lib_prefix is other than no.
* tests/need_lib_prefix.at: New test to check for breakage on
hosts where need_lib_prefix is unknown.
* Makefile.am (TESTSUITE_AT): Add new test.
* tests/TODO: Note missing tests that would have caught some
of the latent bugs fixed by this patch.
* HACKING: Document libltdl keyword.
* NEWS: Updated.
2007-06-24 20:46:47 +00:00
Gary V. Vaughan
e6e96742ef Reenable compilation of libltdl with C++:
* libltdl/ltdl.c (tryall_dlopen): Rename the try variable to
attempt, and cast explicitly.
(advise_dup): Add explicit cast.
2007-06-24 19:05:46 +00:00
Peter O'Gorman
4b008019bc * libltdl/config/ltmain.m4sh (version-number) [irix]: Don't subtract
1 from major as it may be less than age.
2007-06-22 06:21:03 +00:00
Noah Misch
27c76a8994 * tests/f77demo/configure.ac [--with-dist]: New option. Skip most
Fortran checks when given.
* tests/fcdemo/configure.ac [--with-dist]: Likewise.
* Makefile.am (@DIST_MAKEFILE_LIST@): Pass --with-dist.
Reported by Benoit Sigoure <tsuna@lrde.epita.fr>.
2007-06-21 19:02:36 +00:00
Charles Wilson
91a80d8bb3 * AUTHORS: Add myself. 2007-06-19 06:22:02 +00:00
Charles Wilson
f9137c1440 * libltdl/config/ltmain.m4sh: Add new magic variable
for use with cwrapper.
(func_ltwrapper_script_p): New function.
(func_ltwrapper_executable_p): New function.
(func_ltwrapper_scriptname): New function.
(func_ltwrapper_p): Accomodate both wrapper scripts and
wrapper executables.
(func_mode_execute): Handle $file that is a wrapper
script and $file that is a wrapper executable differently.
(func_mode_install) [cygwin|mingw]: If $file is a wrapper
executable, use func_ltwrapper_scriptname to determine
wrapper script name. Afterwards, always use
func_ltwrapper_script_p instead of func_ltwrapper_p.
(func_emit_libtool_wrapper_script): Rename to...
(func_emit_wrapper): ...this. All callers changed.
(func_emit_libtool_cwrapperexe_source): Rename to...
(func_emit_cwrapperexe_src): ...this. All callers changed.
Embed new magic_exe variable into source. Private transient
wrapper script now called foo_ltshwrapperTMP, not
foo_ltshwrapper.
(func_emit_cwrapperexe_src) [main, mingw]: Use _spawnv
and return child's exit code manually rather than rely on
broken execv.
(func_mode_link) [cygwin|mingw]: Don't call dirname and
basename directly; use func_dirname and func_basename
when computing cwrapper names.  Use cwrapper to generate
wrapper script, and use pathname returned by
func_ltwrapper_scriptname instead of $output.
(func_mode_link) [NOT cygwin|mingw]: move wrapper script
generation for non-win32 inside case statement, as default
case.
(func_mode_uninstall) [$name's extension != .lo|.la]:
'clean' mode must handle $file differently if it is a libtool
wrapper script, or if it is a libtool wrapper executable.
* tests/destdir.at [Simple DESTDIR install]: $EXEEXT fixups.
* tests/destdir.at [DESTDIR with in-package deplibs]: Ditto.
2007-06-19 05:43:16 +00:00
Noah Misch
691ddc8da2 * AUTHORS: Add myself. 2007-06-18 03:49:19 +00:00
Peter O'Gorman
b91bf57ce1 * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): add quotes to
the test -n.
2007-06-18 02:07:22 +00:00
Charles Wilson
fcac48806b * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): ensure stderr
is redirected even when getconf does not exist.
2007-06-17 20:16:03 +00:00
Charles Wilson
6265ea0793 * ltmain.m4sh (func_emit_libtool_wrapper_script):
Take an argument to specify value assigned to
WRAPPER_SCRIPT_BELONGS_IN_OBJDIR in the emitted
script.
(func_emit_libtool_cwrapperexe_source) [file scope]:
define permission flags S_IXGRP and S_IXOTH if not
already defined.
(func_emit_libtool_cwrapperexe_source) [LTWRAPPER_DEBUGPRINTF]:
Use C89-compatible syntax to mimic variadic macros.
Adjust all callers.
(func_emit_libtool_cwrapperexe_source) [check_executable]:
avoid embedded #ifdefs; use S_IXGRP and S_IXOTH
unconditionally.
(func_emit_libtool_cwrapperexe_source) [make_executable]:
ditto.
(func_emit_libtool_cwrapperexe_source): don't rewrite
WRAPPER_SCRIPT_BELONGS_IN_OBJDIR posthoc; instead pass
correct argument when calling func_emit_libtool_wrapper_script.
(func_mode_link): pass correct argument when calling
func_emit_libtool_wrapper_script.
2007-06-09 17:46:40 +00:00
Charles Wilson
d754211cdb * ltmain.m4sh (func_emit_libtool_cwrapperexe_source):
ensure that generated source follows GCS as nearly as
possible.
2007-06-07 08:50:17 +00:00
Charles Wilson
d9033b1759 * ltmain.m4sh (func_emit_libtool_wrapper_script): add
code block to handle cases when wrapper script is in $objdir.
(func_emit_libtool_cwrapperexe_source): replace DEBUG() macro
with namespace-safe LTWRAPPER_DEBUGPRINTF(). Call
func_emit_libtool_wrapper_script() with appropriate filters to
embed script text in C char* static variable.
(f_e_l_c_s: main): add new option --lt-dump-script, parse argv[]
for it, and take appropriate action.  Call chase_symlinks()
on argv[0], in case this.exe was launched via one.  Use chased
value to determine full absolute pathname of wrapper script, in
$objdir. Unconditionally write script out to this pathname and
set permission bits.  Remove extraneous ';' from debugging loop.
(f_e_l_c_s: main) [mingw]: DOS-ize $SHELL before populating
newargv[0]; if $TARGETSHELL environment variable is set, use
it instead of $SHELL and do not DOS-ize.  Ensure newargv[1]
(wrapper script absolute path) uses only '/', not '\'.  Make
sure to call execv() with DOS-ized $SHELL (or un-DOS-ized
$TARGETSHELL, if set)
(f_e_l_c_s: make_executable): new function
(f_e_l_c_s: chase_symlinks): new function (no-op if !S_ISLNK)
2007-06-07 08:47:11 +00:00
Peter O'Gorman
b1ce2a5e6a Fix Changelog 2007-06-04 03:30:21 +00:00
Peter O'Gorman
85b6058c22 * libltdl/m4/libtool.m4 (old_archive_cmds): Remove
old_deplibs.
* tests/dmacks.at: Check for archives as members of static
archives. Currently XFAILS, above only eliminates one of the
two static archives.
* Makefile.am: Add test.
Reported by Daniel Macks <dmacks@netspace.org>
2007-06-04 03:01:11 +00:00
Steve Ellcey
c4baa9d16e * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): Try using getconf
to set lt_cv_sys_max_cmd_len.
2007-06-01 06:35:05 +00:00
Peter O'Gorman
b80b4026fb * libltdl/config/ltmain.m4sh (func_mode_link),
libltdl/m4/libtool.m4 [darwin]: Only use ${wl} in verstring
with xlc.
2007-05-28 07:03:25 +00:00
Gary V. Vaughan
3790e88b96 * tests/lt_dladvise.at: Use the lib prefix throughout for
better portability - testing whether modules build and load
without that prefix is not the domain of this test.
Also, only run the test of the global hint with the depend
module on hosts that can compile a module without passing
-no-undefined in link mode.
2007-05-22 12:07:06 +00:00
Noah Misch
1a1b757d1e * tests/duplicate_deps.at: Make the XFAIL unconditional, but
skip the test if the test link would succeed even without
--preserve-dup-deps.
2007-05-10 17:30:29 +00:00
Noah Misch
d9a5574f93 * libltdl/config/general.m4sh (func_echo): Use $* instead of
${1+"$@"}.
2007-05-10 17:26:45 +00:00
Eric Blake
80ee9e65c6 * libltdl/libltdl/lt_error.h (LT_ERROR_LEN_MAX): Adjust, to fix
buffer overflow in previous patch.
2007-05-09 12:27:00 +00:00
Gary V. Vaughan
710a4012a1 * tests/lt_dladvise.at: Commit missing file from below. 2007-05-09 08:10:19 +00:00
Gary V. Vaughan
c823c708c8 Without this patch, lt_dlopen always opens modules with symbol
visibility set according to the underlying implementation.
Here, we add lt_dlopenadvise() to allow callers to request,
among other things, local or global symbol visibility from the
underlying dlloader:

* libltdl/ltdl.c (LT_DLRESIDENT_FLAG): Removed.
(LT_DLIS_RESIDENT): Use public is_resident info field.
(LT_DLIS_SYMLOCAL, LT_DLIS_SYMGLOBAL): New macros to test for
module symbol visibility status.
(tryall_dlopen): If vtable->module_open() was able to act on
either is_symlocal or is_symglobal hints, store that in
the handle flags.
(lt_dlopenadvise): New function that works like lt_dlopen(),
but accepts an advise type to determine whether to ask
dlloaders to change default symbol visibility.
(lt_dlopen, lt_dlopenext): Just call lt_dlopenadvise() with
the correct parameters.
(lt_dladvise_init, lt_dladvise_destroy): New functions to
initialize and destroy an advise type hint.
(lt_dladvise_ext, lt_dladvise_resident, lt_dladvise_local)
(lt_dladvise_global): Set hints on an advise type.
(openadvise): Factored out of lt_dlopenadvise.
(has_library_ext): Factored out of lt_dlopenadvise.
* libltdl/ltdl.h: Declare all of the above.
(lt_dlinfo): New fields for advise hints.
* libltdl/libltdl/lt_dlloader.h (lt_module_open): Add a new
advise parameter.  Adjust all callers.
(lt_dladvise): New opaque type for advise hints.
* libltdl/libltdl/lt__private.h (lt__advise): Declare
contents of opaque lt_dladvise type.
* libltdl/libltdl/lt_error.h (CONFLICTING_FLAGS): New error
for attempts to have local and global symbol visibility at the
same time.
* libltdl/loaders/dld_link.c, libltdl/loaders/dyld.c,
libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c,
libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c: Adjust.
* libltdl/loaders/dlopen.c (RTLD_LOCAL, RTLD_GLOBAL): Try to
define these symbols if the system has equivalents.
(vmopen): If unable to act on a caller request to set symbol
visibility, then unset the relevant hints in the advise type.
* tests/lt_dladvise.at: New tests for the above.
* doc/libtool.texi (Libltdl Interface): Updated.
* NEWS: Updated.
2007-05-08 14:38:50 +00:00