Commit Graph

288 Commits

Author SHA1 Message Date
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
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
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
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
Alexandre Oliva
8f4d31885a * tests/sh.test: New test to detect uses of quotes within
backticks within quotes.
* ltconfig.in, ltmain.in: Fix detected errors.  Mark false
positives with a comment that disables the detector.
Reported by Akim Demaille <akim@epita.fr>
1999-11-04 16:15:50 +00:00
Thomas Tanner
974da4c714 * NEWS: updated
* THANKS: added Olly Betts and Pavel Roskin
* doc/libtool.texi: fix typo

* fix major bugs which rendered libtool virtually
  unusable (i.e. not portable):
* ltconfig.in: don't hardcode system dependent variables in ltconfig!!
  but set sane defaults
* Makefile.am: pass variables from AC_LIBTOOL_SETUP to ltconfig
* libtool.m4: ditto, fix typo in AC_PROG_LD_RELOAD_FLAG

* ltconfig.in: use old_deplibs for archives, too
  remove second occurence of sysv5
* ltmain.in: fix typo, fix the second occurence of -DPIC, too

* libltdl/Makefile.am: increment version number, fix typo
* libltdl/ltdl.c (lt_dlsym): don't report an error if the
  libltdl-style symbol name wasn't found


* ltconfig.in: add support for Unixware (sysv4.2uw2*)
1999-11-02 12:33:05 +00:00
Gary V. Vaughan
6add76b73a * ltmain.in: Damnit! Cygwin cvs committed all the
dos line endings.
1999-10-30 10:39:28 +00:00
Stephane Conversy
7c0426b60f * ltmain.in (-DPIC): changed the order of pic flags a little to
prevent upsetting the sgi c++ compiler.
1999-10-28 21:07:29 +00:00
Gary V. Vaughan
13fef72767 * ltmain.in (-no-install): This doesn't work on win32 since
the search path for libraries is not encoded in the binary,
and dlls not in $PATH won't be found.  Fall back to -no-fast-install
instead.
1999-10-04 14:44:15 +00:00
Gary V. Vaughan
cd8ed8796b * ltmain.in (-no-fast-install): Wrapper script used to add the
exeext on again when naming the wrapped executable.
1999-10-04 14:26:11 +00:00
Thomas Tanner
ef128a41ba * NEWS: new -no-install flag
* configure.in: fix typo
* doc/libtool.texi(Link mode): document -no-install flag,
  correct -no-fast-install docs
* libtool.m4: check for "file" command
* ltconfig.in: don't hardcode /usr/bin/file, remove second
  definition of sysv5, replace linkopts -> linker_flags
* ltmain.in: add new -no-install flag, print help for -no-install
  and -no-fast-install flags


* ltmain.in: always create output_objdir


* libltdl/Makefile.am: don't preserve file attributes when
  installing the libltdl sources
1999-10-03 16:36:32 +00:00
Albert Cheng
58e469c927 * ltmain.in (shlibpath_var): ensure the variable is non-empty before
exporting it.
1999-09-28 08:30:34 +00:00
Thomas Tanner
f8d63238ac * ltmain.in: don't ignore convenience libraries for objects/archives
(temporary hack)
1999-09-19 21:02:26 +00:00
Alexandre Oliva
dc8f52a75b * ltconfig.in (CDPATH): Set to `:' instead of empty.
* ltmain.in (CDPATH): Likewise.
Reported by Greg McGary <gkm@eng.ascend.com>
1999-09-14 23:30:47 +00:00
Thomas Tanner
7cc892b2c9 * NEWS: mention fixes
* doc/PLATFORMS: GNU/Hurd update
* depdemo: make use of variables
* ltconfig.in: use CC -E when checking for ELF support
  on NetBSD (reported by Todd Vierling <tv@pobox.com>),
  replace all occurences of 'linkopts' with 'linker_flags'
* ltmain.in: move ltdll.c and impgen.c to ltconfig.in and
  only add them to the libtool script if it's necessary


* ltconfig.in: add support for UnixWare 7.X.X
* doc/PLATFORMS: add new platforms


* doc/libtool.texi: document use of noinst_LTLIBRARIES for
  convenience libraries

* ltconfig.in: check for freebsdelf3, not just freebsd3.
Set hardcode_into_libs=yes for FreeBSD 3.0 and 3.1

* ltmain.in: enable workaround for freebsdelf3.0


* ltconfig.in: export_dynamic_flag_spec is -rdynamic on BSD/OS
1999-08-24 11:05:14 +00:00
Pavel Roskin
320240e999 * ltmain.in: Ensure that gcc on HPsUX uses -fPIC, or else
initialised structures are sometimes emitted in the code section.
1999-07-29 23:28:06 +00:00
Alexandre Oliva
b0dad73a36 * ltmain.in: Fix creation of relative links to object files in
sub-dirs.
1999-07-29 19:33:55 +00:00
Olly Betts
d4a41297aa * NEWS: Note new user visible changes.
* libtool.m4 (mingw32, AC_LIBTOOL_SETUP): probe for -mdll vs -dll
under cygwin/mingw.
probe whether the cygwin/mingw library supplies a stub DllMain
(but this information isn't yet used).
* ltconfig.in (mingw32, extract_expsyms_cmds): if HOST_CC is set,
use that to build impgen so we can use it when cross-compiling.
use correct entry points for mingw so static C++ constructors get
called for code in the DLL.
* ltmain.in (impgen.c): define O_BINARY to 0 if it is not in the
system headers.
1999-07-23 16:09:49 +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
Thomas Tanner
3f8de2c2fc * NEWS: updated
* doc/PLATFORMS: updated
* changed my email address
1999-07-01 14:48:06 +00:00
Thomas Tanner
86180ef4d5 * NEWS: mention -no-fast-install, rename dummy to force
* doc/PLATFORMS: 1.3b passes all tests on GNU/Linux,
  FreeBSD (2.2.6 and 3.1)
* doc/libtool.texi: it's possible to link libtool libraries
  using -L and -l, better documentation of uninstall and clean mode,
  rename dummy to force, documented -no-fast-install,
  AC_LIBLTDL_* must be called before AC_PROG_LIBTOOL,
  documented hardcode_into_libs and striplib/old_striplib,
* ltconfig.in: search for strip program, added hardcode_into_libs
  and striplib/old_striplib variables, set strip commands for GNU strip,
  on FreeBSD >= 3.2 set hardcode_into_libs to yes,
  fast-install mode doesn't work if hardcode_into_libs = yes
* ltmain.in: reimplemented hardcoding into libraries:
  new relink mode, preserve all libtool args, relink libraries
  when installing if necessary
  added -no-fast-install flag, removed unnecessary `dlname'
  initialization, use striplib/old_striplib for stripping libraries,
  dlname is always soname or in library_names so we don't need
  to handle different file names
1999-06-29 17:37:06 +00:00
Olly Betts
8c34a71462 * ltmain.in (ltdll.c): Support for crosscompiling from linux to
mingw32.
1999-06-23 13:22:27 +00:00
Thomas Tanner
debe84ef9b * ltconfig.in (bsdi4, deplibs_check_method): use a less restrictive
regex (reported by Chris P. Ross <cross@eng.us.uu.net>)
* ltmain.in: support `-dlopen self', define lt_preloaded_symbols
  if dlself != no
* doc/libtool.texi (Compile and Link mode): document it,
  documented the -Wc, -Wl flags, libtool does also support non C
  source code


* ltconfig.in: CR/LF fix for broken DJGPP bash
* ltmain.in: CR/LF fix for DJGPP
1999-06-18 14:49:47 +00:00
Gary V. Vaughan
b9f8b2e6c7 * ltmain.in (outputname): When generating the executable wrapper
script, $outputname already has the $exeext suffix, so we needn't
add it again.
1999-06-18 13:46:33 +00:00
Thomas Tanner
4b50692175 * ltmain.in: store old archives in deplibs and old_deplibs,
retain the order of dependency libraries (even old archives),
  determining the absolute directory name didn't work due to a typo,
  add the library search paths of all dependency libraries when
  linking a library (fixes IRIX 5.2 bug)
1999-06-11 23:46:47 +00:00
Gary V. Vaughan
cbd4699dab * ltmain.in (exeext): Use $exeext when working out the names of
programs (but not the wrapper script itself due to a stupidity in
win32 which hardwires the .exe extension to the binary loader!).
* ltconfig.in (exeext): Now that the wrapper script tries to move
executables, we need to know whether they have an extension (ala
AC_EXEEXT).  Since we can't rely on AC_EXEEXT having been called
in configure.in, we must be able to check for ourselves, though we
can look for a cached result incase AC_EXEEXT was called.
1999-06-08 12:52:33 +00:00
Nick Rasmussen
33807d4290 * ltmain.in (link): use "$nonopt" as the compiler for
compile/finalize_command
1999-06-01 22:48:20 +00:00
Alexandre Oliva
85c66eecaf * ltmain.in: Expand convenience libraries when creating reloadable
objects.
* NEWS: Ditto.
1999-05-27 11:41:02 +00:00
Alexandre Oliva
d80450f053 * ltmain.in: Only create directory into which to extract
convenience libraries when $convenience is not empty.  It would
always be created on systems that did not support
whole_archive_flag_spec.
1999-05-27 10:52:48 +00:00
Alexandre Oliva
ec523ab5d2 * ltconfig.in (export_symbols_cmds): Add $convenience.
(cygwin, export_symbols_cmds): Ditto.
* ltmain.in: Generate export symbol list before expanding
convenience libraries, to avoid passing whole_archive_flag_spec to
$NM.
Reported by Godmar Back <gback@cs.utah.edu>
1999-05-27 10:45:32 +00:00
Alexandre Oliva
f7b500ef48 * ltmain.in: Revert to stripping .exe on all platforms.
* TODO: Note about this problem.  Demo is fixed on win32.  -Wl and
-Wc are implemented for release 1.4.  Support `empty' convenience
libraries.
1999-05-26 00:00:40 +00:00
Frank Ch. Eigler
49723f5acd * ltmain.in: file_magic check would not avoid cyclic links. 1999-05-25 17:26:35 +00:00
Alexandre Oliva
73c99f03b2 * ltmain.in: Remove object files before writing to them, to avoid
circular links.
Reported by Ron O'Hara <rono@sentuny.com.au>
1999-05-25 15:48:02 +00:00
Thomas Tanner
4b45958069 * NEWS: support for installing stripped libraries using GNU strip
* ltconfig.in: set deplibs_check_method=pass_all on FreeBSD,
  Linux and Solaris since no one can reproduce the famous deplibs
  bug
* ltmain.in: preserve $CC (reported by Tom Tromey),
  strip libraries using GNU strip if it's available and the
  -s flag was passed to "install"
1999-05-25 16:05:50 +00:00
Thomas Tanner
306612d348 * ltmain.in: strip off the .exe suffix only on *Win
(Reported by Matthew D. Langston <langston@SLAC.Stanford.EDU>)
1999-05-23 10:03:23 +00:00
Thomas Tanner
1b2ea275d2 * NEWS: updated
* TODO: -Wc, -Wl, implemented
* AUTHORS: changed my email address
* doc/libtool.texi: fix "wierd" typo :)
* ltmain.in: linking against convenience libraries was broken,
  implemented the "-Wc," "-Wl," "-Xcompiler" "-Xlinker" flag for
  compiler and linker-specific flags,
  add -lc before we do the deplibs check
* ltconfig.in: linkopts -> compiler_flags for $CC and linker_flags
  for $LD, link_all_deplibs=yes on IRIX


* NEWS: insert todays date alongside 1.3.1 release.
* Makefile.in: use gnu not gnits rules
* config.guess: synch with gnu common & apply Takabatake-san's
MIPS *000 patch.
* config.sub: synch with gnu common.
1999-05-22 18:04:32 +00:00
Gary V. Vaughan
0d55a7031e * ltmain.in: Do not exit when an unknown library name is passed
passed in, simply warn and continue since some compilers require
-LANG:* like options to work.
Reported by Adam C. Powell, IV <adam.powell@nist.gov>
1999-05-17 15:53:58 +00:00
Alexandre Oliva
6aa96d9d4e * ltmain.in: Save exit status of link_command before removing
symbol table object file.
1999-04-29 12:01:59 +00:00
Alexandre Oliva
7d898359ef * ltmain.in (nlist, SYMFILE): Use outputname instead of output for
names within output_objdir.
1999-04-29 07:13:25 +00:00
Thomas Tanner
9d87d7b208 * NEWS: new clean mode
* THANKS: added Ossama Othman
* doc/libtool.texi: documented the new `clean' mode
* ltconfig.in: set need_version=no on OSF (reported by
  Marcus Sundberg <mackan@stacken.kth.se>)
* ltmain.in: allow absolute non-existant -L paths,
  always use output_objdir instead of objdir for temporary files,
  delete generated temporary symbol lists,
  don't add .la twice in the pseudo-library header,
  implemented and documented clean mode (deletes libraries,
  programs and object files and the files associated with them),
  if build_libtool_libs=no and no static library is available,
  try to link the program against the shared library,
  don't add a statically linked library to the dependency_libs
* ltmain.in (help uninstall): added a missing backslash
  after echo (reported by Ossama Othman)
1999-04-27 17:30:20 +00:00
Alexandre Oliva
5c4b25e8bd * ltmain.in (old_archive_cmds): Iterate on oldobjs to find out
which links to object files we must create.  Do not test for empty
pic_flag to create such links.  Use objext when searching for
object files extracted from convenience library.
1999-04-27 10:34:46 +00:00
Erez Zadok
b7b94832c8 * ltmain.in (old_archive_cmds): Ensure that there are always .o
objects available before running old_archive_cmds.
1999-04-27 08:05:28 +00:00
Frank Ch. Eigler
36e0c3cf90 * libtool.m4 (cygwin*): Look for target objdump tool.
* ltconfig.in (cygwin*, file_magic_cmd): Use autoconf-located target
objdump tool.  Track OBJDUMP like DLLTOOL and AS.

* ltconfig.in (cygwin*, deplibs_check_method): Accept
"architecture: i386" as optional suffix, for it is printed on a
separate line sometimes.

* ltmain.in (cygwin*, ltdll.c): Wrap DllMain declaration in extern "C".

* ltmain.in (deplibs_check_method=file_magic): Redirect stderr to
/dev/null, to suppress error messages from target objdump.
1999-04-25 18:54:24 +00:00
Alexandre Oliva
c4221fc830 * ltmain.in (prefer_static_libs): New variable, set to no by
default, but set to yes by -static and -all-static.  Used instead
of build_libtool_libs to decide whether to use a shared or static
version of a library, when both versions are available.
1999-04-25 09:40:49 +00:00
Thomas Tanner
c836f3090d * libltdl/configure.in: check for shl_load in libdld
* libltdl/ltdl.c (shl_close, shl_sym): use (shl_t *) instead of shl_t
* ltconfig.in (check for gcc): removed a bogus line,
  check for shl_load in libdld
* ltmain.in: added a warning to the header of the .la file
  to warn users against deleting the file,
  link shared against static libraries if
  deplibs_check_method == pass_all
1999-04-11 21:10:04 +00:00
Alexandre Oliva
45641b8620 * ltconfig.in (--fallback-echo): Do not put an inline document and
an exec in the same if construct; otherwise the inline document
may not be removed.
* ltmain.in (--fallback-echo): Likewise.
Reported by John David Anglin <dave.anglin@nrc.ca>
1999-04-08 00:47:59 +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
ba4c36f3cf * ltmain.in: added a missing line of the ILD patch 1999-04-06 22:10:46 +00:00
Thomas Tanner
87f8ef6d60 * NEWS: improved DJGPP support
* doc/libtool.texi: removed hardcode_into_libs documentation
* libtool.m4: some DJGPP fixes
* ltconfig.in: ditto, reverted one of my previous patches: we need
  to check for NM, removed the hardcode_into_libs support since
  no platform seems to support it
* ltmain.in: some DJGPP fixes, removed the hardcode_into_libs support
1999-04-06 22:08:59 +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
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
Thomas Tanner
7f3aca95c1 * NEWS: updated
* libtool.m4: check for main in libm instead of cos
* ltmain.in: cosmetic fixes, don't try to link libraries only once
  (although it's not necessary on many platforms and looks ugly...),
1999-04-03 00:36:06 +00:00
Alexandre Oliva
f97db5092d * ltmain.in (convenience): fixed race condition when more than one
library was linked with the same convenience library by
uniquifying the extract directory.  It is now named after the new
library *and* the old one, and lives in the objdir of the new one.
1999-04-02 13:57:23 +00:00
Alexandre Oliva
a517bc7a9f * ltmain.in (-L*): do not abort just because a directory specified
with -L does not exist; just warn and discard it
1999-04-02 13:41:53 +00:00
Alexandre Oliva
0319e34536 * ltconfig.in (link_all_deplibs): set to unknown by default
* ltmain.in: test != no, not = yes
* doc/libtool.texi: document unknown
1999-04-02 05:04:56 +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
b29cdab5af * ltmain.in: always link a library before its dependency libs
* mdemo/Makefile.am: test -export-symbols-regex
1999-03-30 23:32:07 +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
3e083d9fd5 * ltmain.in, ltconfig.in: reverted most of the quoting changes
from 1999-03-25; Gary's delay_variable_subst patch from 1999-02-19
obviates it.  Keep only quoting of $PATH, for uniformity with
other systems that already did it
* TODO: comments on hardcoding paths into libraries; problem
with shell meta-characters in filenames
1999-03-30 12:40:22 +00:00
Thomas Tanner
96dc12316e * NEWS: updated
* README: updated (BeOS support, no longer shared libraries
  support for AmigaOS), cleanups, we have now two mailing lists
* REAMDE-alpha: autogen -> bootstrap, we have now two mailing lists
* THANKS: added Xavier Pianet
* doc/PLATFORMS: BeOS works
* doc/libtool.texi: we have now to two mailing lists,
  updated -dlopen self documentation, documented libltdl's license,
  put each author in a separate line,
  inter-library dependencies on uninstalled libtool libraries are
  now supported, cleanups and minor corrections
* libltdl/COPYING.LIB: new file
* libltdl/ltdl.[ch]: added special exception to the LGPL license
* libtool.spec: removed, it was outdated
* Makefile.am: removed libtool.spec
* ltmain.in: use TMPDIR when possible, create a subdirectory
  in the temporary directory, added -export-symbols-regex to the help,
1999-03-27 16:58:10 +00:00
Alexandre Oliva
b8731bc575 * ltmain.in ($PATH): instead of modifying the PATH, better prevent
its expansion the first time *_cmds variables are eval'ed.  Modify
$show within loops that eval them so as to expand variables
* ltconfig.in (*_cmds): quote $ so that they're not expanded by
the first eval
1999-03-25 23:00:13 +00:00
Gary V. Vaughan
85e85038a1 * ltmain.in ($PATH): Expand any tildes in the users path to the
contents of $HOME to avoid problems with *_cmds splitting and
evaluation.
1999-03-25 08:58:47 +00:00
Thomas Tanner
64d868411f * TODO: support -dlopen for libraries
* doc/PLATFORMS: Erez Zadok reported that libtool works on bsdi 4.0.1
* doc/libtool.texi (libltdl): libltdl supports BeOS
* libltdl/ltdl.c: shlib_ext was declared even if LTDL_SHLIB_EXT
  didn't exist, partially reverted my previous patch: BeOS will
  automatically search in ADDON_PATH
* ltmain.in: don't allow relative run-paths, fixed a typo in a warning,
  ignore -dlopen self for libraries and objects,
  only accept -L paths that exist, minor cleanups,
  bugfix: add -lc for normal libraries, not convenicence libraries
  removed offensive warnings/comments
1999-03-24 22:42:59 +00:00
Thomas Tanner
f7e4e308ce * doc/libtool.texi (link mode): documentation for -module updated
* ltconfig.in: fast-install mode doesn't work for
  hardcode_into_libs=yes
* ltmain.in: bugfix: "-dlopen self [-all]-static" wouldn't use
  dlopen_self_static, automatically enable -export-dynamic when
  using "-dlopen self",	always make run-paths absolute,
  ignore -lc only on platforms that don't have such a library,
  cleanups in the ILD code, find even installed libtool libraries
  that were moved, before generating the DLL-import library we need
  to set libname, improved hardcoding of shlibpath for libraries,
  don't generate an installable pseudo-library for convenience
  libraries, bugfix: export_symbols would be removed immediately
  before it is used
1999-03-20 21:59:15 +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
Gary V. Vaughan
e44bc21c59 * ltmain.in (dependency_libs): There is no reason to infer that
the pseudo library is invalid if dependency_libs='' at
install-time, or else libltdl/libltdl.la is invalid!!
1999-03-19 10:18:39 +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
Alexandre Oliva
85804ca48e * ltmain.in (deplibs, beos*): don't append -lc
Reported by Xavier Pianet <xavier@xingo.com>
1999-03-17 00:47:53 +00:00
Thomas Tanner
b990064c0f * ltconfig.in: some cosmetical changes
* ltmain.in: ditto
1999-03-16 15:41:53 +00:00
Alexandre Oliva
deac33cf8e * ltmain.in: silence ``unbug'' :-) detected by sh.test 1999-03-15 16:53:39 +00:00
Thomas Tanner
7378519a1b * TODO: libltdl is now documented
* doc/libltdl.texi (linking with installed libtool libraries):
  fixed typo
* doc/libltdl.texi (libltdl): added documentation for building
  libtool modules and examples how to embed libltdl
* ltmain.in: don't ignore user-specified run-paths (fixed it
  at the right place)
1999-03-14 11:18:37 +00:00
Alexandre Oliva
d4d597e0ed * ltmain.in (deplibs_check_method=none): discard -L and -R
switches when testing whether deplibs contains some library
1999-03-14 10:56:23 +00:00
Alexandre Oliva
e15156d206 * ltmain.in (exclude_expsyms): exclude symbols before sorting,
otherwise only the sorted list will have them excluded
1999-03-14 06:00:49 +00:00
Alexandre Oliva
6518dbe0dd oops, cut&paste error 1999-03-13 23:18:49 +00:00
Alexandre Oliva
eae67ea2bf * ltconfig.in (sys_lib_dlsearch_path_spec): new variable, that
lists the system *run-time* search path.  Listed directories are
not implicitly hard-coded into executables.
* ltmain.in: use it, but *never* discard -R flags
* doc/libtool.texi: document it
* NEWS: ditto
Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
1999-03-13 23:09:57 +00:00
Alexandre Oliva
0762ab0a48 * tests/sh.test: look for $Xsed' without $echo "X...'
* ltconfig.in, ltmain.in: fixed a few such occurrences
1999-03-13 22:20:33 +00:00
Alexandre Oliva
d80906a5d0 * ltmain.in (-static, -all-static): revert March 11's patch, I was
barking up the wrong tree
1999-03-13 21:18:33 +00:00
Alexandre Oliva
d3d44b7803 * ltconfig.in: (global_symbol_pipe) extract symbol tag from the
output of NM too
(global_symbol_to_cdecl): new variable; convert the output of
global_symbol_pipe to valid C declarations; on HP/UX, convert
text symbols to function declarations
* libtool.m4: similar modifications
* doc/libtool.texi: document new variable
* ltmain.in: use global_symbol_to_cdecl to generate lt_dlpreopened
symbols; avoid extracting symbol lists from dlpreopened files
twice; do not filter symbols from dlpreopened libraries
* TODO: fixed HP/UX dlpreopening problem
1999-03-11 22:55:48 +00:00
Alexandre Oliva
d3fefd9d6c * ltmain.in (-static, -all-static): set dlopen_self to
$dlopen_self_static regardless of link_static_flag or pic_flag
1999-03-11 22:46:07 +00:00
Alexandre Oliva
16d8b07615 * ltmain.in: FreeBSD bug that needs symbol table compiled with
-fPIC is fixed in release 3.1; use it only for 2.* and 3.0
1999-03-11 22:38:51 +00:00
Thomas Tanner
72db861fe7 * ltmain.in: when building a library it doesn't make
sense to remove a relinked program ("lt-" prefix)
1999-03-11 22:25:01 +00:00
Alexandre Oliva
f126b86fc8 * ltconfig.in: set dlopen_* variables to unknown when appropriate
* ltmain.in: only emit warning about lack of AC_LIBTOOL_DLOPEN if
*all* dlopen_* variables are set to unknown
1999-03-11 16:11:05 +00:00
Thomas Tanner
6d988bc854 * ltmain.in: delete the old output files (incl. the relinked binary)
before linking.
1999-03-11 12:31:46 +00:00
Alexandre Oliva
5c59d096e1 * ltmain.in: properly create an export file for a program,
avoiding error messages about not finding it
1999-03-11 01:21:57 +00:00
Alexandre Oliva
b933475f97 * libtool.m4 (AC_LIBTOOL_DLOPEN): just set lt_dlopen=yes
(AC_LIBTOOL_SETUP): if lt_dlopen=yes, add --enable-dlopen to
libtool_flags; drop --enable-dlopen-self
* ltconfig.in: perform all the dirty work of testing for dlopening
support, because we need platform-dependent equivalents for
-export-dynamic, for self dlopening, and -static, for static self
dlopening
(dlopen_self_static): new configuration variable that is set to
yes only if static programs can dlopen themselves
* ltmain.in (-static, -all-static): dlopen_self=dlopen_self_static
1999-03-11 01:13:56 +00:00
Alexandre Oliva
7618652fd8 * ltmain.in: $output_objdir/$objdir/ -> $output_objdir/lt- 1999-03-09 23:04:14 +00:00
Alexandre Oliva
d917d79899 * ltmain.in: extract symbols from program objects to nlist first,
then translate them to the export_symbols format.  Now it works,
but it appears to be needlessly extracting the symbol list from
dlpreopened libraries twice
1999-03-08 21:55:25 +00:00
Alexandre Oliva
2f024c7555 * ltmain.in: temporarily disable dlopen_self when linking with
-static or -all-static, until we figure out how to test whether it
works at configure time
* TODO: remember to fix this later
1999-03-08 21:21:55 +00:00
Alexandre Oliva
8edf7d315b * ltmain.in (hardcode_libdir_separator, compile_rpath,
finalize_rpath): only substitute hardcode_libdir_flag_spec if
hardcode_libdirs is non-empty
1999-03-08 20:55:57 +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
a47816df28 * ltmain.in (compile_command): append finalize search path to
compile search path
1999-03-07 23:32:34 +00:00
Alexandre Oliva
e7762d50c6 * ltmain.in (relink_command): do not prepend cd pwd to it, the
scripts already enters the correct directory, and expanding the
pathname would prevent the build tree from moving
1999-03-07 22:46:52 +00:00
Alexandre Oliva
39088c67ab * ltconfig.in (enable_fast_install): force it to no only if we
need relink; in the other cases, set it to needless
* ltmain.in (fast_install): if needless, set relink_command empty
* doc/libtool.texi (fast_install, shlibpath_overrides_runpath):
document the new behavior
1999-03-07 22:34:30 +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