Commit Graph

40 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
cbc1402596 * NEWS, TODO: updated (pic flags)
* libtool.m4 (AC_PROG_LIBTOOL): added --with-pic flag
* ltconfig.in: new pic_mode variable and --prefer[-non]-pic flags,
  fixed the strip check (reported by Keith Bostic <bostic@bostic.com>)
* ltmain.in (compile mode): build only PIC/non-PIC code depending
  on pic_mode
* libltdl/README: document the supported dlopen interfaces
* doc/libtool.texi (tests): documented new tests
* tests/Makefile.am: added new tests
* tests/demo-pic.test: new test to test --with-pic
* tests/demo-nopic.test: new test to test --without-pic
* tests/build-relink2.test: variant of build-relink.test that
  uses depdemo
1999-07-17 09:00:53 +00:00
Alexandre Oliva
5168badef7 * tests/dryrun.test: The constant modifications of libtool would
cause main.o to be updated at the wrong time; the new approach is
to modify the libtool script so that it enables dry run depending
on whether an environment variable is set or not.  I've also moved
`after' and `before' to a directory deep within $objdir, instead
of creating it in ../tests.
* tests/Makefile.am (CLEANFILES): Removed.
1999-04-07 06:02:12 +00:00
Alexandre Oliva
9d03aa6fc1 * tests/dryrun.test: We cannot rely on setting LIBTOOL, because
automake may use sub-makes, and the setting will not be propagated
to them on some makes.  Instead, create a dry version of libtool
and switch between it and the original one before and after dry
runs.
* tests/Makefile.am (CLEANFILES): Added libtool-*, created by
dryrun.test.
1999-04-07 00:33:43 +00:00
Alexandre Oliva
1d53527eb7 * tests/dryrun.test: Use cmp instead of diff.
(before, after): Create them within ../tests.
(libtool): Set to `/bin/sh ./libtool' by default, but use LIBTOOL,
SHELL and top_builddir from the environment if available.  For dry
runs, use "$libtool -n".
* tests/Makefile.am (CLEANFILES): Added before and after.
* ltmain.in: Do not create links to object files in dry runs.
1999-04-06 23:55:04 +00:00
Thomas Tanner
cdf5a93630 * doc/libtool.texi: reorder tests to reflect execution order,
documented dryrun.test and depdemo*
* ltmain.in (lt_preloaded_symbols): dry-run mode bugfix
* tests/dryrun.test: new test to check whether the dry-run
  mode works properly
1999-04-05 12:32:21 +00:00
Alexandre Oliva
d05274cd86 * libtool.m4 (LDFLAGS, LIBS): pass them to ltconfig, for the tests
that involve linking
* Makefile.am (LDFLAGS, LIBS, libtool, clibtool): ditto
* tests/Makefile.am (CFLAGS, CPPFLAGS, LDFLAGS, LIBS): set
(LDFLAGS, LIBS, TESTS_ENVIRONMENT): pass them down
1999-04-02 06:22: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
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
72a4710566 * tests/noinst-link.test: new test
* tests/Makefile.am (TESTS): added noinst-link.test
* doc/libtool.texi: document it
1999-03-19 16:54:29 +00:00
Thomas Tanner
64d9b880c5 * merged my inter-library dependencies code from the ILD branch:
* NEWS: inter-library dependencies are now supported
* configure.in: add the depdemo subdirectory
* depdemo/*: new demo to demonstrate inter-library dependencies
* tests/depdemo*: new tests for depdemo
* ltconfig.in: added hardcode_into_libs (whether library paths
  should be hardcoded into the libraries),
  it currently defaults to 'no'
* ltmain.in: new internal 'relink' mode to relink libraries
  on platforms with hardcode_into_libs=yes, save command line
  arguments in libtool_args, accept relative -L directories,
  ignore -lm on BeOS and Cygwin, always ignore -lc,
  handle -l, -L and .la arguments later, always make the library
  installation directory (-rpath) absolute, in relink mode don't
  delete the not-relinked library and exit immediately after relinking,
  try to find already-installed libtool libraries that were specified
  using -l, support hardcoding of library paths into libraries too,
  export shlibpath before linking libraries, and a lot of other
  big changes that I don't want to describe here... please read
  the source.

* merged Gary's Win32 code from the ILD branch:
* NEWS: Win32 DLLs are now supported
* TODO: removed .a library namespace clash for win32.  It is
  now resolved.
* ltconfig.in (cygwin, library_names_spec):  removed $libname.a.
  Creating a dll with libtool no longer creates an import library.
* ltconfig.in (extract_expsyms_cmds): Create $objdir if it does
  not exist -- i.e. we need to generate import an import library
  in a directory which has no libs of its own.
* doc/libtool.texi (old_archive_from_expsyms_cmds,
  extract_expsyms_cmds): documented these new variables.
* ltconfig.in (extract_expsyms_cmds): New variable.  Commands to
  extract the exported symbol list from a dll.
  (old_archive_from_expsyms_cmds): New variable.  Commands to build
  an old archive from the extracted expsyms list.
* ltmain.in: run the cmds in extract_expsyms_cmds and
  old_archive_from_expsyms_cmds as necessary.
* ltconfig.in (cygwin, old_archive_from_new_cmds): no longer
  required.
* ltconfig.in (cygwin, shlibpath_overrides_runpath): I'm not even
  sure whether win32 honours the runpath at all when searching for
  a dll to load!  Anyway, when set to yes this prevents a gratuitous
  warning.
* ltmain.in (deplib): The cygwin environment doesn't actually have
  -lm, and although the linker fakes having one, specifiying it to
  libtool will break ILD, so we ignore it when generating
  dependencies.
1999-03-18 21:57:08 +00:00
Thomas Tanner
d3d99595b1 started new ChangeLog 1999-03-16 16:54:48 +00:00
Alexandre Oliva
3a297fa7b3 * tests/Makefile.am (TESTS): run demo-nofast before demo-shared 1999-03-10 18:28:49 +00:00
Thomas Tanner
0984f95203 * TODO: updated (libltdl build problem fixed)
* doc/libtool.texi (libltdl interface): removed the line which
  promised that lt_dlopen will return NULL if it can't resolve all
  symbols
* libltdl/Makefile.am, libltdl/configure.in: fixed build problem:
  renamed the convenience library to libltdlc.la and the
  installed version to libltdl.la
* ltmain.in (wrapper script): replaced the "T" suffix of the program
  file name with a "lt-" prefix
* mdemo/Makefile.am: use libltdlc.la
* tests/Makefile.am, tests/demo-nofast.test: added demo to
  test --enable-fast-install=no
1999-03-08 15:56:45 +00:00
Alexandre Oliva
c90722e577 * tests/Makefile.am (TESTS): run hardcode before build-relink
trashes libhello.la
* tests/hardcode.test (need_prefix): set to yes so that _inst is
not removed
1999-03-07 23:45:22 +00:00
Alexandre Oliva
592c5783b7 * tests/build-relink.test: new; check shlibpath_overrides_runpath
* tests/Makefile.am (TESTS): add build-relink.test; remove
hardcode.test duplicates
* doc/libtool.texi: document it
1999-03-07 23:28:05 +00:00
Thomas Tanner
05ba011011 * doc/libtool.texi (libltdl): list supported dlopen mechanisms,
added function lt_dlopenext(), removed reference to
  LTDL_PRELOADED_SYMBOLS in LTDL_SET_PRELOADED_SYMBOLS
* libltdl/ltdl.c: partially reverted Alexandre's dynamic string
  allocation change (it was not necessary and the code was unreadable),
  cleanups, removed usr_search_path_size, renamed usr_search_path
  to user_search_path, in find_module() also check for moved
  modules, merged find_file() and find_library(),
  added lt_dlopenext(), in lt_dladdsearchdir() no longer reset
  the search path if 'search_dir' == NULL and don't use realloc()
  (might not be available on all platforms),
  removed __P((void)) in the declaration of lt_dlgetsearchpath()
* libltdl/ltdl.h: added lt_dlopenext()
* ltconfig.in: AIX archive commands were broken,
  fixed a MAJOR bug in global_symbol_pipe which caused
  "demo-shared.test;demo-make.test" to fail (libtool must not extract
  undefined symbols of libraries, i.e. symcode must not contain 'U')
* tests/Makefile.am (clean-local): "make distclean" in cdemo, too
1999-01-24 14:24:17 +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
f956b65fc4 * configure.in (AC_CONFIG_SUBDIRS): added cdemo
* Makefile.am (DIST_SUBDIRS): ditto
	(ACINCLUDE_M4_LIST): ditto
	* tests/Makefile.am (TESTS): added cdemo-shared.test
	* tests/cdemo-static.test: disable shared libraries here
	* tests/cdemo-shared.test: disable static libraries here
	* doc/libtool.texi (Test descriptions): added cdemo tests
	* THANKS: added Edouard G. Parmelan

1999-01-13  Edouard G. Parmelan  <Edouard.Parmelan@France.NCR.COM>

	* ltmain.in: fix convenience libraries when static libraries
	are disables.
	* cdemo/README, cdemo/Makefile.am, cdemo/configure.in, cdemo/foo.h,
	cdemo/foo1.c, cdemo/main.c, cdemo/.cvsignore, test/cdemo-conf.test,
	test/cdemo-make.test, test/cdemo-exec.test, test/cdemo-static.test:
	new tests for convenience libraries.
	* autogen, Makefile.am, test/Makefile.am: ditto.

	* ltconfig.in, doc/PLATFORMS: Added support for NCR MP-RAS
	(i586-ncr-sysv4.3*) with native compiler.
	* README, doc/libtool.texi: Added note for NCR MP-RAS compiler.
1999-01-13 08:28:35 +00:00
Thomas Tanner
bd9c24ae34 *** empty log message *** 1999-01-05 18:15:22 +00:00
Alexandre Oliva
60fdde04e2 * tests/Makefile.am (EXTRA_DIST): remove ltdl-*.test
(clean-local): don't clean libltdl any more
	* tests/ltdl-conf.test: removed
	* tests/ltdl-inst.test: ditto
	* tests/ltdl-make.test: ditto
	* tests/ltdl-unst.test: ditto
	* tests/mdemo-make.test: updated accordingly
	* tests/mdemo-inst.test: ditto
	* tests/mdemo-unst.test: ditto
	* doc/libtool.texi: ditto
1998-12-16 02:31:59 +00:00
Alexandre Oliva
6dee8297df * ltmain.in (installed): new variable defined within a .la file,
so that libtool can now link already-installed libraries into a
	program.
	* NEWS: ditto
	* doc/libtool.texi (Linking executables): document it
1998-11-19 19:57:33 +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
Gordon Matzigkeit
45177bb117 *** empty log message *** 1998-03-09 05:34:02 +00:00
Gordon Matzigkeit
0f57773de1 *** empty log message *** 1998-03-05 16:23:43 +00:00
Gordon Matzigkeit
3c533f8fe9 *** empty log message *** 1998-01-25 19:35:11 +00:00
Gordon Matzigkeit
8264f115e6 *** empty log message *** 1997-10-14 18:33:24 +00:00
Gordon Matzigkeit
23bd3ca76a *** empty log message *** 1997-08-27 18:21:56 +00:00
Gordon Matzigkeit
dd64a9807f *** empty log message *** 1997-07-12 01:37:13 +00:00
Gordon Matzigkeit
8972f09503 *** empty log message *** 1997-07-01 04:38:32 +00:00
Gordon Matzigkeit
fbe72e21cb *** empty log message *** 1997-06-22 20:00:03 +00:00
Gordon Matzigkeit
9276ad0be3 *** empty log message *** 1997-04-01 19:53:01 +00:00
Gordon Matzigkeit
ef1ef543d1 *** empty log message *** 1997-04-01 19:21:43 +00:00
Gordon Matzigkeit
f2d0d25f67 *** empty log message *** 1997-04-01 19:19:30 +00:00
Gordon Matzigkeit
985a175c64 *** empty log message *** 1997-04-01 19:18:28 +00:00
Gordon Matzigkeit
a06ca31c0d *** empty log message *** 1997-04-01 19:04:40 +00:00
Gordon Matzigkeit
60369e2786 *** empty log message *** 1997-04-01 19:02:08 +00:00
Gordon Matzigkeit
ae2ee26b65 *** empty log message *** 1997-04-01 19:00:38 +00:00
Gordon Matzigkeit
87b8075bc9 Initial revision 1997-04-01 18:29:23 +00:00