Commit Graph

1186 Commits

Author SHA1 Message Date
Alexandre Oliva
30462d439d Adjust docs 2000-05-14 08:24:37 +00:00
Alexandre Oliva
adfc90ef07 * libtool.m4 (AC_LIBLTDL_CONVENIENCE, AC_LIBLTDL_INSTALLABLE):
Pick LIBLTLD from top_builddir and INCLTDL from top_srcdir.
* mdemo/configure.in: Remove comments on
AC_LIBLTLD_CONVENIENCE.
2000-05-14 08:23:57 +00:00
Alexandre Oliva
4b409d0c8f * libtool.m4 (_AC_PROG_LIBTOOL): Renamed from...
(AC_PROG_LIBTOOL): Just AC_REQUIRE(_AC_PROG_LIBTOOL), to avoid
effects of multiple runs.
2000-05-14 08:07:16 +00:00
Thomas Tanner
264e859d07 * NEWS: update
* doc/libtool.texi (libltdl): rename lt_(find|next|add|remove)_dlloader
  to lt_dlloader_*
* libltdl/ltdl.c: ditto
* libltdl/ltdl.h: ditto, add declaration of lt_dlloader_(find|remove)
2000-05-11 15:17:27 +00:00
Pavel Roskin
94022a0210 * libltdl/ltdl.c: Typo. 2000-05-06 10:46:49 +00:00
Pavel Roskin
2b5012f4e7 * libtool.m4 (AC_LIBTOOL_SETUP): CVS autoconf no longer sets
target to "NONE", but to an empty string.
2000-05-06 10:24:27 +00:00
Paul Sokolovsky
c8eefcf574 * ltdl.c: support lt_dlopen(0) for win32 2000-05-05 02:31:48 +00:00
Thomas Tanner
ff61ea2971 * doc/libtool.texi (libltdl): fix typos,
INCLTDL starts with top_srcdir, replace NULL with @code{NULL}

* ltmain.in (ILD): search in newlib_search_path, too

* ltmain.in (ILD): fix bugs in conv pass, expand convenience
  libs to deplibs and link them later on

* ltmain.in (ILD): don't allow convenience libs to be
   -dlopen/preopen'ed

* ltmain.in (ILD): it's not required to link all deplibs
  in fast-install mode

* ltmain.in (ILD): if hardcode_into_libs=all, only relink
  a library if it is linked against uninstalled libtool libraries,
  rename link_against_libtool_libs to uninst_deplibs

* ltmain.in (ILD): tidy up, add some comments
2000-05-03 13:26:03 +00:00
John Wehle
5760fb410d * libtool.m4 (hpux10.20*): use file_magic for
inter-library dependency tracking.
2000-05-03 00:34:45 +00:00
Gary V. Vaughan
9ee8816abe * AUTHORS: Update my email address.
* commit: ditto.
2000-05-02 22:41:36 +00:00
Thomas Tanner
d604f0951b * NEWS: update
* libtool.m4: add AC_LIBTOOL_PICMODE
* ltconfig.in: move pic_mode checks to ltmain.in
* ltmain.in: add -prefer-pic and -prefer-non-pic
2000-04-10 18:39:30 +00:00
Alexandre Oliva
d642136ca5 * ltmain.in (tmpdir): Do not accept an existing directory, and
force its mode to 700, for security reasons.
Reported by Joseph S. Myers <jsm28@cam.ac.uk>
2000-03-29 06:48:06 +00:00
Thomas Tanner
508df1487b * NEWS: reformatting
* ltmain.in (ILD): add extra convenience library scanning pass

* ltmain.in (ILD): accept -R flags for libraries, too

* ltmain.in (ILD): correclty merge the dlpreopened libraries
  with deplibs

* ltmain.in (install mode): remove directories from filenames
  before relinking (reported by Elrond <Elrond@Wunder-Nett.org>)

* doc/libtool.texi (libltdl): rename Library -> Lesser,
  clarify exception clause
* libltdl/ltdl.c, libltdl.h (License): ditto
2000-03-26 23:01:20 +00:00
Alexandre Oliva
cd9b42e98d * ltconfig.in (variables_saved_for_relink): Set to `PATH
$shlibpath_var $runpath_var'.  If with_gcc, add gcc-related
environment variables.  Add it to the configuration section.
* ltmain.in (relink_command): Expand those variables.
2000-03-21 12:39:33 +00:00
Christopher A. Knight
5f70e132f4 * ltconfig.in: added main() definition in compile
check for header `dlfcn.h' to fix link errors
when built with Sun Workshop Pro CC 4.2 (and perhaps
others).
2000-03-14 20:22:42 +00:00
Gary V. Vaughan
e884b6d673 * libltdl/ltdl.c (lt_find_dlhandle): Deleted. This was B.S.
far cleaner to use lt_dlforeach and lt_dlgetinfo.
* libltdl/ltdl.h:  Prototype deleted.
* doc/libtool.texi: Documentation deleted.
* NEWS: annoncement deleted.
2000-02-24 02:15:35 +00:00
Thomas Tanner
ec4406e4ee * ltmain.in: remove duplicates from deplibs, handle
interdependent libraries (e.g. -la -lb -la),
  this requires adding deplibs in reverse order

* ltmain.in: link dlpreopened libraries before other libraries
  (reported by Pavel Roskin)
* mdemo/Makefile.am: build and link libsub.la
* mdemo/sub.c: new file used by both dlopened modules
* mdemo/foo*: use sub() defined in libsub
* tests/dryrun.test: build libsub.la

* mdemo/Makefile.am: always link mdemo.static with -static
* mdemo/configure.in: ditto

* ltmain.in: fix dlopen/dlpreopening of objects

* ltmain.in (ILD): fix misplaced `continue' in -R* argument handler

* ltmain.in: merge duplicated code of clean and uninstall mode

* libtool.m4: recognize powerpc*linux* (reported by
  Dirk A. Mueller <dmuell@gmx.net>)
2000-02-23 23:10:05 +00:00
Gary V. Vaughan
cd56065b08 * ltconfig.in (old_MAGIC, old_STRIP, old_reload_flag,
old_deplibs_check_method, old_file_magic_cmd):  New variabes.
Treat these as old_CC etc.
(STRIP, MAGIC): Create and set these variables in the generated
libtool script.
Reported by Pavel Roskin <pavel_rosin@geocities.com>
2000-02-23 01:47:14 +00:00
Gary V. Vaughan
43befcdf5a * configure.in: Due to a bug in autoconf-2.13 implementation of
AC_SUBST, `AC_SUBST(FILE)' can never work.  Use MAGIC as the
holder of the command to run in file_magic_cmd instead.
* ltconfig.in: s/FILE/MAGIC/g.
* libtool.m4 (AC_PROG_LIBTOOL): set MAGIC in the environment when
calling ltconfig.
(AC_PATH_MAGIC):  renamed from AC_PATH_FILE.
(AC_PATH_TOOL_PREFIX):  s/FILE/MAGIC/g.  Also set file_magic_cmd
to '${MAGIC}' so that make can grok it.
* Makefile.am (libtool):
(clibtool): ditto.
2000-02-22 23:35:52 +00:00
Gary V. Vaughan
65e997bb2c * libltdl/ltdl.c (lt_find_dlhandle): New function.
(tryall_dlopen): Use it.
* libltdl/ltdl.h:  Prototype it.
* doc/libtool.texi: Document it.
* NEWS: updated.
2000-02-21 22:27:24 +00:00
Gary V. Vaughan
b87267f513 * libltdl/ltdl.c (lt_remove_dlloader): typo, s/=/==/g. 2000-02-21 22:09:36 +00:00
Gary V. Vaughan
7b0532e642 * libltdl/ltdl.c (lt_dlinit): removed unused variable, `loader'. 2000-02-21 22:03:16 +00:00
Gary V. Vaughan
2ca76b52bd * libltdl/ltdl.h (lt_dlloader_data_t): New type for loader
instance data.
(lt_user_dlloader): New lt_dlloader_data_t field.
(lt_module_open_t): Add lt_dlloader_data_t parameter.
(lt_module_close_t): Add lt_dlloader_data_t parameter.
(lt_find_sym_t): Add lt_dlloader_data_t parameter.
(lt_dlloader_exit_t): Add lt_dlloader_data_t parameter.
* libltdl/ltdl.c:  A sprinkling of /*ARGSUSED*/ markers to
reassure lint that the unused arguments are intentional.
(lt_dlloader_t): New lt_dlloader_data_t field.
(lt_dlloader_data): New function to return the contents of the
dlloader_data field.
(sys_dl_open): Take an additional lt_dlloader_data_t argument.
(sys_dl_close): Ditto.
(sys_dl_sym): Ditto.
(sys_dl): Initialise lt_dlloader_data_t field.
(sys_shl_open, sys_shl_close, sys_shl_sym, sys_shl): As above.
(sys_wll_open, sys_wll_close, sys_wll_sym, sys_wll): As above.
(sys_bedl_open, sys_bedl_close, sys_bedl_sym, sys_bedl): As
above.
(sys_dld_open, sys_dld_close, sys_dld_sym, sys_dld): As above.
(presym_init, presym_exit, presym_open, presym_close, presym_sym,
presym): As above.
(lt_dlinit): Call presym_init with additional argument.
(lt_dlexit): Call dlloader_exit method with additional argument.
(tryall_dlopen): Call module_open method with additional argument.
(lt_dlclose): Call module_close method with additional argument.
(lt_dlsym): Call find_sym method with additional argument.
(lt_add_dlloader): Initialise dlloader_data field.
(lt_remove_dlloader): Call dlloader_exit method with additional
argument.
2000-02-07 18:17:21 +00:00
Gary V. Vaughan
9218f3bcc2 * libltdl/ltdl.c (find_file): Prevent early release of memory
in filename/*pdir.
From Jon Leichter <jon@symas.com>
2000-02-03 12:54:29 +00:00
Gary V. Vaughan
ade92ab63b (sys_wll_init): Deleted. No longer required. And this time,
with feeling!
(sys_wll_exit): Ditto.
2000-02-03 12:33:06 +00:00
Gary V. Vaughan
f802484346 * NEWS: updated.
* doc/libtool.texi (Libltdl interface): Moved user defined module
loader documentation from here...
(Module loaders for libltdl) ...to here, and updated the text and
added examples.
* ltdl.m4 (AC_CHECK_FUNCS): check strcmp for lt_find_dlloader.
* libltdl/ltdl.h: Reformatted and commented for readability.
(struct lt_user_dlloader): New data type for passing
initialisation pointers to lt_add_dlloader.
(LTDL_ERROR_INVALID_LOADER):  New error message when non loader
handles are passed to the user loader API.
(LTDL_ERROR_INIT_LOADER): New error when loader initialisation
fails.
(LTDL_ERROR_REMOVE_LOADER): New error when loader removal fails.
(lt_module_open_t): renamed from lt_lib_open_t.
(lt_module_close_t): renamed from lt_lib_close_t.
(lt_dlloader_exit_t): renamed from lt_dlloader_exit_t.
* libltdl/ltdl.c: Reordered builtin loaders so that the "dld"
loader no longer occurs before "dlopen" on some platforms and
after it on others.
(lt_dlloader_t): Moved here from ltdl.h, added a field,
"loader_name", for identifying the loader, and renamed from
lt_dltype_t.  Renamed type variables to loader IFF of type
lt_dlloader_t.
(lt_module_t): Renamed from lt_syshandle. Renamed handle variables
to module IFF of type lt_module_t.
(LTDL_TYPE_TOP): Deleted.  No longer required.
(sys_dl): Initialised as a struct lt_user_dlloader.
(sys_dl_init): Deleted.  No longer required.
(sys_dl_exit): Ditto.
(sys_shl): Initialised as a struct lt_user_dlloader.
(sys_shl_init): Deleted.  No longer required.
(sys_shl_exit): Ditto.
(sys_wll): Initialised as a struct lt_user_dlloader.
(sys_wll_init): Deleted.  No longer required.
(sys_wll_exit): Ditto.
(sys_bedl): Initialised as a struct lt_user_dlloader.
(sys_bedl_init): Deleted.  No longer required.
(sys_bedl_exit): Ditto.
(sys_dld): Initialised as a struct lt_user_dlloader.
(sys_dld_init): Deleted.  No longer required.
(sys_dld_exit): Ditto.
(sys_presym): Initialised as a struct lt_user_dlloader.
(lt_mod_init_t): Moved to here from ltdl.h.
(lt_dlinit): Add builtin loaders using the user loader API.
(lt_dlexit): Unregister and free all loaders.
(lt_add_dlloader): New function to add a new module loader after the
loader specified in the argument.
(lt_remove_dlloader): New function to remove a module loader.
(lt_next_dlloader): New function for iterating over module loaders.
(lt_dlloader_name): Accessor function for name of dlloader.
(lt_find_dlloader): New function to get a reference to a registered
module loader.
(strcmp): static implementation incase the host has none.
(lt_dlgettypes, lt_dlsettypes): Removed.
2000-02-02 22:43:14 +00:00
Thomas Tanner
112b7cb29f * libltdl/ltdl.c: replace NULL with 0, remove unused system
and app_private pointers from lt_dlhandle_t
* libltdl/ltdl.c (presym_add_list): new preloaded symbols
  don't need to be added to the end

* libltdl/ltdl.c (lt_dlgetdata, lt_dlsetdata): removed
* libltdl/ltdl.h: ditto
* doc/libtool.texi (libltdl interface): ditto
2000-02-02 10:05:42 +00:00
Thomas Tanner
c28f1af446 Inadvertently placed this in the HEAD branch. 2000-02-01 23:24:43 +00:00
Thomas Tanner
332942dd32 * ltmain.in: support -dlopen/dlpreopen for libraries
* NEWS: updated
* TODO: updated
* ltmain.in: rename dlopen to dlopen_support
* ltconfig.in: ditto
* doc/libtool.texi: ditto

* ltmain.in: check whether libraries are moved out of $libdir,
  replace .a and .lib with .$libext, .o and .obj with .$objext
2000-02-01 16:43:34 +00:00
Ossama Othman
aa7b778007 * configure.in (CONF_SUBDIRS): Added the `tagdemo' directory to
the list.
* ltcf-cxx.sh: Remove any residual `a.out' files resulting from
the "eval $output_verbose_link_cmds."
* ltconfig.in: Cleaned up nested quotes that were introduced with
the tags patch.  This fixes part sh.test failure.
* ltmain.in: Check if "$run" is of zero length before creating a
`.lo' file.  This fixes the dryrun.test failure.
Cleaned up nested quotes that were introduced with
the tags patch.  This fixes another part sh.test failure.
Remove "$libobj" not "libobj."
Exit with an error if both $object_name and $old_object are set to
"none" in the corresponding `.lo' file.  This should never happen.
Changed remaining uses of "mkdir" to "$mkdir."
Added dry run case to `.lo' case in link mode.  This fixes the
link-2.test failure.
(object_name, old_object): Prepend the subdirectory the `.lo'
resides in to the object names extracted from the `.lo' file.
This fixes the build-relink2.test failure.
(tempemovelist): Use $echo "X..." instead of echo "..." since
$Xsed is being used.  This fixes the last part of the sh.test
failure.
* tagdemo/Makefile.am, tagdemo/Makefile.in, tagdemo/README,
tagdemo/acinclude.m4, tagdemo/aclocal.m4, tagdemo/configure,
tagdemo/configure.in, tagdemo/foo.cpp, tagdemo/foo.h,
tagdemo/main.cpp, tests/tagdemo-conf.test tests/tagdemo-exec.test
tests/tagdemo-make.test tests/tagdemo-shared.test
tests/tagdemo-static.test: Added a new tagdemo that exercises
libtool's tagged configuration support found in the multilanguage
branch.
* tests/Makefile.am (TESTS): Added the tagdemo tests to the list.
* tests/quote.test: Updated to HEAD branch version.  This fixes
the quote.test failure.
2000-02-01 05:42:00 +00:00
Gary V. Vaughan
4d1f56497a * libltdl/ltdl.h (lt_dlrealloc): removed declaration.
* libltdl/ltdl.c (lt_dlrealloc): removed definition.
(lt_dladderror): Instead of calling lt_dlrealloc, use lt_dlmalloc,
and lt_dlfree.
2000-01-31 10:40:12 +00:00
Ossama Othman
f1f191549b * libtool.m4 (lt_cv_cc_needs_belf): Set the test language to C
prior to executing the test that checks if the C compiler needs
"-belf."
Reported by Chris Butler <chrisb@sandy.force9.co.uk>
2000-01-31 00:15:31 +00:00
Gary V. Vaughan
c49cc362a2 * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use changequote to
protect `[' and `]' in deplibs_check_method.
2000-01-28 23:28:57 +00:00
Gary V. Vaughan
e9898ee435 * libltdl/ltdl.h (lt_dlrealloc): Added declaration.
* libltdl/ltdl.c (lt_dlrealloc): Added default definition.
2000-01-28 14:26:40 +00:00
Gary V. Vaughan
fb77bf4dd6 * libltdl/ltdl.c (lt_dlseterror): Catch errorcodes below 0 as
invalid.
* libltdl/ltdl.h (LTDL_ERROR): Added missing '_' in K&R
definition.
2000-01-28 01:39:00 +00:00
Gary V. Vaughan
e5fbd005ca * libltdl/ltdl.h (ltdl_error_table): Added missing error code, and
fixed typo in another code.
* doc/libtool.texi (Libltdl interface): Added missing @end
clause.
2000-01-28 01:33:33 +00:00
Thomas Tanner
1873874379 * ltconfig.in: Oops, replace the remaining $objdir's
* ltmain.in: merge library linking code of programs and libraries,
  some cleanups
2000-01-27 20:33:40 +00:00
Gary V. Vaughan
c1f19d38df * NEWS: Updated.
* doc/libtool.texi (Libltdl interface): Document new entry
points.
* libltdl/ltdl.c (lt_dladderror): New function to add a user
defined error message to the tables used by lt_dlerror().
(lt_dlseterror):  New function to allow setting of last_error by
user modules.
(ltdl_error_strings): New preprocessor generated table of internal
error diagnostic strings.
(user_error_strings): New internal list of registered user error
diagnostic strings.
(throughout!): Use error messages from ltdl_error_strings.
* libltdl/ltdl.h (ltdl_error_table): New macro to tabulate
internal diagnostic error strings alongside enum keys.
2000-01-27 16:13:07 +00:00
Gary V. Vaughan
9e2159f458 * NEWS: Updated.
* doc/libtool.texi (Libltdl interface): Document new entry
points.
* libltdl/ltdl.c (lt_dltype_t):  Use new type definitions for
existing fields.
(lt_dladdtype): New function to add a new ltdl dynamic loader
type to the end of the list of valid types..
(lt_dlgettypes): New function to return the complete list of ltdl
dynamic loader types.
(lt_dlsettypes): New function to replace the list of ltdl dynamic
loader types entirely -- e.g. to prepend a new type to the
existing list.
(sys_dl_open, sys_dl_close, sys_dl_sym): Work with lt_syshandle..
(sys_shl_open, sys_shl_close, sys_shl_sym): ditto.
(sys_dld_open, sys_dld_close, sys_dld_sym): ditto.
(sys_wll_open, sys_wll_close, sys_wll_sym): ditto.
(sys_bedl_open, sys_bedl_close, sys_bedl_sym): ditto.
(presym_open, presym_close, presym_sym): ditto.
(tryall_dlopen): Call lt_lib_open_t functions lt_syshandle
compatibly.
(lt_dlclose): Call lt_lib_close_t functions lt_syshandle
compatibly.
(lt_dlsym): Call lt_find_sym_t functions lt_syshandle compatibly.
(lt_dltype_t): moved type declaration from here...
* libltdl/ltdl.h (lt_dltype_t): ...to here.
(lt_syshandle): new type for low level system handles passed by
loader functions
(lt_mod_init_t):  New type for functions implementing the
initialisation for an ltdl dynamic loader.
(lt_mod_exit_t): Type of exit functions for the same.
(lt_lib_open_t): Type of loader functions for the same.
(lt_lib_close_t): Type of unloader functions for the same.
(lt_find_sym_t): Type of symbol resolver functions for the same.
2000-01-27 15:14:34 +00:00
Gary V. Vaughan
f4993ae3b8 * libltdl/ltdl.c (sys_dl_init, sys_dl_exit, sys_dl_open,
sys_dl_close, sys_dl_sym):  Preprocess these away on cygwin to
avoid spurious error messages.
2000-01-27 15:07:49 +00:00
Thomas Tanner
58931da319 fix severe bugs reported by Elrond <Elrond@Wunder-Nett.org>
* ltconfig.in: replace $objdir with $output_objdir

* ltmain.in: change to the builddir before relinking programs

* ltmain.in, ltconfig.in, libtool.m4, ltdl.m4:
  remove unnessary spaces from line endings
2000-01-24 20:34:46 +00:00
Thomas Tanner
8683e2f1b4 * ltmain.in: rewrite of the ILD code, merge linking code for
programs, libraries and objects, allow linking of shared libraries
  against static libraries/objects on platforms that support it
  but print a warning, fix some typos

* partially revert my previous change and
  update only copyright notices of files that were actually modified

* NEWS: update

* libltdl/Makefile.am: version number was wrong

* libltdl/ltdl.c (tryall_dlopen): revert Gary's change
  since it breaks dlpreopening
* ltdl.m4: ditto

* libltdl/ltdl.c (sys_search_path): search in the system default
  library search path, too
* ltdl.m4 (AC_LTDL_SYSSEARCHPATH): extract the path

* libltdl/ltdl.c (find_module): remove bogus file_not_found_error

* libltdl/ltdl.c (load_deplibs): implement loading of dependency
  libraries
* libltdl/ltdl.c (unload_deplibs): implement unloading of dependency
  libraries
* libltdl/ltdl.c (lt_dlexit): correctly close all modules and
  their dependencies

* libltdl/ltdl.c (lt_dlforeach): new function
* libltdl/ltdl.h: ditto
* doc/libtool.texi (using libltdl): document it

* libtool.m4: reformatting, only add -I$topsrc_dir/libltdl to
  INCLTDL

* libtoolize.in: reformatting
* ltconfig.in: reformatting
* ltmain.in: reformatting

* mdemo/configure.in: AC_SUBST INCLTDL
* mdemo/Makefile.am: use INCLTDL

* tests/Makefile.am: reexport OBJEXT and EXEEXT
* tests/dryrun.test: use them for building main.obj and mdemo.exe
2000-01-19 20:34:37 +00:00
Gary V. Vaughan
f7c496a099 * libltdl/ltdl.c (tryall_dlopen): Abort with
file_not_found_error before trying all lib_open() methods
if the file to be dlopened doesn't exist.
* ltdl.m4 (AC_HAVE_HEADERS): add unistd.h.
2000-01-17 15:21:33 +00:00
Gary V. Vaughan
8697488d34 * libltdl/ltdl.c (find_file): memory error fixed. 2000-01-16 23:20:47 +00:00
Gary V. Vaughan
03ec2c483c * ltconfig.in (Usage): Now it matches the code!
Reported by Jon Leichter <jon@symas.com>
2000-01-14 23:44:52 +00:00
Gary V. Vaughan
4d84ee0176 * README: Some notes about libtool release numbers. 2000-01-14 23:40:20 +00:00
Gary V. Vaughan
e196a092e6 * mdemo/README: Explain the deliberate incompleteness of the
Windows port.
* mdemo/configure.in: Use AC_LIBTOOL_WIN32_DLL.
* mdemo/Makefile.am (LDFLAGS):  Add -no-undefined.
2000-01-14 13:50:21 +00:00
Gary V. Vaughan
d2223c3fbc * libltdl/ltdl.h (LTDL_STMT_START, LTDL_STMT_END): Macros for
wrapping other macros to make a portable compound statement from
multiple C statements in the expansion.
(LTDL_SET_PRELOADED_SYMBOLS): Use the above macros to add an
extern declaration for lt_preloaded_symbols, to remove
dependency on undefined symbol from libltdl.dll on cygwin (and
other -no-undefined architectures).
* libltdl/ltdl.c (lt_preloaded_symbols): No longer defined here.
2000-01-14 13:28:52 +00:00
Gary V. Vaughan
1eb294104b * libtool,m4 (AC_LIBTOOL_SETUP): The result of lt_cv_need_dllmain
was set to the opposite of what it should be.
* configure.in (AC_LIBTOOL_WIN32_DLL):  Call to this macro is
required for libtool configury to test lt_cv_need_dllmain on
Windows.
2000-01-14 12:14:41 +00:00
Gary V. Vaughan
7512aeb0c3 * ltconfig.in (opt_cr, mingw*): replace unescaped ? with correctly
escaped and portable {0,1} in sed expression.
2000-01-14 10:18:10 +00:00