Commit Graph

883 Commits

Author SHA1 Message Date
Gary V. Vaughan
0e072fa33e Move the echo detection code to a macro in libtool.m4. The code
at the top ofltconfig.in is ugly, but will go away when the rest
of ltconfig is migrated.

* Makefile.am (libtool):  Pass the value of $ECHO to ltconfig as
an environment variable.
* libtool.m4 (_LT_AC_PROG_ECHO_BACKSLASH): Quote the ECHO value
correctly so that it inserts the correct code into configure.in
suitably quoted for M4 expansion.  This code needs to be near
the top of configure.in as it calls itself recursively, so I
am using AC_DIVERSION_NOTICE (or simply NOTICE on CVS
Autoconf).  The value of ECHO is also substitued into the
Makefile to be used when Make calls ltconfig to generate
libtool, so another layer of quotation is required for the
Makefile.
(AC_LIBTOOL_SETUP):  Use it.
* ltconfig.in: Accept a value for ECHO from the environment, and
carefully substitue for $0 if it is present in the ECHO value.
Because ECHO was quoted for Make, when ltconfig is called by
configure, it is overquoted, and one layer of quotes must be
stripped.
2000-08-31 17:23:44 +00:00
Gary V. Vaughan
16b2680494 typo 2000-08-27 19:59:10 +00:00
Gary V. Vaughan
656d1ca824 * ltconfig.in (with_gcc): Make the value of this option
available to the generated libtool script.
* ltmain.in (compile_command, finalize_command):  The native C
and C++ compilers on IRIX require the -LANG:std in order to to
compile correctly.   The same options should _not_ be passed
through to gcc on IRIX, or at all on other architectures for
backwards compatibility (among others).
Reported by Bob Freisenhahn <bfreisen@simple.dallas.tx.us>
Reported by Albert Chin-A-Young <china@thewrittenword.com>
2000-08-27 10:50:23 +00:00
Gary V. Vaughan
476d780ec2 * ltconfig.in (old_reload_flag): typo. 2000-08-26 13:10:48 +00:00
Alexandre Oliva
94c658f565 * ltmain.in (shtool): Use echo|grep instead of expr, as in the
original patch.
2000-08-01 04:28:07 +00:00
Alexandre Oliva
e648974086 * ltconfig.in (need_lc): Fix test message. 2000-08-01 03:49:52 +00:00
Mocha
4b57ddf5e8 * ltconfig.in (NetBSD, deplibs_check_method): Use file_magic.
(NetBSD, file_magic_cmd, file_magic_test_file): Set.
2000-07-24 06:15:50 +00:00
Alexandre Oliva
b486b2ae8e * ltmain.in (irix, major): Prepend a `.'.
* ltconfig.in (irix, soname_spec, library_names_spec): Adjust.
2000-07-24 06:09:03 +00:00
Alexandre Oliva
073255d718 * ltmain.in: Support GNU shtool's install. 2000-07-24 05:42:55 +00:00
Alexandre Oliva
471594e90b * ltconfig.in (linkopts): Don't set for test. 2000-07-24 05:27:48 +00:00
Nick Hudson
bd5e08a98a typo 2000-07-24 05:21:09 +00:00
Nick Hudson
403f272e7a * ltconfig.in (linkopts): Replace with linker_flags. 2000-07-24 05:20:06 +00:00
Nick Hudson
a28c34c3ec * ltmain.in (ILD): Fix addition of deplibs in relink case. 2000-07-24 05:15:35 +00:00
H.J. Lu
7bc0e24c4f * ltconfig.in: Check if -lc is necessary for building shared
libary. Set build_libtool_need_lc to indicate it.
* ltmain.in: Add -lc when building shared libary only if
necessary.
2000-07-20 02:28:44 +00:00
Mo DeJong
53779eeb79 * libtool.m4 (AC_PROG_NM): Fix macro so that it
finds a cross NM on the PATH.
2000-07-10 09:42:21 +00:00
Ken Block
f523ce38f8 * libltdl/ltdl.h: Also check for __cplusplus, __STDC__ is not
by Compaq C++ compiler
2000-07-10 07:17:35 +00:00
Alexandre Oliva
cc72188443 * ltconfig.in (wlarc, netbsd, aout): Set to empty.
(hardcode_dynamic_flag_spec, export_dynamic_flag_spec): Use it.
2000-07-10 06:54:27 +00:00
Alexandre Oliva
6172e455b7 * ltconfig.in (dynamic_linker, linux, powerpc): Do not disable
shared libraries just because of MkLinux.
2000-07-10 06:42:34 +00:00
Alexandre Oliva
877cf82fdb * libtool.m4 (lt_cv_deplibs_check_method, freebsd): Do not depend
on $version_type; check for ELF support as in other BSDs.
2000-07-10 06:08:09 +00:00
Syd Polk
b33dc22671 * libtool.m4 (AC_LIBTOOL_SETUP): Do not generate a libtool based
on target; use host instead.
2000-06-18 02:59:36 +00:00
Gary V. Vaughan
0d160ac41a * ltconfig.in (ORIGINAL_CONFIG_SHELL): Prevent lossage when
the echo probing code falls into this branch without setting
this variable.
2000-05-30 00:37:48 +00:00
Gary V. Vaughan
7f87811e39 * ltconfig.in (netbsd*): archive_cmds and archive_expsym_cmds
were reversed with respect to definition of __ELF__.
From Keisuke Inoue <keisuke@csl.sony.co.jp>
2000-05-30 00:13:11 +00:00
Gary V. Vaughan
a2785e0c99 * libtool.m4 (netbsd*): Use -L option to file_magic_cmd as for
freebsd (below).
* libtool.m4 (netbsd ELF): support file_magic.
From Dan Winship <danw@helixcode.com>.
2000-05-29 18:02:07 +00:00
Steven M. Schultz
6aa20f59be * libtool.m4 (bsdi4*): Add -L option to bsdi4's file_magic_cmd
command.  Under BSD/OS 4.1 several libraries are now symlinks
rather than regular files.  Adding -L tells the file program
to follow the symlink.
2000-05-29 17:15:37 +00:00
Gary V. Vaughan
9e50af8b4e * libtool.m4 (i*86-*-freebsd*): Forgot to changequote(,). 2000-05-29 17:04:11 +00:00
Gary V. Vaughan
1d15e88e1e * NEWS: Updated.
* libtool.m4 (i*86-*-freebsd*): Support a.out shared libs.
From <suzukis@file.phys.tohoku.ac.jp>
2000-05-29 16:53:24 +00:00
Fred Fish
8300de4c54 Support AR=mwld AR_FLAGS='-xml -o' for PPC Beos:
* ltconfig (old_AR_FLAGS): Add.
(old_archive_cmds): Use AR_FLAGS rather than hardcoding "cru".
(archive_cmds): Use AR_FLAGS rather than hardcoding "cru".
(AR_FLAGS): Default to "cru" if not set.
2000-05-29 16:09:56 +00:00
Gary V. Vaughan
a728290bd8 * ltconfig.in (echo): The following code actually prints the
double quotes -- so I removed them:
    echo='printf "%sn"' $echo 't'
From Tuukka Toivonen <tutoivon@mail.student.oulu.fi>
2000-05-29 15:11:52 +00:00
Gary V. Vaughan
4dcd9e2feb * NEWS: Updated. 2000-05-29 14:29:51 +00:00
Bernhard Rosenkraenzer
1e230b6d59 * libtool.m4: adding ia64 as supported linux platform 2000-05-29 14:27:37 +00:00
Michael Matz
786438a679 * ltmain.in: fix quoting for $var_value. 2000-05-29 10:42:50 +00:00
Michael Matz
646badda1e * ltconfig.in: check for dlfcn.h: include return value
to make -Wall in CFLAGS work.
2000-05-29 09:48:54 +00:00
Gary V. Vaughan
a38d73ae96 * README-alpha: note new location of config.(guess|sub). 2000-05-27 02:33:56 +00:00
Chad Cunningham
718311d9b6 * ltconfig.in (rhapsody*): New Port.
* ltmain.in (rhapsody*): ditto.
2000-05-27 02:20:00 +00:00
Chris Lattner
552596338c * ltconfig.in (*-sequent-sysv4): New Port. 2000-05-27 01:36:26 +00:00
Gary V. Vaughan
5921dc77fc * ltmain.in: cygwin-1.1.0 and higher no longer grok backslash path
separators.
2000-05-17 10:20:26 +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
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
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
Gary V. Vaughan
f5933deba4 * libtool.m4 (AC_LIBLTDL_CONVENIENCE): Add -I${top_srcdir}/libltdl
to default INCLTDL for VPATH.
(AC_LIBLTDL_INSTALLABLE): ditto.
Reported by Tom Tromey <tromey@cygnus.com>
2000-01-13 00:52:59 +00:00
Thomas Tanner
47938d46eb * update all copyright notices to 2000
* doc/libtool.texi (using libltdl): document new lt_dlinfo struct,
  replace NULL with @code{NULL}, document lt_dlsetdata(),
  lt_dlgetdata() and lt_dlgetinfo()
* libltdl/Makefile.am: increment interface version number
* libltdl/configure.in: set version number to 1.1
* libltdl/ltdl.c: make some variables public by moving them
  to the info struct, add support for application specific data
  within module handles, new lt_dlsetdata(), lt_dlgetdata() and
  lt_dlgetinfo() functions,
  fix memory leaks, minor cleanups
* libltdl/ltdl.h: ditto
* mdemo/main.c: demonstrate use of lt_dlgetinfo,
  improved handling of errors

* ltconfig.in: set hardcode_into_libs = yes for GNU/Hurd, Linux
  and Solaris, only hardcode *all* run-paths if hardcode_into_libs
  is set to 'all', otherwise hardcode only user-specified rpaths
  into libraries
* ltmain.in: minor cleanups, we don't need to add user-specified
  rpaths to compile_rpath, finalize_rpath is sufficient

* ltconfig.in: transform linux* -> *linux-gnu* _after_ host_os has
  been set! (reported by Bruno Haible <haible@ilog.fr>)

* configure.in: AC_SUBST reload_flag, deplibs_check_method
  and file_magic_cmd

* README: use 'libtool --version' instead of 'ltconfig --version'
  (suggested by Francios Pinard <pinard@iro.umontreal.ca>
2000-01-13 00:28:09 +00:00
Gary V. Vaughan
397308770c * libltdl/ltdl.h (LTDL_DIRSEP_CHAR): Leave undefined when
not compiling for a Windows target.
* libltdl/ltdl.c (canonicalize_path): New function to
ensure internal paths use '/' directory separators.
(find_file): use canonicalize_path.  Memory management
changed to cope.
(lt_dlopen): ditto.
(free_vars): Removed `dir' and `name', which are now handled
internally.
2000-01-10 23:09:12 +00:00
Gary V. Vaughan
9cd1acc5b4 * libltdl/ltdl.h (LTDL_DIRSEP_CHAR): Define to '/' or '\',
as suitable for the target host.
(LTDL_PATHSEP_CHAR): Similarly with ':' or ';'.
* libltdl/ltdl.c: Use LTDL_DIRSEP_CHAR and LTDL_PATHSEP_CHAR
instead of hardcoding throughout.
Reported by Jon Leichter <jon@symas.com>
2000-01-10 15:40:25 +00:00
Alexandre Oliva
7856ba7351 * ltmain.in: Oops, largarg' -> lastarg'. 1999-12-18 08:27:41 +00:00
Alexandre Oliva
e99410754a * ltmain.in (-Wc, -Xcompiler): Implemented in compile mode. 1999-12-18 08:22:50 +00:00
Alexandre Oliva
30880b9095 * ltmain.in (-Xcompiler, -Xlinker): Add to compile_command and
finalize_command.
(-Wc, -Wl): Likewise.
* tests/quote.test: Adjust quoting style of -Wl.
1999-12-18 07:50:04 +00:00
Alexandre Oliva
8dda72d1fa * ltmain.in: Oops, echo' -> $echo'. 1999-12-18 07:09:44 +00:00
Alexandre Oliva
811327bc67 * ltmain.in (-Wl, -Wc): Make commas argument separators, just like
in gcc.
1999-12-18 07:02:40 +00:00
Alexandre Oliva
02772c8400 * ltmain.in (libtool_args): Get all arguments properly enclosed in
quotes and backslash-protected when needed.
1999-12-18 06:27:21 +00:00
Alexandre Oliva
a7a4a73302 * ltdl.m4: Renamed from...
* libltdl/ltdl.m4: that no longer exists.
* configure.in (ACINCLUDE_M4_LIST): Removed libltdl/acinclude.m4.
* Makefile.am (aclocal_macros): Added ltdl.m4.
(libltdl/acinclude.m4): Concatenate libtool.m4 and ltdl.m4.
* bootstrap: Likewise.
* libltdl/Makefile.am (ACLOCAL): Remove the definition.  Relying
upon -I may lead to duplicates.
* doc/libtool.texi: Suggest appending ltdl.m4 to acinclude.m4.
* libtoolize.in: Check AC_LIB_LTDL version number in aclocal.m4.
1999-12-16 11:40:16 +00:00
Alexandre Oliva
53ea12e82f * libltdl/configure.in (with_auxdir): Do not use it as the
argument of AC_CONFIG_AUX_DIR, automake requires a literal here.
Use AC_CONFIG_AUX_DIRS/DIR_DEFAULT instead.
1999-12-16 10:42:07 +00:00
Alexandre Oliva
f9f7b6ccf9 * libltdl/Makefile.am (ACLOCAL): Define with `-I .', as in
bootstrap.
1999-12-16 10:39:14 +00:00
Thomas Tanner
9cda34041b * libltdl/configure.in: path to auxiliary files can be specified
using --with-auxdir (idea by Howard Chu <hyc@highlandsun.com>)

* ltmain.in: don't remove multiple occurences from dependency_libs
  of a library, otherwise many dependencies would get lost

* bootstrap: use "aclocal -I ." instead of adding the contents
  of ltdl.m4 to acinclude.m4
1999-12-15 13:35:21 +00:00
Gary V. Vaughan
afe514df6a * NEWS: updated.
* libltdl/Makefile.am: Use -no-undefined for dll compliance.
* libltdl/configure.in: Use AC_LIBTOOL_WIN32_DLL for dll
compliance.
* libltdl/ltdl.c: Define and use LTDL_GLOBAL_DATA to correctly
export global data symbols from libtldl.dll.
* libltdl/ltdl.h: Define and use LTDL_SCOPE to declare data
symbols as dllexport, dllimport or plain ornary extern depending
in the context in which it is used.
1999-12-13 16:34:18 +00:00
Gary V. Vaughan
b94899573d * doc/libtool.texi (Distributing libltdl): document use of
ltdl.m4.
* libltdl/configure.in: Removed header checks, as they are
* libltdl/ltdl.m4: Added header checks from configure.in, so that
AC_LIB_LTDL is sufficient to compile ltdl.c.
Reported by Stephan Kulow <coolo@kde.org>.
1999-12-13 13:44:29 +00:00
Gary V. Vaughan
9b9bf0b391 * ltconfig.in (ltdll_obj): fixed typo: objdir -> $objdir 1999-12-13 12:54:24 +00:00