Commit Graph

76 Commits

Author SHA1 Message Date
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
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
Thomas Tanner
17e3fe3947 * demo/foo.h: use LT_PARAMS instead of LTDL_PARAMS (this is not libltdl)
* tests/build-relink.test: also check for hardcode_into_libs = yes,
  if set, we need to relink at install-time
1999-06-30 12:50:59 +00:00
Gary V. Vaughan
d6bb5e77a0 * demo/foo.h: s/PARAMS/LTDL_PARAMS/g
* libltdl/ltdl.h: ditto.
* libltdl/ltdl.c: ditto.
1999-05-21 11:47:21 +00:00
Gary V. Vaughan
5d50500ea7 * demo/foo.h: s/__P/PARAMS/g
* libltdl/ltdl.h: ditto.
* libltdl/ltdl.c: ditto.
Reported by Akim Demaille <demaille@inf.enst.fr>
1999-05-21 11:29:45 +00:00
Gary V. Vaughan
8952359876 * demo/foo.h: Don't set any declspecs until we have full dlli
support.
1999-05-17 13:30:44 +00:00
Alexandre Oliva
bae6856cd0 * demo/Makefile.am (hc-direct, hc-libflag, hc-libpath, hc-minusl):
Added CFLAGS to link commands; SCO OSR needs it for -belf.
1999-04-25 08:35:32 +00:00
Thomas Tanner
6a32e6ad3c removed run.test 1999-04-05 10:21:40 +00:00
Thomas Tanner
2706767e2c * demo/run.test: removed the unnecessary test
* demo/Makefile.am: ditto
* ltmain.in: set the DLL search path on cygwin,mingw and os2
1999-04-05 10:20:57 +00:00
Alexandre Oliva
c35bfe6de4 * demo/Makefile.am (CLEANFILES): clean EXTRA_* from deplibs-check 1999-04-02 08:18:10 +00:00
Thomas Tanner
b6eed25814 * demo/Makefile.am: moved testsuite specific declarations to the end,
the deplibs check is now optional
* libltdl/configure.in: read libtool --config only once,
  merged AC_SYS_SYMBOL_UNDERSCORE+AC_SYS_NM_PARSE from libtool.m4
* libtool.m4: AC_SYS_SYMBOL_UNDERSCORE+AC_SYS_NM_PARSE were not
  used, lt_dlopen and silent may be empty, AC_SYS_LIBTOOL_CYGWIN
  no longer necessary
* ltconfig.in: NM is already checked in libtool.m4,
* ltmain.in: always link all static dependency_libs
* tests/Makefile.am: added deplibs.test
* tests/demo-exec.test, demo-inst.test: removed hell0
* tests/deplibs.test: new test to test the deplibs_check_method
1999-04-01 15:34:13 +00:00
Thomas Tanner
3e89f4c492 * doc/libtool.texi: fixed a typo
* libtoolize.in: add the libtool scripts to libltdl.tar.gz
* libtool.m4: don't AC_SUBST(USE_SYMBOL_UNDERSCORE),
  AC_CHECK_LIBM sets LIBM, AC_LIBLTDL_INSTALLABLE doesn't work
  when libltdl is already installed
* *demo/Makefile.am: use LIBM
* *demo/configure.in: AC_SUBST LIBM
* libltdl/configure.in: use ac_cv_sys_symbol_underscore instead of
  USE_SYMBOL_UNDERSCORE
* ltconfig.in: added link_all_deplibs variable
* doc/libtool.texi: document it
* ltmain.in: always search for libname.la - don't eval libname_spec,
  when linking libraries against static ones just print a warning
  and add them to dependency_libs, add -lc before deplibs,
  always link all dependencies of a static library or if
  link_all_deplibs is yes, hardcode library paths if
  hardcode_into_libs is no, don't link against dependency_libs
  that already are deplibs
1999-03-30 19:22:41 +00:00
Alexandre Oliva
02f26dc09c * demo/Makefile.am: create a static library, link two libtool
archives with it, then link the program hell0 with both
* demo/hell1.c, demo/hell2.c: dummy files used to create the
libtool archives without introducing symbol conflicts
* tests/demo-exec.test, tests/demo-inst.test: run the new program
* ltconfig.in (irix5*, irix6*, deplibs_check_method): pass_all
1999-03-26 00:08:49 +00:00
Thomas Tanner
e65f46d3fc * use the same header in all configure.in's and Makefile.am's
* NEWS: improved support for BeOS and Cygwin
* TODO: ILD branch was merged, all internal variables and macros
  are now documented
* demo/Makefile.am: use $(LIBS) instead of -lm
* doc/libtool.texi: documented new variable hardcode_into_libs
  and thread_safe_flag_spec, renamed all AM_ENABLE/DISABLE_* macros
  to AC_*, documented AC_DISABLE_FAST_INSTALL and AC_LIBTOOL_DLOPEN
* libltdl/ltdl.c: added two new error messages (cannot_open_error,
  cannot_close_error), use them where approriate,
  BeOS support (thanks to Xavier Pianet), on BeOS search modules
  additionally in ADDON_PATH
* libtool.m4: rewrote AC_CHECK_LIBM: BeOS and Cygwin don't have
  libm and *-ncr-sysv4.3* requires libmw
* ltconfig.in: don't check for LoadLibrary, hardcode dlopen
  configuration for BeOS and Cygwin
* ltmain.in: fix sourcing of .la files on Solaris
  (patch by Raja R Harinath)
1999-03-20 00:27:33 +00:00
Alexandre Oliva
339498a9de * demo/Makefile.am (hc-direct, hc-libpath, hc-minusL): link with
$$hardcode_libdir_flag_spec, if available, with libdir=$(libdir),
to make sure the hardcode_* variables will produce the expected
results even in the presence of a hardcoding flag; depend on
libhello.la having been installed already
(hc-libflag): link with the installed library, but try to
hard-code the uninstalled one
* doc/libtool.texi: document the changes
1999-03-19 18:43:32 +00:00
Alexandre Oliva
030c6635a0 s/debug/static/ 1999-03-17 06:53:36 +00:00
Alexandre Oliva
61b5e233b4 added acinclude.m4 1999-03-14 05:43:03 +00:00
Alexandre Oliva
c7c23418fd * */configure.in: AC_SUBST(LIBTOOL_DEPS)
* */Makefile.am $(OBJECTS): depend on libtool
(libtool): rebuild automatically
1999-03-11 21:28:36 +00:00
Alexandre Oliva
879334df88 typo 1999-03-07 22:02:47 +00:00
Thomas Tanner
d71a558fe0 * TODO: scheduled some items for next release/future
* demo/configure.in: use AC_LIBTOOL_DLOPEN
* libtool.m4: added AC_ENABLE/DISABLE_FAST_INSTALL macro
* ltconfig.in: added --disable-fast-install flag
* ltmain.in: partially reverted Alexandre's patch and implemented
  on-demand linking in such a way that the old developer-friendly
  linking style is optional,
  don't hardcode library paths that are in the system search path,
  fixed a typo in lib_search_path,
  implemented -export-symbols-regex for programs
1999-03-07 15:27:23 +00:00
Gary V. Vaughan
b5f5cb9c41 * demo/dlmain.c (_WIN32): The lt_symlist structure is now const,
so my original horrible temporary win32 hack no longer worked.
Here is a new horrible temporary hack to prevent helldl from SEGVing
on win32.  I will fix this properly when we figure out how to do
data exports from dlls.
1999-02-15 14:23:02 +00:00
Alexandre Oliva
2e6d9dc7a7 * libtool.m4 (AC_CHECK_LIBM): do not set MATHLIB or AC_SUBST it,
this has a negative side-effect of causing automake to add MATHLIB
to every single Makefile.  Let's use plain AC_CHECK_LIB, so that
LIBS get set, until we find a better alternative
* *demo/Makefile.am: remove $(MATHLIB)
1999-02-14 03:04:51 +00:00
Thomas Tanner
6d34bd85f0 * *demo/Makefile.am: use $(MATHLIB)
* *demo/configure.in: use AC_CHECK_LIBM
* doc/libtool.texi: renamed file_magic_command to file_magic_cmd,
  renamed archive_sym_cmds to archive_expsym_cmds
* ltconfig.in: ditto
* ltmain.in: ditto
* libltdl/ltdl.c: use lt_dlmalloc/free
* libltdl/ltdl.h: define lt_dlmalloc/free
* libtool.m4: added AC_CHECK_LIBM macro
* ltconfig.in: renamed archive_sym_cmds to archive_expsym_cmds,
  added always_export_symbols, export_symbols_cmd, exclude_expsyms,
  include_expsyms, removed archive_cmds for cygwin/mingw and AIX,
  on Solaris store the exported symbols list in objdir
* ltmain.in: allow -export-symbols for modules, use thread_safe flag,
  add include_expsyms to the exported symbols
1999-02-13 15:43:04 +00:00
Thomas Tanner
17915a088c * autogen: libltdl needs autoheader
* demo/Makefile.am: renamed hell.debug to hell.static
  (we're demonstrating static linking, not debugging)
* tests/demo*: ditto
* doc/libtool.texi (libltdl): documented new lt_dlopen(NULL)
  feature
* libltdl/acconfig.h: required for config.h
* libltdl/configure.in: use config.h
* libltdl/ltdl.c: use config.h, support lt_dlopen(NULL)
  (returns a handle for the program itself)
* ltconfig.in: minor reformatting
* ltmain.in: in lt_preloaded_symbols always define
  the program's symbols first, for -export-dynamic list all
  program symbols together, -export-symbols was broken for
  programs, minor reformatting
* mdemo/Makefile.am: renamed mdemo.debug to mdemo.static
* tests/mdemo*: ditto, mdemo.test was completely broken
1999-02-11 23:48:25 +00:00
Alexandre Oliva
ad4654e94a * libltdl/configure.in (AC_PROG_LIBTOOL): automake does not
recognize it and fail, better keep using AM_PROG_LIBTOOL until the
next release of automake
* demo/configure.in, cdemo/configure.in: ditto
* depdemo/configure.in, mdemo/configure.in: ditto
1999-01-27 05:36:49 +00:00
Thomas Tanner
a5f6b87d4a * cdemo/configure.in: renamed AM_PROG_LIBTOOL to AC_PROG_LIBTOOL
* demo/configure.in: likewise
* depdemo/configure.in: likewise
* libltdl/configure.in: likewise
* mdemo/configure.in: likewise
* libltdl/ltdl.c: in find_module() check whether libdir is defined,
  tryall_dlopen(): move deallocation of an already opened handle
  to lt_dlopen(), allocate the directory in lt_dlopen() dynamically,
  minor cleanups, fixed memory leak (name)
* libtool.m4: renamed all AM_ macros to AC_ and added aliases for
  compatibilty, updated AC_SYS_NM_PARSE (no undefined symbols,
  don't count the symbols)
* ltconfig.in: added thread_safe_flag_spec (not used yet),
  added generic variable for linker options "linkopts" in
  all archive_cmds
* ltmain.in: added -thread-safe flag (unused)
1999-01-27 00:49:06 +00:00
Alexandre Oliva
340552894a * demo/configure.in, demo/Makefile.am (DLPREOPEN): reverted; it
didn't make any difference.
1999-01-22 06:37:26 +00:00
Alexandre Oliva
0506cf492e * demo/configure.in: set DLPREOPEN to -dlopen if we don't have
shared libraries
* demo/Makefile.am (DLPREOPEN): use instead of -dlpreopen
(STATIC): use $(STATIC), not @STATIC@
* mdemo/Makefile.am (STATIC): ditto
* demo/Makefile.am, mdemo/Makefile.am (STATIC): do not use
1999-01-21 04:09:39 +00:00
Alexandre Oliva
72abadcd76 * tests/demo-shared.test, tests/demo-static.test: new tests
* tests/mdemo-shared.test, tests/mdemo-static.test: ditto
* tests/Makefile.am: ditto
* doc/libtool.texi: document them
* demo/Makefile.am, mdemo/Makefile.am (@STATIC@): do not use
-static unconditionally, it can't work with --disable-static
* demo/configure.in, mdemo/configure.in: check whether libtool was
configured to build static libraries and, if not, set STATIC to an
empty string
1999-01-21 03:50:07 +00:00
Alexandre Oliva
79089aad81 * demo/dlmain.c (main): cast s->address to the appropriate pointer
types, otherwise StunOS4's cc refuses to compile it
1999-01-20 18:06:47 +00:00
Alexandre Oliva
ca91b60c01 * demo/dlmain.c (main): add missing const to declaration of name 1999-01-20 17:05:29 +00:00
Alexandre Oliva
3770203057 * demo/configure.in (AC_C_CONST): added, for portability
* mdemo/configure.in (AC_C_CONST): ditto
	* libltdl/configure.in (AC_C_CONST, AC_C_INLINE): ditto
	* libltdl/ltdl.c (LTDL_FILENAME_MAX): use FILENAME_MAX if defined
	(FILENAME_MAX): replace all explicit uses with LTDL_FILENAME_MAX
	(presym_free_symlists, trim): don't return void, for portability
	(lt_dlgetsearchpath): replace (void) with __P((void))
1999-01-20 13:01:27 +00:00
Thomas Tanner
94cfa949e2 *** empty log message *** 1999-01-13 21:39:14 +00:00
Thomas Tanner
2a246ffc0d *** empty log message *** 1999-01-09 09:51:44 +00:00
Thomas Tanner
48218d83e7 *** empty log message *** 1998-12-31 11:25:57 +00:00
Gary V. Vaughan
7fe8f5c785 misc win32 cleanups 1998-12-21 13:04:14 +00:00
Alexandre Oliva
8ed98c1580 * Makefile.am (cvs-dist): our release tags are in lower case
(cvs-diff): ditto
	(EXTRA_DIST): added README-alpha
	(DIST_SUBDIRS): added depdemo
	* README-alpha: minor adaptations
	* demo/Makefile.am, mdemo/Makefile.am, depdemo/Makefile.am:
	removed comment about special needs for distribution
	* depdemo/Makefile.am: don't generate dependencies
	* depdemo/configure.in: modified version number
1998-12-16 06:22:02 +00:00
Alexandre Oliva
508ebd073c * demo/configure.in (BINARY_HELLDL): test whether dlopen is
supported at configure time
	* demo/Makefile.am (helldl): use automake conditionals to build
	helldl as a script or as a binary program
1998-12-16 02:36:20 +00:00
Gary V. Vaughan
efbf1218c5 Test for leading underscore on compiled symbols at configure time.
Use the results of that test in the demo program.
1998-12-01 18:24:08 +00:00
Alexandre Oliva
d4326213cb * mdemo/Makefile.am (hell_debug_LDFLAGS): -dlpreopen -> -dlopen
(hell_LDFLAGS): added -export-dynamic and -dlopen
	(SUBDIRS, INCLUDES): added modules directory
	(foo1.c, foo2.c, foo.h, libfoo1.sym, libfoo2.sym): moved to modules
	* Makefile.am: ditto
	* tests/mdemo-exec.test, tests/mdemo-inst.test: libraries moved
	* mdemo/modules/Makefile.am: new file

	* */Makefile.am (AUTOMAKE_OPTIONS): added no-dependencies
1998-11-19 22:53:40 +00:00
Alexandre Oliva
8c1f97e1be 1998-11-04 Alexandre Oliva <oliva@dcc.unicamp.br>
* ltconfig.in, ltmain.in: updated and fixed the patches below

1998-11-04  Thomas Tanner  <tanner@gmx.de>

	* mdemo/*: added new demo to demonstrate building of dlopenend
	modules
	* tests/Makefile.am, tests/mdemo*: added some tests for mdemo

1998-11-04  Gary V. Vaughan  <gvaughan@oranda.demon.co.uk>

	* demo/configure.in: added AC_EXEEXT macro so that the tests can
 	work on cywin32/mingw32 hosts.  This requires the current CVS
 	autoconf

1998-11-04  Thomas Tanner  <tanner@gmx.de>

	* ltmain.in: New flag -export-symbols; new dlpreopen system
	* demo/dlmain.c: removed dld_preloaded_symbol_count

1998-11-04  Ian Lance Taylor  <ian@cygnus.com>

	* ltmain.in: On installation, don't get confused if the same name
	appears more than once in the list of library names.

1998-11-04  Ian Lance Taylor  <ian@cygnus.com>

	* ltconfig.in: Add objext and libext variables.  Check for object
	suffix.  Check for mingw32* as well as cygwin32*.  Use objext when
	testing compiler.  Add support for Visual C++ on cygwin32 when not
	using gcc.  Add objext, libext, and fix_srcfile_path to generated
	libtool script.
	* ltmain.in: Use .${objext} rather than .o.  Use fix_srcfile_path
	if it is set.  Check for .obj as well as for .o, and for .lib as
	well as for .a.  Use .${libext} rather than .a when creating old
	libraries.
	* libtoolize.in: Change initial /bin/sh to @SHELL@.
	* libtool.m4 (AM_PROG_LIBTOOL): Add AC_REQUIRE for
	AC_CANONICAL_BUILD, so that autoconf doesn't get mixed up by the
	AC_REQUIRE in AC_CHECK_TOOL.

1998-11-04  Ian Lance Taylor  <ian@cygnus.com>

	* ltconfig.in: Look in the right directory for libtool.c in
	archive_cmds for cygwin32.

1998-11-04  Ian Lance Taylor  <ian@cygnus.com>

	* ltconfig.in: Fix cygwin32 support to avoid using a double
	extension, to delete the def file, to set version_type to windows,
	and to include versuffix in the DLL name.
	* ltmain.in: Add support for a version_type of windows.

1998-11-04  Ian Lance Taylor  <ian@cygnus.com>

	* ltconfig.in: Add cygwin32 support.
	* libtool.m4 (AM_PROG_LIBTOOL): Call AM_SYS_LIBTOOL_CYGWIN32 on a
	cygwin32 host.  Pass DLLTOOL and AS to ltconfig.
	(AM_SYS_LIBTOOL_CYGWIN32): New macro.
1998-11-04 09:43:29 +00:00
Gordon Matzigkeit
b75bc47f18 * demo/Makefile.am (hc-libpath): Use parameters from the libtool
in the top build directory, since the one in the demo directory is
	not guaranteed to exist.
1998-10-31 02:11:47 +00:00
Alexandre Oliva
a8dfb4cd83 * demo/Makefile.am (objdir): there are no longer quotes around
objdir in the libtool script
1998-10-28 01:09:15 +00:00
Gordon Matzigkeit
abbbed1983 Minor cosmetic fixe and CVS administrivia.
CVS:
CVS:
1998-10-27 16:09:56 +00:00
Gordon Matzigkeit
e09bc90b14 delete irrelevant files 1998-10-19 20:36:31 +00:00
Gordon Matzigkeit
831a978fa1 *** empty log message *** 1998-02-12 05:45:15 +00:00
Gordon Matzigkeit
3c533f8fe9 *** empty log message *** 1998-01-25 19:35:11 +00:00
Gordon Matzigkeit
44664c0734 *** empty log message *** 1997-11-06 16:59:31 +00:00
Gordon Matzigkeit
8c548bdd7f *** empty log message *** 1997-10-22 05:00:03 +00:00
Gordon Matzigkeit
976a17a76d *** empty log message *** 1997-10-19 18:53:23 +00:00