Commit Graph

10 Commits

Author SHA1 Message Date
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
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
3f8de2c2fc * NEWS: updated
* doc/PLATFORMS: updated
* changed my email address
1999-07-01 14:48:06 +00:00
Thomas Tanner
ea4730f0a8 *** empty log message *** 1999-01-06 21:04:20 +00:00
Thomas Tanner
48218d83e7 *** empty log message *** 1998-12-31 11:25:57 +00:00
Alexandre Oliva
07978fe161 * ltmain.in (-force-static, force_static): removed
* libltdl/Makefile.am (CFLAGS): ditto
	* libltdl/configure.in: check for memory.h, rindex() and
	dlpreopening.  Fixed NEED_USCORE caching policy.
	* libltdl/ltdl.h (lt_dlsym): make the name argument const
	* libltdl/ltdl.c (types): new variable: head of list of available
	dlopening mechanisms
	(lt_dltype_t): interface of a dlopening mechanism, with pointers
	to functions for init, exit, open, close and sym
	(lt_dlhandle_t): added pointer to interface type
	(strdup): don't name it strdup; it can be troublesome
	(strrchr): ditto; use rindex if available
	(LIBTOOL_STATIC): check HAVE_DLPREOPEN instead, and move to the
	end of the file, so that it becomes the header of the list
	(all): renamed all interface-implementation functions, to avoid
	name clashes, and created lt_dltype_t nodes for all of them
	(lt_dlinit): initialize all available interfaces; remove those
	that fail from the list.  Return failure only if no interfaces
	could be initialized.
	(lt_dlexit): return number of failures
	(tryall_dlopen): try to open the library with all available
	interfaces
	(lt_dlopen): use tryall_dlopen; increased size of fixed buffers.
	We should probably make these bound-checked or dynamically
	allocated for the final release!  Fix bug when filename did not
	contain slashes; should we check for `\\' too?  Try old_library if
	everything else fails.
	(lt_dlclose): use the interface type for closing
	(lt_dlsym): make `symbol' const, use interface type for looking up
	* mdemo/Makefile.am: moved mdemo/modules/* back into mdemo
	(SUBDIRS): removed
	(libfoo2_la_LDFLAGS): added -static; nice test.  However, since it
	causes -lm to linked into hell*, it causes tests that should fail
	to pass
	(noinst_HEADERS): no need to install foo.h
	* mdemo/configure.in: remove modules/Makefile
	tests/mdemo-exec.test: updated accordingly
1998-12-16 05:42:23 +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
e76ee47bce * NEWS: -module and libtldl
* mdemo/Makefile.am: ../libltdl is within $(srcdir)

	* libltdl, Makefile.am: added libltdl (a system independent
	dlopen wrapper library extracted from mdemo)
	* ltmain.in: added -module flag for compiling and linking of
	modules. If enabled it compiles always both .o (with -DLT_RENAME)
	and .lo files
	* mdemo: modified mdemo to work with libltdl
	* tests/ltdl*: added tests for libltdl
1998-11-18 07:29:36 +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