Commit Graph

841 Commits

Author SHA1 Message Date
Peter Breitenlohner
66894adae8 * libtool.m4 (_LT_SYS_DYNAMIC_LINKER): better handling of
predefined values for lt_cv_sys_lib_search_path_spec and
lt_cv_sys_lib_dlsearch_path_spec.
2008-02-14 23:48:39 +00:00
Ralf Wildenhues
e957206e71 * libltdl/configure.ac: Bump package version.
* HACKING: Reminder to do it next time, too.
2008-02-13 22:09:40 +00:00
Ralf Wildenhues
319a767ce6 * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] <ifort>:
Treat like icc and ecc, for fixed `-Wl,' and `-KPIC' settings.
2008-02-09 07:14:35 +00:00
Peter O'Gorman
215212c9ce * libltdl/m4/ltoptions.m4 (_LT_SET_OPTIONS): Only set default
LT_INIT values for LT_INIT, not LTDL_INIT.
Reported by Jochem Huhmann <joh@revier.com>
2008-02-06 19:53:01 +00:00
Gary V. Vaughan
708a6423a9 * libltdl/Makefile.inc (EXTRA_DIST): Now that we're not using
Autoconf's AC_SOURCES macro, Automake can't trace our extra
source files argz, lt__dirent.c and lt__strl.c.  List them
manually here to make sure they are distributed.
* NEWS: Updated.
Reported by Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2008-02-01 19:03:56 +00:00
Gary V. Vaughan
0ab46c6f8f GNU Libtool 2.1b was released.
* configure.ac (AC_INIT): Bump version number to 2.1b.
* libltdl/Makefile.inc (LTDL_VERSION_INFO): Increment to account
for new interfaces since the last libltdl update.
* HACKING (Release Procedure): Note that LTDL_VERSION_INFO is now
kept in libltdl/Makefile.inc.
2008-01-31 16:21:19 +00:00
Gary V. Vaughan
e032959c82 Unfortunately, the autoconf implementation of AC_LIBOBJ and
friends requires all libobjs to be in the same directory, as
declared by AC_CONFIG_LIBOBJ_DIR.  That might prevent using
either recursive or nonrecursive libltdl if the parent project
has libobjs of its own, except that this patch tracks libltdl's
libobjs in another namespace:

* libltdl/m4/ltdl.m4 (_LT_LIBOBJ, _LT_LIBSOURCES): Versions of
AC_LIBOBJ and AC_LIBSOURCES that save missing sources in a
ltdl_LIBOBJS automake macro, instead of the global LIBOBJS
automake macro.  Content of the macros inspired by code from
gnulib-tool.
(_LTDL_MODE_DISPATCH): Initialise lt_libobj_prefix in
nonrecursive mode.
(LTDL_INIT): Push and pop the new definitions around potential
sites that call AC_LIBOBJ.  Also, using lt_libobj_prefix,
initialise ltdl_LIBOBJS and ltdl_LTLIBOBJS.
* libtoolize.m4sh (func_fixup_Makefile): Substitute ltdl_LIBOBJS
and ltdl_LTLIBOBJS for LIBOBJS and LTLIBOBJS during copying
either Makefile.am or Makefile.inc, depending on ltdl_mode.
Reported by Eric Blake <ebb9@byu.net>
2008-01-31 16:17:06 +00:00
Peter O'Gorman
71821b098f * libltdl/m4/libtool.m4 [darwin]: Changes to glob pattern matching
to be safer.
2008-01-29 22:07:18 +00:00
Peter O'Gorman
bfb67e8ca7 Search the compiler path too.
* libltdl/m4/libtool.m4 (compiler_lib_search_dirs): New variable.
* libltdl/config/ltmain.m4sh: Use it.
Reported by Maynard Johnson
2008-01-28 15:49:46 +00:00
Peter O'Gorman
8add91359a * libltdl/m4/libtool.m4 (sys_lib_search_path_spec,
sys_lib_dlsearch_path_spec): Allow for a cache variable
lt_cv_sys_lib_... to set these at configure time.
* doc/notes.texi: Short note about the above change.
2008-01-24 06:55:36 +00:00
Ralf Wildenhues
8652ce1ff3 New variable LTDLDEPS for use in output_DEPENDENCIES.
* libltdl/m4/ltdl.m4 (_LTDL_CONVENIENCE, _LTDL_INSTALLABLE)
(LTDL_INIT): Set and substitute LTDLDEPS according to chosen
method.
* tests/configure-iface.at (installable libltdl)
(--with-ltdl-include/lib, --with-included-ltdl): Test it.
* doc/libtool.texi (Distributing libltdl): Document LTDLDEPS.
* NEWS: Updated.
Dependency bug exposed by Eric Blake in M4, found by Bob Proulx
build daemon.
2008-01-17 05:32:42 +00:00
Ralf Wildenhues
3afaae7d8e * libltdl/m4/ltdl.m4 (_LT_ENABLE_INSTALL): Use AM_CONDITIONAL
only if defined.  Allows to use libltdl without aclocal.
2008-01-16 18:35:05 +00:00
Peter O'Gorman
70cb76014d * libltdl/m4/libtool.m4: Set GCC var for every tag, avoids need
to set withGCC var.
2008-01-16 14:49:40 +00:00
Ralf Wildenhues
5436459a6b Silence all non-warning output from `libtool --silent'.
* libltdl/config/ltmain.m4sh (func_generate_dlsyms)
(func_extract_archives, func_mode_link): Use func_verbose
instead of func_echo for all non-warning output.
2008-01-14 22:06:00 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Ralf Wildenhues
3175b66b64 * libltdl/config/ltmain.m4sh (func_mode_link): When adding
new_inherited_linker_flags to compiler_flags, remember to
translate .ltframework back.  Fixes bug introduced 2007-04-23.
* THANKS: Update.
* tests/inherited_flags.at: Amend test.
Report by Christoph Egger.
2007-05-03 18:07:28 +00:00
Charles Wilson
6c611e4510 * libltdl/libltdl/lt__glibc.h: Use !HAVE_WORKING_ARGZ
instead of SYSTEM_ARGZ_IS_BROKEN.
* libltdl/m4/argz.m4 (gl_FUNC_ARGZ): Ditto.  Also, minor
stylistic improvements.
Report by Bruno Haible <bruno@clisp.org>.
2007-04-26 22:24:16 +00:00
Charles Wilson
177eb59756 * libltdl/argz_.h: ensure error_t definition is obtained
in same mechanism system argz.h would have.
* libltdl/libltdl/lt__glibc.h: also detect if
SYSTEM_ARGZ_IS_BROKEN when determining whether to re#def
argz* functions.
* libltdl/m4/argz.m4 (gl_FUNC_ARGZ): add new test to check
if $host's argz facilities are known bad.  Err on the side
of caution if cross-compiling.
2007-04-25 21:17:59 +00:00
Ralf Wildenhues
06470c3a43 * libltdl/config/ltmain.m4sh (func_mode_link): Fix accumulation
of `inherited_linker_flags' entries from multiple deplibs, by
adding $new_inherited_linker_flags only once, only in link pass.
* tests/inherited_flags: Amend test to expose this.
* NEWS: Adjust: kill one regression, but add note about the
feature new in 1.9b.
Report by Jeff Squyres and others.
2007-04-23 17:10:17 +00:00
Charles Wilson
e9cc8cb41f * libltdl/config/ltmain.m4sh (func_mode_link): move wrapper
script generation from here...
(func_emit_libtool_wrapper_script): to this new function, and
write to stdout
(func_mode_link): move cwrapper source code generation from
here...
(func_emit_libtool_cwrapperexe_source): to this new function,
and write to stdout
(func_mode_link): call the two new functions and redirect
output to appropriate file.
2007-04-23 16:56:48 +00:00
Ralf Wildenhues
51f91963e6 * libltdl/config/ltmain.m4sh (func_mode_link) <-no-install>
[ darwin ]: Treat like `-no-fast-install', as we cannot
hardcode.  Report by Simon Josefsson.
2007-04-10 19:09:26 +00:00
Matthieu Herrb
01efecee4d * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG)
[ openbsd ]: Add an explicit check for shared libraries support.
2007-03-29 22:24:31 +00:00
Gary V. Vaughan
56c08a521e * HACKING (Licensing Rules): Explain the various license texts
used for files distributed with Libtool, and update license text
to match.
* Makefile.am, Makefile.maint README, README.alpha, THANKS, TODO,
bootstrap, clcommit.m4sh, configure.ac, libltdl/Makefile.inc,
libltdl/README, libltdl/argz.c, libltdl/argz_.h,
libltdl/config/general.m4sh, libltdl/config/getopt.m4sh,
libltdl/config/ltmain.m4sh, libltdl/config/mailnotify.m4sh,
libltdl/config/mkstamp, libltdl/configure.ac,
libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__dirent.h,
libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h,
libltdl/libltdl/lt__strl.h, libltdl/libltdl/lt_dlloader.h,
libltdl/libltdl/lt_error.h, libltdl/libltdl/lt_system.h,
libltdl/libltdl/slist.h, libltdl/loaders/dld_link.c,
libltdl/loaders/dlopen.c, libltdl/loaders/dyld.c,
libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c,
libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c,
libltdl/lt__alloc.c, libltdl/lt__dirent.c, libltdl/lt__strl.c,
libltdl/lt_dlloader.c, libltdl/lt_error.c, libltdl/ltdl.c,
libltdl/ltdl.h, libltdl/m4/argz.m4, libltdl/m4/libtool.m4,
libltdl/m4/ltdl.m4, libltdl/m4/ltoptions.m4,
libltdl/m4/ltsugar.m4, libltdl/m4/ltversion.in,
Jlibltdl/m4/ltversion.m4, libltdl/m4/lt~obsolete.m4,
libltdl/slist.c, libtoolize.m4sh, tests/am-subdir.at,
tests/cdemo-conf.test, tests/cdemo-exec.test,
tests/cdemo-make.test, tests/cdemo-shared.test,
tests/cdemo-static.test, tests/cdemo-undef.test,
tests/cdemo/Makefile.am, tests/cdemo/configure.ac,
tests/cdemo/foo.c, tests/cdemo/foo.h, tests/cdemo/main.c,
tests/cmdline_wrap.at, tests/convenience.at, tests/defs.m4sh,
tests/demo-conf.test, tests/demo-deplibs.test,
tests/demo-exec.test, tests/demo-hardcode.test,
tests/demo-inst.test, tests/demo-make.test,
tests/demo-nofast.test, tests/demo-noinst-link.test,
tests/demo-nopic.test, tests/demo-pic.test,
tests/demo-relink.test, tests/demo-shared.test,
tests/demo-static.test, tests/demo-unst.test,
tests/demo/Makefile.am, tests/demo/configure.ac,
tests/demo/dlmain.c, tests/demo/foo.c,
tests/demo/foo.h, tests/demo/hell1.c, tests/demo/hell2.c,
tests/demo/hello.c, tests/demo/main.c,
tests/depdemo-conf.test, tests/depdemo-exec.test,
tests/depdemo-inst.test, tests/depdemo-make.test,
tests/depdemo-nofast.test, tests/depdemo-relink.test,
tests/depdemo-shared.test, tests/depdemo-static.test,
tests/depdemo-unst.test, tests/depdemo/Makefile.am,
tests/depdemo/configure.ac, tests/depdemo/l1/Makefile.am,
tests/depdemo/l1/l1.c, tests/depdemo/l1/l1.h,
tests/depdemo/l2/Makefile.am, tests/depdemo/l2/l2.c,
tests/depdemo/l2/l2.h, tests/depdemo/l3/Makefile.am,
tests/depdemo/l3/l3.c, tests/depdemo/l3/l3.h,
tests/depdemo/l4/Makefile.am, tests/depdemo/l4/l4.c,
tests/depdemo/l4/l4.h, tests/depdemo/main.c,
tests/depdemo/sysdep.h, tests/deplibs-ident.at,
tests/destdir.at, tests/duplicate_conv.at,
tests/duplicate_deps.at, tests/duplicate_members.at,
tests/early-libtool.at, tests/export.at,
tests/f77demo-conf.test, tests/f77demo-exec.test,
tests/f77demo-make.test, tests/f77demo-shared.test,
tests/f77demo-static.test, tests/f77demo/Makefile.am,
tests/f77demo/configure.ac, tests/f77demo/cprogram.c,
tests/f77demo/foo.h, tests/f77demo/fooc.c,
tests/fail.at, tests/fcdemo-conf.test, tests/fcdemo-exec.test,
tests/fcdemo-make.test, tests/fcdemo-shared.test,
tests/fcdemo-static.test, tests/fcdemo/Makefile.am,
tests/fcdemo/configure.ac, tests/fcdemo/cprogram.c,
tests/fcdemo/foo.h, tests/fcdemo/fooc.c,
tests/inherited_flags.at, tests/libtoolize.at,
tests/link-2.test, tests/link-order.at, tests/link-order2.at,
tests/link.test, tests/lt_dlexit.at, tests/mdemo-conf.test,
tests/mdemo-dryrun.test, tests/mdemo-exec.test,
tests/mdemo-inst.test, tests/mdemo-make.test,
tests/mdemo-shared.test, tests/mdemo-static.test,
tests/mdemo-unst.test, tests/mdemo/Makefile.am,
tests/mdemo/configure.ac, tests/mdemo/foo.h, tests/mdemo/foo1.c,
tests/mdemo/foo2.c, tests/mdemo/main.c, tests/mdemo/mlib.c,
tests/mdemo/sub.c, tests/mdemo2-conf.test,
tests/mdemo2-exec.test, tests/mdemo2-make.test,
tests/mdemo2/Makefile.am, tests/mdemo2/configure.ac,
tests/mdemo2/main.c, tests/nomode.test, tests/nonrecursive.at,
tests/objectlist.test, tests/old-m4-iface.at,
tests/pdemo-conf.test, tests/pdemo-exec.test,
tests/pdemo-inst.test, tests/pdemo-make.test,
tests/pdemo/Makefile.am, tests/pdemo/configure.ac,
tests/pdemo/foo.h, tests/pdemo/longer_file_name_dlmain.c,
tests/pdemo/longer_file_name_foo.c,
tests/pdemo/longer_file_name_foo2.c,
tests/pdemo/longer_file_name_hell1.c,
tests/pdemo/longer_file_name_hell2.c,
tests/pdemo/longer_file_name_hello.c,
tests/pdemo/longer_file_name_main.c, tests/quote.test,
tests/recursive.at, tests/search-path.at, tests/sh.test,
tests/shlibpath.at, tests/standalone.at, tests/static.at,
tests/stresstest.at, tests/subproject.at, tests/suffix.test,
tests/tagdemo-conf.test, tests/tagdemo-exec.test,
tests/tagdemo-make.test, tests/tagdemo-shared.test,
tests/tagdemo-static.test, tests/tagdemo-undef.test,
tests/tagdemo/Makefile.am, tests/tagdemo/baz.cpp,
tests/tagdemo/baz.h, tests/tagdemo/configure.ac,
tests/tagdemo/conv.cpp, tests/tagdemo/conv.h,
tests/tagdemo/foo.cpp, tests/tagdemo/foo.h,
tests/tagdemo/main.cpp, tests/tagtrace.test,
tests/template.at, tests/testsuite.at: Apply correct license
text according to the new rules set out in HACKING.
2007-03-25 12:12:44 +00:00
Ralf Wildenhues
c003219f02 * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER)
(_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS)
(_LT_LANG_CXX_CONFIG, _LT_SYS_HIDDEN_LIBDEPS) [ interix ]: When
matching for interix, accept version range [3-9] instead of 3.
* NEWS: Update.
Report by Martin Koeppe <mkoeppe@gmx.de>.
2007-03-18 18:08:50 +00:00
Ralf Wildenhues
09044579f0 * libltdl/m4/libtool.m4 (LT_PROG_GCJ): Avoid M4 expansion error
that caused `dnl' to be merged to the previous word.
* THANKS: Update.
Report by Steve Ellcey.
2007-03-18 17:40:35 +00:00
Ralf Wildenhues
0d492f4144 * libltdl/config/ltmain.m4sh (func_mode_link): Also apply the
symbol filtering for w32 and the include_expsyms feature in the
case of exceeded command line length.  Fixes test failure on
MinGW.
2007-03-06 22:31:09 +00:00
Gary V. Vaughan
5771b49373 * libltdl/config/general.m4sh (M4SH_VERBATIM): New macro to
simplify m4sh quote quoting in blocks of raw shell code.
* clcommit.m4sh, libtoolize.m4sh, libltdl/config/getopt.m4sh,
libltdl/config/ltmain.m4sh, libltdl/config/mailnotify.m4sh,
tests/defs.m4sh: Use it.
* HACKING (Editing `.m4sh' Files): Mention M4SH_VERBATIM Macro.
2007-03-06 00:46:56 +00:00
Ralf Wildenhues
b8b793325e * libltdl/Makefile.inc: Fix the file description, so that it
matches recursive and nonrecursive libltdl setup.
* Makefile.am ($(srcdir)/libltdl/Makefile.am): Do not depend
upon the exact text of the copyright header, just copy until
the marker line.  Remove the marker lines in the output, and
adjust the description for subpackage setup.
2007-02-27 21:59:33 +00:00
Gary V. Vaughan
7367171ad0 * HACKING, Makefile.am, Makefile.maint, bootstrap,
libltdl/Makefile.am, libltdl/Makefile.inc, libltdl/m4/libtool.m4,
ltmain.c, tests/cdemo/Makefile.am, tests/demo/Makefile.am,
tests/depdemo/Makefile.am, tests/depdemo/l1/Makefile.am,
tests/depdemo/l2/Makefile.am, tests/depdemo/l3/Makefile.am,
tests/depdemo/l4/Makefile.am, tests/f77demo/Makefile.am,
tests/fcdemo/Makefile.am, tests/libtoolize.at,
tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am,
tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am: Update
Copyright notice text to include URL for canonical GPL document.
2007-02-26 07:44:25 +00:00
Ralf Wildenhues
a0cd232cc1 * doc/libtool.texi (LT_INIT): Fix wording of intro a bit.
<shared, static>: Also describe these default LT_INIT options.
<AC_LIBTOOL_DLOPEN, AC_LIBTOOL_WIN32_DLL>
<AC_DISABLE_FAST_INSTALL>: Mention deprecated macro names,
including the respective LT_INIT replacement.
<AC_DISABLE_SHARED, AC_DISABLE_STATIC, AC_ENABLE_SHARED>
<AC_ENABLE_STATIC>: Document, un-deprecate.  Suggest the
respective LT_INIT replacement.
<AM_DISABLE_SHARED, AM_DISABLE_STATIC, AM_ENABLE_SHARED>
<AM_ENABLE_STATIC>: Document deprecated aliases.
(Distributing libltdl) <AC_WITH_LTDL, AC_LIBLTDL_INSTALLABLE>
<AC_LIBLTDL_CONVENIENCE>: Document deprecated aliases.
* libltdl/m4/ltoptions.m4 (AM_ENABLE_SHARED, AM_DISABLE_SHARED)
(AM_ENABLE_STATIC, AM_DISABLE_STATIC): Make these AU_ALIASes of
the respective AC_* macros, so we do not recommend LT_INIT(*) in
this case.
(AC_ENABLE_SHARED, AC_DISABLE_SHARED, AC_ENABLE_STATIC)
(AC_DISABLE_STATIC): Un-deprecate these.  Remove now-superfluous
aclocal-1.4 backwards compatibility comments.
2007-02-24 08:52:13 +00:00
Ralf Wildenhues
265432e423 Fix -export-symbols and -export-symbols-regex for links that
exceed the command line length and use convenience archives.

* libltdl/config/ltmain.m4sh (func_mode_link): Avoid grepping a
nonexistent file if using reloadable objects.  Do not create a
linker script nor a linker input file if no objects are passed.
Apply export_symbols_regex in case the command line length is
exceeded.
2007-02-23 21:52:50 +00:00
Ralf Wildenhues
b3709c2f9d * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS)
<compiler_needs_object>: New tag variable.  Default to `no'.
(_LT_LINKER_SHLIBS) [ linux ]: Set it to yes for Sun C 5.9.
(_LT_LANG_CXX_CONFIG): Also default it to `no'.
[ linux ]: Set it to `yes' for Sun C++ 5.9.
* libltdl/config/ltmain.m4sh (func_mode_link): If we link
no objects but only convenience archives into a library,
force expansion if `compiler_needs_object' is yes.
For creating a linker input filelist due to long cmdline,
extract the first object if `compiler_needs_object' is yes.
* doc/libtool.texi (libtool script contents): Document it.
Fixes test failures of Sun compilers on GNU/Linux.
Report by Terry D. Dontje.
2007-02-23 21:11:25 +00:00
Ralf Wildenhues
8ef9778c39 * libltdl/config/ltmain.m4sh (func_mode_link): Avoid setting
`$libobjs' to a single space; set it to empty in that case.
2007-02-23 20:43:50 +00:00
Ralf Wildenhues
c4028959cf * libltdl/config/ltmain.m4sh (func_generate_dlsyms) [ osf5 ]:
On Tru64 5.1, const relocations do not work well.  Omit the
const here.  Fixes failure of demo-make after demo-shared with
link editor error `seg_info_ptr: Couldnt find a seg type 2'.
2007-02-23 19:45:42 +00:00
Ralf Menzel
3fa76ea860 * libltdl/config/general.m4sh (sed_double_backslash): Fix
hacky sed script to avoid limitations but retain portability to
Solaris /bin/sed.  Remove old obsolete cruft.
2007-02-23 18:18:34 +00:00
Ralf Wildenhues
14e51abfa8 * libltdl/config/ltmain.m4sh (func_mode_link): Fix the check for
convenience archives when warning about linking against static
libraries: test against $deplib rather than empty $lib.
2007-02-22 19:53:14 +00:00
Ralf Wildenhues
82b619a320 * libltdl/m4/ltdl.m4 (LT_WITH_LTDL): Fix detection of new enough
libltdl by actually checking for the declaration of
lt_dlinterface_register in ltdl.h with AC_CHECK_DECL.
Remove redundant configure output line.
2007-02-19 09:10:32 +00:00
Ralf Wildenhues
1fb049828e * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux |
k*bsd*-gnu ]: Fix eval quoting in the DT_RUNPATH test.
2007-02-17 15:15:23 +00:00
Ralf Wildenhues
d747b79187 * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ linux ]
<whole_archive_flag_spec>: For Sun C/C++ 5.9, do not add
/dev/null as dummy object, it fails with GNU ld version
2.16.91.0.7-amd-sles9.  Report by Terry D. Dontje.
* THANKS: Update.
2007-02-17 08:22:59 +00:00
Ralf Wildenhues
79e33032b4 * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ osf4, osf5 ]
<archive_expsym_cmds>: Use `${wl}-input' not `-input', for
cc.  Could use `-input_to_ld'.
(_LT_LANG_CXX_CONFIG) [ osf4, osf5 ] <archive_expsym_cmds>:
Use `${wl}' instead of `-Wl,', for consistency.
2007-02-14 18:55:24 +00:00
Ralf Wildenhues
19f9aabf89 * libltdl/config/ltmain.m4sh: Remove duplicate marker for
generated shell functions.
2007-02-12 19:57:24 +00:00
Ralf Wildenhues
0891f8ccc9 * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): New substituted
function `func_lo2o', saving two fork&exec with XSI shells.
* libltdl/config/ltmain.m4sh (func_mode_compile)
(func_mode_install, func_mode_link): Use it for rewrites of
single files.
2007-02-11 16:22:42 +00:00
Ralf Wildenhues
9ebe7b436b * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): New function
func_opt_split, for XSI and portable shell.
* libltdl/config/ltmain.m4sh: Move the insertion point for the
configure-generated shell functions to before the first option
parsing loop.  Rewrite the separation of the long options to use
func_opt_split.
2007-02-11 16:19:09 +00:00
Ralf Wildenhues
f3186c9c01 Eliminate roughly a third of the script execution time overhead
for all modes except for link/relink and uninstall/clean.

* libltdl/m4/libtool.m4 (_LT_CONFIG): Remove unused `TEST SUITE
MARKER', obsolete since 2005-04-17.
* libltdl/config/ltmain.m4sh: Likewise, several instances.
(Main): Tear apart, moving individual bits up as early in the
script as possible, to help the shell to avoid parsing the rest.
2007-02-11 16:16:38 +00:00
Ralf Wildenhues
8faf59a421 * libltdl/config/general.m4sh (sed_double_backslash): Replace
POSIX sed script with a hack that treats up to 10 backslashes
in the input correctly and is portable to Solaris /bin/sed.
2007-02-11 11:07:08 +00:00
Ralf Wildenhues
713a03c4de * libltdl/ltdl.c (lt_dlexit): Add casts to fix compilation with
C++ compiler again.
2007-02-06 19:00:50 +00:00
Ralf Wildenhues
afd4429046 * libltdl/m4/libtool.m4 (_LT_COMPILER_BOILERPLATE)
(_LT_LINKER_BOILERPLATE, _LT_SYS_MODULE_PATH_AIX)
(_LT_COMPILER_C_O): Require _LT_DECL_SED.
* THANKS: Update.
Report by Maciej W. Rozycki.
2007-02-05 19:40:18 +00:00
Samuel Thibault
f219156ee1 * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ gnu ]
<archive_expsym_cmds>: Behave like Linux, so that
--version-script is used for Hurd as well.
2007-01-29 19:51:19 +00:00
Brian W. Barrett
95e4b2aef7 * libltdl/config/ltmain.m4sh [darwin]: Use otool64 if otool fails. 2007-01-28 15:13:25 +00:00
Dave Brolley
afa7deb340 * libltdl/ltdl.c (lt_dlexit): Make sure that 'cur' is not NULL
before checking that it is still in the list.
* tests/lt_dlexit.at: New test.
* Makefile.am (TESTSUITE_AT): Adjust.
(check-local): Also depend on libltdl/libltdlc.la.
(check-recursive): Removed, unnecessary use of Automake
internals.
2007-01-28 14:55:01 +00:00
Mike Frysinger
b7a0f78052 * libltdl/config/ltmain.m4sh (func_mode_link): Pass through
`-p' and `-fprofile-*' for GCC.
2007-01-28 14:18:59 +00:00
Ralf Wildenhues
bb9ec35b3c * libltdl/libltdl/lt_system.h: Adjust copyright years. 2007-01-28 13:40:25 +00:00
Charles Wilson
a08ebfdf40 * libltdl/libltdl/lt__private.h (LT_GLOBAL_DATA) [__CYGWIN__]:
Also define on Cygwin.
* libltdl/libltdl/lt_system.h (LT_SCOPE) [__CYGWIN__]: Likewise.
2007-01-28 13:33:27 +00:00
Ralf Wildenhues
f8bc8895c4 * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ cygwin, mingw ]
<export_symbols_cmds>: Avoid shell expansion of '/s/.*' through
double expansion, in case there is a 'S:' drive.
Report by Charles Wilson.
2007-01-28 13:03:47 +00:00
Ralf Wildenhues
baf8599e6f Assume C89 for included headers, and throughout the testsuite.
* NEWS: Update.
* libltdl/argz.c: Do not include strings.h nor memory.h, include
string.h unconditionally.
Patch by Simon Josefsson <jas@extundo.com>.
* libltdl/libltdl/lt__private.h: Likewise.
* libltdl/m4/ltdl.m4 (LTDL_INIT): Do not check for string.h,
strings.h, memory.h.
* tests/cdemo/configure.ac: Assume presence of math.h.
* tests/cdemo/foo.c: Likewise.
* tests/demo/configure.ac: Likewise for math.h, string.h.
Assume 'const'.  Drop obsolete AC_EXEEXT.
* tests/demo/dlmain.c: Likewise.
* tests/demo/foo.c: Likewise.
* tests/depdemo/configure.ac: Likewise.
* tests/depdemo/l4/l4.c: Likewise.
* tests/f77demo/configure.ac: Likewise.  Also drop obsolete
AC_OBJEXT.
* tests/fcdemo/configure.ac: Likewise.
* tests/mdemo/configure.ac: Likewise.
* tests/mdemo/foo1.c: Likewise.
* tests/mdemo/foo2.c: Likewise.
* tests/mdemo2/configure.ac: Likewise.
* tests/pdemo/configure.ac: Likewise.
* tests/pdemo/longer_file_name_dlmain.c:
* tests/pdemo/longer_file_name_foo.c: Likewise.
* tests/pdemo/longer_file_name_foo2.c: Likewise.
* tests/tagdemo/configure.ac: Likewise.
* tests/tagdemo/foo.cpp: Likewise.
2007-01-27 16:45:40 +00:00
Ralf Wildenhues
af00446d40 * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw]:
Use `lib -OUT' rather than `lib /OUT' to avoid MSYS path
translation mangling.  Report by Christopher Hulbert.
* THANKS: Update.
2007-01-21 16:15:36 +00:00
Ralf Wildenhues
4d8e7a3784 * libltdl/config/ltmain.m4sh (func_mode_compile): Accept
suffixes matching `[fF][09].', for Fortran.
* tests/suffix.test: Also test F90, F95, f03, F03.
2007-01-21 14:57:58 +00:00
Ralf Wildenhues
8b77562fee Assume presence of a config header in all files, to provoke
test failures on all systems.
* libltdl/lt__alloc.c: Likewise.
* libltdl/libltdl/lt__dirent.h: Likewise.
* libltdl/libltdl/lt__glibc.h: Likewise.
* libltdl/libltdl/lt__private.h: Likewise.
* libltdl/libltdl/lt__strl.h: Likewise.
* tests/recursive.at: Use AC_CONFIG_HEADERS.
* tests/nonrecursive.at: Likewise.  Invoke autoheader.
* HACKING: Adjust.
Report by Patrick Welche.
2006-10-26 20:39:04 +00:00
Paul Eggert
a68608ef1f * doc/libtool.texi (Distributing libltdl): In recursive and
nonrecursive mode, a config header is now required.
* libltdl/argz.c: Remove check for HAVE_CONFIG_H, to conform
to gnulib's policy of including config.h unconditionally.
2006-10-24 20:33:38 +00:00
Peter O'Gorman
bd9ae5e61b * libltdl/config/ltmain.m4sh: Add -F* to flags that are passed
to the linker.
Reported by SIGOURE Benoit <sigoure.benoit@lrde.epita.fr>
2006-10-22 14:10:33 +00:00
Peter O'Gorman
a3440cbca2 * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Improve
multilib support.
Reported by Kate Minola <kate01123@gmail.com> and others.
2006-10-19 05:06:14 +00:00
Eric Blake
65e173f8cb * libltdl/ltdl.c (load_deplibs): Avoid memory leak on failure.
(unload_deplibs): Avoid memory leak on cleanup.
2006-10-13 14:11:18 +00:00
Ralf Wildenhues
997601f675 * libltdl/m4/libtool.m4 (func_mode_compile): Accept files with
extension `.f9?'.
* tests/suffix.test: Test `f95'.
2006-09-20 19:08:22 +00:00
Ralf Wildenhues
e6b8918f7e * libltdl/config/ltmain.m4sh (func_mode_uninstall): Use
`func_source' consistently.
2006-09-20 18:15:06 +00:00
Ralf Wildenhues
786ef35a4e * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]
[k*bsd*-gnu ]: Fix brown paper bag: save and restore `libdir'.
2006-09-18 05:49:39 +00:00
Ralf Wildenhues
8f951c011f * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG)
[ openbsd ]: Set `hardcode_direct_absolute', to prefer rpath
over putting absolute file names in NEEDED entries.
* NEWS: Update.
Reported by Jake Meuser and others.
2006-09-17 19:30:15 +00:00
Ralf Wildenhues
a47ab0fc66 * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]
[ k*bsd*-gnu ]: Test if ld sets DT_RUNPATH; in that case, set
shlib_overrides_runpath to `yes'.  Fixes test failure of new
test on Gentoo GNU/Linux.
2006-09-17 19:27:14 +00:00
Ralf Wildenhues
6ae279553a * libltdl/ltdl.c: Move LT__UNUSED before parameter name, for g++
3.2.3 (on MinGW).
* libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c,
libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c,
libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c: Likewise.
2006-09-04 17:43:37 +00:00
George Bosilca
8a17ccd68d Make libltdl work when compiled with a C++ compiler.
* libltdl/lt__alloc.c, libltdl/lt_dlloader.c, libltdl/ltdl.c,
libltdl/slist.c, libltdl/libltdl/lt__alloc.h,
libltdl/libltdl/lt_error.h, libltdl/libltdl/slist.h,
libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c,
libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c,
libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c,
libltdl/loaders/shl_load.c, tests/stresstest.at,
tests/testsuite.at, tests/f77demo/foo.h, tests/fcdemo/foo.h,
tests/mdemo/foo.h, tests/mdemo/foo1.c, tests/mdemo/foo2.c,
tests/mdemo/main.c: Allow sources to be compiled by a C++
compiler: Cast appropriately, add C linkage for `get_vtable'
functions, do not use C++ keyword `delete'.
2006-09-04 17:27:27 +00:00
George Bosilca
c6b76b4385 * libltdl/config/ltmain.m4sh (func_mode_link): In the dlsym
file, define a type for the symbol list, and declare the list
`extern', so that it is extern even if compiled by a C++
compiler.  The type definition helps avoid a compiler warning
against anonymous extern struct.
* libltdl/libltdl/lt_system.h: Add `extern' to `LT_SCOPE' for
the same reason.
2006-09-04 17:25:15 +00:00
George Bosilca
c7a33e176b * libltdl/argz_.h: It's __cplusplus, not _cplusplus.
* libltdl/libltdl/slist.h: Likewise.
2006-09-04 17:23:30 +00:00
George Bosilca
4936fb4a91 * libltdl/libltdl/lt__glibc.h: Wrap included argz.h in
`extern "C"', for broken headers on Cygwin.
2006-09-04 17:21:35 +00:00
Ralf Wildenhues
833a91c5bf Avoid mixing functions and data pointers in callback functions.
* libltdl/ltdl.c (file_worker_func): New type.
(lt_dlforeachfile): Instead of passing a function pointer as a
data pointer, pass a pointer to a file_worker_func pointer.
(foreach_callback_func): Adjust.
* tests/mdemo/main.c: Assume C89. Exercise lt_dlforeachfile.
(callback, try_iterate, my_dirname): New functions.
* tests/mdemo-exec.test: Check for its output.
2006-08-31 05:34:01 +00:00
Ralf Wildenhues
673d0f40fe * libltdl/libltdl/lt__private.h (__attribute__, LT__UNUSED):
New macros.
* libltdl/loaders/dld_link.c: Use LT__UNUSED where
appropriate.
* libltdl/loaders/dlopen.c, libltdl/loaders/load_add_on.c,
libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c,
libltdl/loaders/shl_load.c: Likewise.
* libltdl/ltdl.c: Likewise.
(find_file_callback): Fix declaration names to match definition.
(load_deplibs) [!LTDL_DLOPEN_DEPLIBS]: Use separate definition
for less preprocessor clutter.
2006-08-30 04:14:21 +00:00
Ralf Wildenhues
2166e633ae * libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
sharing with gnulib.  Report by Eric Blake.
* libltdl/lt__alloc.c, libltdl/libltdl/lt__dirent.h,
libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h,
libltdl/libltdl/lt__strl.h: Likewise.
* HACKING: Update.
2006-08-28 16:02:14 +00:00
Ralf Wildenhues
05f26e584d * libltdl/config/ltmain.m4sh (func_mode_link): Pass through
`--coverage' and `-pg', for GCC.  Report by Rainer Keller
<keller@hlrs.de> and Tor Lillqvist <tml@iki.fi>.
2006-08-25 15:08:14 +00:00
Kurt Roeckx
956f27f44c * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER)
(_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS)
(_LT_LANG_CXX_CONFIG) [k*bsd*-gnu]: kfreebsd*-gnu and
knetbsd*-gnu behave like linux-gnu.
* libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Likewise.
* libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK)
[x86_64-*kfreebsd*-gnu]: Add 32/64 bit bi-arch support.
* NEWS: Update.
2006-08-25 15:04:30 +00:00
Ralf Wildenhues
3f7724490d * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD) [ mingw,pw32 ]:
If `file' is present, use `func_win32_libid' rather than
`objdump -f', to facilitate cross-compilation.
Reported by Pierre Ossman <ossman@cendio.se>.
2006-08-25 14:56:35 +00:00
Ralf Wildenhues
ad29b3b578 * libltdl/config/ltmain.m4sh (func_mode_link): In GNU ld script,
do not quote object file names, for Intel icc 9.0 IPO link.
2006-08-23 17:57:34 +00:00
Eric Blake
d8495dfccc * libltdl/m4/ltdl.m4 (LTDL_INIT): Avoid macros marked obsolete in
latest autoconf.
* libltdl/m4/libtool.m4 (_lt_cv_sys_global_symbol_pipe): Work in
spite of -Wmissing-prototypes.
* libltdl/libltdl/lt__dirent.h: Rewrite to accomodate loss of
AC_HEADER_DIRENT.
2006-08-22 17:51:03 +00:00
Eric Blake
4039ebf311 * libltdl/m4/libtool.m4: Avoid space-tab. 2006-08-22 17:30:42 +00:00
Ralf Wildenhues
c1f378e90c * libltdl/config/ltmain.m4sh (func_mode_execute): Also search
the directory above `$objdir' for the argument of "-dlopen", as
mentioned in the error message.
2006-08-07 16:25:08 +00:00
Ralf Menzel
f89a71b681 * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Fix issues
with previous patch. for ... do' line is superflous. Need
_LT_TAGVAR not _LT_AC_TAGVAR, should be for both linux and
solaris with Sun compiler.
2006-08-03 14:06:36 +00:00
Albert Chin
67311504b6 * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS) [ solaris ]:
Don't set $postdeps to "-lCstd -lCrun" if
"-library=stlport4" set in CXXFLAGS as stlport4 C++
library incompatible with Cstd C++ library. Use
'-library=Cstd -library=Crun' instead of '-lCstd -lCrun'.
2006-08-02 13:35:30 +00:00
Eric Blake
5f5c7b9eb8 * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD, LT_OUTPUT):
s/recognise/recognize/.
2006-07-28 17:01:05 +00:00
Eric Blake
4704053cac * libltdl/ltdl.c (loader_init_callback) [HAVE_LIBDLLOADER]:
Protect definition to avoid compiler warnings about unused
function.
2006-07-22 20:34:06 +00:00
Eric Blake
dad710f891 * libltdl/m4/ltdl.m4 (LT_LIB_DLLOAD): Search for dlopen without
depending on -ldl, required by cygwin 1.5.20.
2006-07-22 04:08:46 +00:00
Ralf Wildenhues
ccafe7f927 * libltdl/m4/libtool.m4 (_LT_COMPILER_BOILERPLATE)
( _LT_LINKER_BOILERPLATE): Rewrite to not use unchecked
`printf', for old systems like SunOS 4.1.
(_LT_COMPILER_OPTION, _LT_LINKER_OPTION)
(_LT_COMPILER_C_O, _LT_LINKER_SHLIBS): Likewise.
(_LT_LANG_C_CONFIG): Adjust: use literal newlines in
`lt_simple_compile_test_code' and `lt_simple_link_test_code'.
(_LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG)
(_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Likewise.
Bug report by Bruce Becker and Mark Andrews.
2006-06-24 04:58:58 +00:00
Ralf Wildenhues
7dd3afb52a * .cvsignore, doc/.cvsignore, libltdl/.cvsignore,
libltdl/loaders/.cvsignore, tests/.cvsignore: Update.
2006-06-13 18:36:56 +00:00
Ralf Wildenhues
f38715832a * libltdl/config/ltmain.m4sh (func_mode_link): Honor `-threads',
similar to `-mt'.
Report by Eric Paire <eric.paire@st.com>.
2006-06-08 16:54:44 +00:00
Charles Wilson
e94e4f2249 * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ cygwin ]:
define DLL_EXPORT for PIC objects on cygwin.
2006-06-01 18:39:24 +00:00
Albert Chin
e4f54300ae * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG)
[ aix4*, aix5*, hpux10*, hpux11* ]: Set hardcode_direct_absolute
for CXX tag too!
2006-05-24 11:54:59 +00:00
Ralf Wildenhues
a5220e7c70 * libltdl/config/ltmain.m4sh (func_mode_link, shell wrapper):
Do not put `"$@"' in argument to $ECHO.
2006-05-19 02:23:04 +00:00
Ralf Wildenhues
4ce74c3baf * libltdl/m4/libtool.m4: Bump serial, necessary because of
_LT_CHECK_SHELL_FEATURES changes.
2006-05-18 16:32:21 +00:00
Ralf Wildenhues
5809e5cd3a Fix mode=compile time regression of CVS HEAD over branch-1-5.
* libltdl/m4/libtool.m4 (_LT_CHECK_XSI_SHELL): Rename to...
(_LT_CHECK_SHELL_FEATURES): ...this.
(_LT_SETUP): Adjust caller.
(_LT_CHECK_XSI_SHELL): New libtool variables `lt_unset',
`SP2NL', `NL2SP', to contain results from tests for unset,
taken from AS_BOURNE_COMPATIBLE, and ASCII vs EBCDIC, taken...
* libltdl/config/general.m4sh: ...from here, and used...
* libltdl/config/ltmain.m4sh: ...here everywhere now.
* (AS_SHELL_SANITIZE): Replace by faster, actually necessary
part of its expansion, taken from current Autoconf CVS.  Do not
save and set all locale variables any more, but only LANG,
LC_ALL, LC_CTYPE, LC_COLLATE, LC_MESSAGES.
(func_mode_execute): Adjust.
* libltdl/m4/libtool.m4 (_LT_CONFIG): No need to unset CDPATH
here any more.
* libtoolize.m4sh: Compute `SP2NL' and `NL2SP' here, too.
2006-05-18 05:43:01 +00:00
Gary V. Vaughan
33f72b2ff5 * libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4
(_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG,
_LT_LANG_FC_CONFIG), tests/link-order.at
[ aix4*, aix5*, hpux10*, hpux11* ]: rename
hardcode_direct_static to hardcode_direct_absolute.
* doc/libtool.texi (libtool script contents): Adjust.
2006-05-18 00:10:37 +00:00
Gary V. Vaughan
064b392296 * libltdl/ltdl.c (lt_dlhandle_fetch): Arguments to
lt_dlhandle_iterate were in the wrong order.
2006-05-17 23:12:07 +00:00
Ralf Wildenhues
4cd8dffdfe * libltdl/m4/libtool.m4 (_LT_LINKER_OPTION): Require
_LT_DECL_SED.
(_LT_CMD_GLOBAL_SYMBOLS, _LT_LINKER_SHLIBS): Likewise.
* libltdl/m4/ltdl.m4 (LTDL_INIT): Likewise.
(_LT_DECL_SED): Set $Xsed here, using $SED.  Moved from...
(_LT_SETUP): ...here.
Report by Eric Blake.
2006-05-17 20:11:03 +00:00
Gary V. Vaughan
1560781d8a * libltdl/m4/libtool.m4 (LT_AC_PROG_SED): Declarations for
compatibility with old versions of libtool, and old versions
of aclocal.
2006-05-17 17:05:07 +00:00
Albert Chin-A-Young
e73b15356c * libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4
(_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG,
_LT_LANG_FC_CONFIG) [ aix4*, aix5*, hpux10*, hpux11* ]:
Introduce a new variable, hardcode_direct_static, which
would ignore hardcode_direct=yes if the result would create a
static library dependency. Static library dependencies are
immune to $shlibpath_var.
* tests/link-order.at: Take hardcode_direct and
hardcode_direct_static into consideration when testing
link order.
2006-05-17 14:28:40 +00:00
Ralf Wildenhues
216754e101 Eliminate quadratic scaling in argument parsing loop, for
shells that understand `var+=value', such as Bash-3.1, or Zsh.

* libltdl/m4/libtool.m4 (_LT_CHECK_XSI_SHELL): Test whether
the shell understands `var+=value'.
(_LT_PROG_XSI_SHELLFNS): Define `func_append' based on this.
* config/ltmain.m4sh (func_mode_link): Use `func_append' for
compile_command, finalize_command, libtool_args, libobjs,
non_pic_objects.
2006-05-17 01:58:40 +00:00
Bruno Haible
a84c618b61 * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS)
(_LT_LANG_CXX_CONFIG, _LT_SYS_HIDDEN_LIBDEPS) [ linux ]:
Add support for Sun C 5.9, Sun C++ 5.9, and Sun Fortran 8.3 on
GNU/Linux.
* NEWS: Update.
2006-05-15 16:40:43 +00:00
Albert Chin-A-Young
99ad8411ba * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG)
[ aix ]: $hardcode_direct is set twice.
2006-05-14 08:43:58 +00:00
John Bowler
ebfa770bf4 * libltdl/config/ltmain.m4sh (func_mode_link): For version_type
`none', we still need to set `current', `age', and `revision',
so that our checks don't barf.  The values won't be used later.
Apparently reported by several people, several times, for BeOS.
* NEWS, THANKS: Update.
2006-05-14 08:20:11 +00:00
Ralf Wildenhues
515a9846b0 * libltdl/config/ltmain.m4sh (func_write_libtool_object):
New function, factored out from..
(func_mode_compile): .. here.  Call it to generate the libtool
object file (the `.lo' file) in one step.
2006-04-22 18:57:04 +00:00
Peter O'Gorman
3cd0ad1319 * libltdl/loaders/preopen.c: Don't allow lt_dlopen if the
module has no symbols.
2006-04-03 13:54:35 +00:00
Ralf Wildenhues
22e9ff0862 * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]:
Avoid warning when "parsing" `/etc/ld.so.conf' and empty
`/etc/ld.so.conf.d'.
Reported by Orion Poplawski <orion@cora.nwra.com>.
2006-03-28 18:11:28 +00:00
Ralf Wildenhues
dccb94d892 * libltdl/m4/argz.m4 (gl_FUNC_ARGZ): Sync with gnulib: If we
define `error_t', also define `__error_t_defined', so argp.h
will not typedef the former.
2006-03-25 11:05:02 +00:00
Ralf Wildenhues
9e38ec274b * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS) [ freebsd ]
[ dragonfly ]: Set libltdl_cv_sys_dlopen_deplibs to yes.
Fixes excessive lt_dlopen times on these systems.
* NEWS, THANKS: Update.
Bug reported by Peter Jeremy <peterjeremy@optushome.com.au>,
patch by Joerg Sonnenberger <joerg@netbsd.org>.
2006-03-23 22:39:41 +00:00
Ralf Wildenhues
c95b003861 * libltdl/config/ltmain.m4sh (func_mode_link)
< -static-libtool-libs >: New option.
* doc/libtool.texi (Link mode, Distributing libltdl):
Document it.
Suggested by Gary Kumfert <kumfert@llnl.gov>.
2006-03-20 20:40:07 +00:00
Ralf Wildenhues
a35265f704 * libltdl/m4/libtool.m4 (AC_PROG_SED): Do not forget to reset
IFS even in case of empty `$PATH'.
2006-03-17 04:20:17 +00:00
Ralf Wildenhues
3514d5f59b * libltdl/config/ltmain.m4sh (func_mode_link): Comment out the
code to remove uninstalled paths, as it is wrong here.  Change
the wrong shell quoting that kept it from "working" before.
* THANKS: Updated.
2006-03-16 20:47:54 +00:00
Ralf Wildenhues
d465ae7036 * libltdl/m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER)
[ freebsd, dragonfly ]: Fix 1.5.22 regression caused by too
strict $host_os match that stopped DragonFly from working.
* THANKS: Updated.
Reported by Jeremy C. Reed <reed@reedmedia.net>,
patch by Todd Vierling <tv@duh.org>.
2006-03-16 16:56:34 +00:00
Ralf Wildenhues
af7ada4155 * libltdl/config/ltmain.m4sh (startup): save all locale specific
environment, variables:, LANG, LANGUAGE, LC_ADDRESS, LC_ALL
LC_COLLATE, LC_CTYPE, LC_IDENTIFICATION, LC_MEASUREMENT,
LC_MESSAGES LC_MONETARY, LC_NAME, LC_NUMERIC, LC_PAPER,
LC_TELEPHONE, LC_TIME.
(func_mode_execute): Restore them.
2006-02-24 19:45:48 +00:00
Ralf Wildenhues
1cafea60ff * libltdl/config/getopt.m4sh (func_help): Substitute `$host'.
* libltdl/config/ltmain.m4sh (help message): Use $host not
@host_triplet@, as the `@..@' substitution is done at bootstrap
time already.
Reported by Julien Lecomte <julien@famille-lecomte.net>.
2006-02-15 09:33:47 +00:00
Ralf Wildenhues
f4cb10f1ba * libltdl/config/ltmain.m4sh (func_mode_link) [ linux ]:
PGI: for `reload_cmds', we not only need to get rid of `$wl',
but also turn comma into space so $LD understands
whole_archive_flag_spec correctly.
2006-02-13 17:02:28 +00:00
Ralf Wildenhues
cf53b3d95a * libltdl/config/ltmain.m4sh (func_mode_link) <shell wrapper>:
Add _AS_BOURNE_COMPATIBLE code from Autoconf, to fix issues
with zsh and other shells.
Reported by David Gómez Espinosa <david@pleyades.net>.
2006-02-13 16:51:50 +00:00
Ralf Wildenhues
bba62bd35b * libltdl/m4/libtool.m4 (AC_PROG_SED): m4_defun this rather
than AC_DEFUN, so that old aclocal does not pick this up.
2006-02-09 16:04:01 +00:00
Ralf Wildenhues
b4b9f408c0 * libltdl/config/ltmain.m4sh (extracted_archives)
(extracted_serial): New globals.
(func_extract_archives): Use them to rename extraction archives
for linking against multiple convenience libraries with the same
name.
* tests/duplicate_conv.at: New tests.
* Makefile.am: Adjusted.
Reported by Carlo Contavalli <ccontavalli@commedia.it>.
2006-02-05 11:06:31 +00:00
Ralf Wildenhues
7d94a98b90 * libltdl/config/ltmain.m4sh (func_mode_link) < test_compile >:
Fix a couple of instances where `test .. -ne ..' would possibly
compare non-numbers.  Clean up a bit.
2006-02-05 10:24:42 +00:00
Ralf Wildenhues
8d0a9a99da * libltdl/m4/libtool.m4 [ solaris ] (_LT_LINKER_SHLIBS)
(_LT_LANG_CXX_CONFIG) < whole_archive_flag_spec >:
Fix this once and for all, for both the SUN compiler suite
(cc/CC/f77/f90/f95) and GCC.
Reported by Yuri Pukhalsky <pooh@cryptopro.ru>.
2006-02-03 20:03:54 +00:00
Ralf Wildenhues
5e3fb346e5 * libltdl/config/ltmain.m4sh (func_mode_link): Fix logic for
adding run paths to also add paths for installed libtool
libraries in case `-static' is used.
2006-02-03 09:25:01 +00:00
Ralf Wildenhues
8bc6f72db2 * libltdl/config/ltmain.m4sh (func_mode_link): Fix matching
duplicate run path entries with the correct separator.
2006-01-30 20:20:54 +00:00
Ralf Wildenhues
88721edb92 * ChangeLog, HACKING, README, README.alpha,
libltdl/config/ltmain.m4sh:  Add vi(m) modelines, to match emacs
formatting variables.
2006-01-30 20:09:41 +00:00
Ralf Wildenhues
b794bc707a * Makefile.am, bootstrap, clcommit.m4sh,
libltdl/config/getopt.m4sh, libltdl/config/mailnotify.m4sh,
tests/sh.test, tests/testsuite.at: Bump copyright years.
2006-01-23 18:33:57 +00:00
Ralf Wildenhues
1d9ab46f1e * bootstrap: Don't use semicolons inside { } in sed scripts, as
Posix says it's not portable.
* Makefile.am (libltdl/Makefile.am): Likewise.
* libtoolize.m4sh (all over the map): Likewise.
* libltdl/config/getopt.m4sh (func_version, func_usage)
(func_help): Likewise.
* libltdl/config/ltmain.m4sh (func_win32_libid): Likewise.
* libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Likewise.
* clcommit.m4sh, libltdl/config/mailnotify.m4sh: Likewise.
* tests/sh.test, tests/testsuite.at (LT_AT_TAG): Likewise.
Noted by Paul Eggert <eggert@cs.ucla.edu>.
2006-01-21 16:44:41 +00:00
Ralf Wildenhues
488dce300f * libltdl/config/ltmain.m4sh (func_mode_compile): Also transform
`.obj' correctly.
Reported by George Bosilca <bosilca@cs.utk.edu>.
2006-01-21 08:56:43 +00:00
Ralf Wildenhues
03d1de542c * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC): Fix my forward port
error of last commit.
2006-01-13 10:07:33 +00:00