Commit Graph

240 Commits

Author SHA1 Message Date
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