Commit Graph

312 Commits

Author SHA1 Message Date
Gary V. Vaughan
e927e43114 libtool.m4 now contains a version of the code that used to run
from ltconfig, so that ltmain.sh and then libtool are
generated at configure time.

* Makefile.am:  Don't generate ltmain.sh or ltconfig anymore.
* bootstrap: ltconfig is no more!
* configure.in: Call AC_PROG_LIBTOOL directly.
(AC_OUTPUT): Generate tmain.sh.
* libtool.m4: Don't build an argument list for ltconfig.
(_LT_AC_LTCONFIG_HACK):  Refactoring of the former contents of
ltconfig.in to take advantage of the m4 macros from autoconf.
* ltmain.in: Don't do a version check against ltconfig.
* tests/assign.test: Remove reference to ltconfig.
* tests/hardcode.test: ditto.
* tests/sh.test: ditto.
2000-09-06 17:31:09 +00:00
Alexandre Oliva
03d0740c11 * ltconfig.in: Removed all references to what used to be
hardcode_into_libs=all.  2000-09-03's patch was wrong.
* ltmain.in: Likewise.
* tests/build-relink.test, tests/build-relink2.test: Adjust.
* mdemo/Makefile.am (lib_LTLIBRARIES): Move libsub.la before
libfoo2.la, so that they're installed in the right order.
2000-09-05 11:03:06 +00:00
Alexandre Oliva
5526adb017 * ltmain.in (compile, need_lock): Don't create nor remove lock
files in dry runs.
2000-09-04 06:29:21 +00:00
Alexandre Oliva
c4c91b5984 * ltmain.in (link -static): Don't add $link_static_flag; only
-all-static should do that.
* mdemo/configure.in: Revert part of the previous delta.
2000-09-04 05:10:30 +00:00
Alexandre Oliva
5d15db14ac * ltconfig.in: Get rid of hardcode_into_libs=all; use
hardcode_into_libs=yes && shlibpath_overrides_runpath!=yes
instead.
[FreeBSD 3.[01]] (shlibpath_overrides_runpath): Set to no.
* ltmain.in: Likewise.
* tests/build-relink.test, tests/build-relink2.test: Adjust.
2000-09-04 04:00:48 +00:00
Alexandre Oliva
19b19ba7ae * ltmain.in (newdlprefiles): Use dlname if it's available and
old_library isn't; use linklib only if dlname is not available.
2000-09-04 01:18:13 +00:00
Alexandre Oliva
dc692acce6 * ltmain.in (variables_saved_for_relink): Attempt to unset them
instead of setting them to an empty string.
2000-09-03 03:13:56 +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
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
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
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
Michael Matz
786438a679 * ltmain.in: fix quoting for $var_value. 2000-05-29 10:42:50 +00:00
Chad Cunningham
718311d9b6 * ltconfig.in (rhapsody*): New Port.
* ltmain.in (rhapsody*): ditto.
2000-05-27 02:20:00 +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
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
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
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
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
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
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