Commit Graph

210 Commits

Author SHA1 Message Date
Alexandre Oliva
c42a57bd93 * ltconfig.in (aix4*, hardcode_libdir_flag_spec): unless we're
using gcc with old collect2, use -b libpath to hardcode the
library search path
1999-03-30 16:48:45 +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
02f26dc09c * demo/Makefile.am: create a static library, link two libtool
archives with it, then link the program hell0 with both
* demo/hell1.c, demo/hell2.c: dummy files used to create the
libtool archives without introducing symbol conflicts
* tests/demo-exec.test, tests/demo-inst.test: run the new program
* ltconfig.in (irix5*, irix6*, deplibs_check_method): pass_all
1999-03-26 00:08:49 +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
Alexandre Oliva
888cbac3c0 * ltconfig.in (ld_shlibs, amigaos*): disable shared libraries 1999-03-24 08:55:06 +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
Alexandre Oliva
df9ed2d8d4 * ltconfig.in (sunos4*, with_gnu_ld, hardcode_minus_L): remove, we
have -rpath
(aix4*, without_gnu_ld, hardcode_shlibpath_var): unsupported is
default
(hpux9*, hpux10*, hpux11*, archive_cmds): drop +s, unneeded here
(hpux9*, hpux10*, hpux11*, hardcode_libdir_flag_spec): add +s
before +b
(hpux9*, hpux10*, hpux11*, shlibpath_overrides_runpath): since +s
appears before +b, set it to yes
(hardcode_shlibpath_var, hardcode_action): do not use
shlibpath_var to specify the compile-time search path; it loses,
and we may end up linking with pre-installed older versions of
libraries instead of yet-to-be-installed ones
(*, hardcode_direct, hardcode_minus_L): remove entries that set
them to no, that is default
1999-03-19 19:50:49 +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
22d7fd8cb5 * ltconfig.in (hpux*, hardcode_minus_L): should be no, we have +b
(hpux*, hardcode_libdir_separator): set to colon
1999-03-17 14:04:07 +00:00
Thomas Tanner
d3d99595b1 started new ChangeLog 1999-03-16 16:54:48 +00:00
Thomas Tanner
b990064c0f * ltconfig.in: some cosmetical changes
* ltmain.in: ditto
1999-03-16 15:41:53 +00:00
Alexandre Oliva
6751463a48 * ltconfig.in (bsdi4*, sys_lib_search_path_spec,
sys_lib_dlsearch_path_spec): fix thinko in variable names; add
standard directories
1999-03-14 07:23:26 +00:00
Alexandre Oliva
5e7dd3cfd9 * ltconfig.in (file_magic_cmd, file_magic_test_file, freebsd-elf*,
bsdi4*): use full pathnames when possible
1999-03-14 05:51:02 +00:00
Alexandre Oliva
5030549808 * ltconfig.in (aix3*, aix4*): GNU ld on AIX is very broken: it
cannot create working shared libraries.  Print a warning
suggesting the user not to use it and disable shared libraries.
1999-03-14 03:14:29 +00:00
Alexandre Oliva
06f34a0898 * ltconfig.in (global_symbol_to_cdecl): was reset before trying
`symprfx=_', rendering the test with `_' useless
1999-03-14 03:04:42 +00:00
Alexandre Oliva
93f8997b02 * ltconfig.in (osf3*, osf4*, deplibs_check_method): pass_all does
not really work; use file_magic instead.
(osf3*, osf4*): customize sys_lib_[dl]search_path_spec
1999-03-14 00:40:03 +00:00
Alexandre Oliva
6ee69fe155 * ltconfig.in (file_magic_test_file): new variable; if set, it
will be used as an argument for $file_magic_cmd to test whether
the regex in deplibs_check_method matches its output
(file_magic_cmd): use full pathnames whenever possible
1999-03-14 00:34:34 +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
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
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
44a4f0b8f5 * ltconfig.in: replaced `configure' with $progname and all
line numbers with @LINENO@
1999-03-11 08:23:19 +00:00
Alexandre Oliva
507c5bf602 * ltconfig.in (dlfcn.h): function definition may cause warnings;
define variable instead
1999-03-11 02:26:29 +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
baced0e582 * libtool.m4 (AC_LIBTOOL_SETUP): new macro, that does all the
configure-work that AC_PROG_LIBTOOL used to do; add
--cache-file=$cache_file to libtool_flags
(AC_PROG_LIBTOOL): call AC_LIBTOOL_SETUP, save the cache, run
ltconfig and reload the cache
* configure.in: run AC_LIBTOOL_SETUP, then set LIBTOOL_FLAGS to
libtool_flags
* ltconfig.in: support --cache-file switch.  If it is used, load
the cache in the beginning and save it just before terminating
1999-03-10 20:24:40 +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
Alexandre Oliva
d07ca87de5 * ltconfig.in (enable_fast_install): test whether it can be forced
off after shlibpath_overrides_runpath and enable_shared are set
1999-03-07 20:55:39 +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
Alexandre Oliva
ae2fcb7297 * ltconfig.in (archive_expsym_cmds, solaris, without_gnu_ld):
$lib.exp already starts with $objdir/
Reported by Godmar Back <gback@cs.utah.edu>
1999-03-06 19:41:24 +00:00
Gary V. Vaughan
697d6837c5 * ltconfig.in (sub_uncdrive): removed. This won't work with
the next version of cygwin.
(sub_uncdir): removed. We use <drive>:/path/to/executable now.
* libtool.m4 (AC_PROG_LD): removed sub_uncdrive and sub_uncdir.
1999-02-26 16:17:43 +00:00
Thomas Tanner
3a381a67c0 * ltconfig.in (dlopen, dlopen_self): default is unknown
* ltmain.in: fixed -dlopen self, print a warning
  if -dlopen is used without AC_LIBTOOL_DLOPEN
* mdemo/Makefile.am: use -dlopen self
1999-02-22 21:17:56 +00:00
Alexandre Oliva
e8a588bb4f * ltconfig.in (irix5*, irix6*, shlibpath_overides_runpath): yes 1999-02-22 19:53:59 +00:00
Alexandre Oliva
b5e4a1b24d * ltconfig.in (freebsd*, finish_cmds): expand objformat here
Reported by Vladimir Kushnir <kushn@mail.kar.net>
1999-02-20 18:47:11 +00:00
Vladimir Kushnir
fc594366ce * ltconfig.in (freebsd-elf*, need_version, need_lib_prefix): no
(freebsd-elf*, library_names_spec): add $libname.so instead of
$libname.so$versuffix; add $libname$release.so
1999-02-20 18:39:54 +00:00
Alexandre Oliva
ea10f428c4 * ltconfig.in (shlibpath_overrides_runpath): new variable;
determines whether LD_LIBRARY_PATH or equivalent can be used to
override a hard-coded library search path; default to unknown
(linux-gnu*): set it to no
(solaris*, sunos4*): set it to yes
* ltmain.in (build_libdirs_flags, build_libdirs, build_rpath): if
shlibpath_overrides_runpath is not yes, arrange that wrapper
scripts create, on demand, programs that use uninstalled libraries
* doc/libtool.texi: document it
1999-02-20 16:42:07 +00:00
Gary V. Vaughan
a6d55dd9c1 * ltconfig.in (export_symbols_cmds): renamed from
export_symbols_cmd.
(cygwin, mingw): Be sure to compile the ltdll.c object before
extracting the exported symbol list.  Extract only the names
of the exported symbols from the def file [otherwise we might
run into trouble with -export-symbols-regex].
(archive_expsym_cmds): Regenerate the def file from the symbol
export list.
(delay_variable_subst): New sed expression to allow us to delay
evaluation of $foo in a double_quote_subst evaluated variable by
using $.
* ltmain.in (export_symbols_cmds): evaluate each ~ delimitted cmd
separately.
* doc/libtool.texi (libtool script contents): new paragraph to
explain the difference between _cmd and _cmds suffixes for
variable names.
(export_symbols_cmds): renamed from export_symbols_cmd.
1999-02-19 17:41:51 +00:00
Alexandre Oliva
843f6e33f3 * ltconfig.in (ld_shlibs): move -soname and similar flags to the
end of archive_cmds and archive_expsym_cmds, so as to prevent
gcc's collect2 from inserting an object file between -soname and
the library name
1999-02-18 20:58:14 +00:00
Alexandre Oliva
f4922640d6 missed off the --export-all from the first dlltool call 1999-02-18 19:03:12 +00:00
Alexandre Oliva
d29ebe0d6b * ltconfig.in (archive{,_sym}_commands): Be careful not to
re-export the dll entry points DllMain@12, _cygwin_dll_entry@12 and
_cygwin_noncygwin_dll_entry@12 to avoid bugs with the wrong entry
function being called with inter-dll dependencies.
Reported by DJ Delorie <dj@delorie.com>
* THANKS: Added DJ Delorie, since his code inspired the impgen.c
program and because he has patiently answered all of the
irritating dll and win32 questions I have fired at him.
1999-02-18 18:50:24 +00:00
Alexandre Oliva
90324ded00 * ltconfig.in (openbsd*, netbsd*, library_names_spec): append
alternate name without ${release}, otherwise build fails when
-release is used
1999-02-18 17:57:29 +00:00
Gary V. Vaughan
4d2a114a68 * ltmain.in (version_type): Implement irix versioning.
* ltconfig.in (irix{5,6}*): Use new irix shared object versioning.
* TODO: remove irix versioning from TODO list.
1999-02-18 15:14:41 +00:00
Thomas Tanner
01e414be0d * TODO: updated
* autogen: only libltdl needs autoheader
* doc/libtool.texi (link mode): documented -export-symbols-regex
  and updated -export-symbols
* doc/libtool.texi (script contents): documented
  always_export_symbols, export_symbols_cmd, exclude_expsyms,
  include_expsyms, dlopen and dlopen_self
  more detailed description of need_lib_prefix
* ltconfig.in: a "'" was missing in the default value
  of export_symbols_cmd
* ltmain.in: implemented -export-symbols-regex
1999-02-18 11:38:36 +00:00
Alexandre Oliva
d56d56eafc * ltconfig.in: (freebsd2*, sunos4*, exclude_expsyms): exclude
_GLOBAL_OFFSET_TABLE_
* ltmain.in: implement exclude_expsyms with egrep
1999-02-17 13:02:41 +00:00
Thomas Tanner
c361d1cfeb * cdemo/Makefile.am: renamed *foo1 to *foo, removed $(MATH_LIB)
* cdemo/foo1.c: renamed to foo.c
* libltdl/ltdl.c: eliminated lt_dltype, in presym_open():
  search for @PROGRAM@ if filename == 0, in lt_dlopen():
  fixed bug for filename == 0
* libltdl/ltdl.h: use __P macro for lt_dlmalloc/free
* libtool.m4: new macro AC_LIBTOOL_DLOPEN: checks for dlopen
  and dlopen(NULL) support
* ltconfig.in: added new variables dlopen and dlopen_self,
  --enable-dlopen[-self] flags for AC_LIBTOOL_DLOPEN
* ltmain.in: use dlopen[_self], dlpreopen files if there's no
  dlopen support, build lt_preloaded_symbols only if
  -dl[pre]open was used, include program symbols if -export-dynamic
  was specified and there's no dlopen(NULL) support
* mdemo/configure.in: use AC_LIBTOOL_DLOPEN
* mdemo/main.c: demonstrate lt_dlopen(0)
1999-02-15 16:46:55 +00:00
Thomas Tanner
6d34bd85f0 * *demo/Makefile.am: use $(MATHLIB)
* *demo/configure.in: use AC_CHECK_LIBM
* doc/libtool.texi: renamed file_magic_command to file_magic_cmd,
  renamed archive_sym_cmds to archive_expsym_cmds
* ltconfig.in: ditto
* ltmain.in: ditto
* libltdl/ltdl.c: use lt_dlmalloc/free
* libltdl/ltdl.h: define lt_dlmalloc/free
* libtool.m4: added AC_CHECK_LIBM macro
* ltconfig.in: renamed archive_sym_cmds to archive_expsym_cmds,
  added always_export_symbols, export_symbols_cmd, exclude_expsyms,
  include_expsyms, removed archive_cmds for cygwin/mingw and AIX,
  on Solaris store the exported symbols list in objdir
* ltmain.in: allow -export-symbols for modules, use thread_safe flag,
  add include_expsyms to the exported symbols
1999-02-13 15:43:04 +00:00
Thomas Tanner
17915a088c * autogen: libltdl needs autoheader
* demo/Makefile.am: renamed hell.debug to hell.static
  (we're demonstrating static linking, not debugging)
* tests/demo*: ditto
* doc/libtool.texi (libltdl): documented new lt_dlopen(NULL)
  feature
* libltdl/acconfig.h: required for config.h
* libltdl/configure.in: use config.h
* libltdl/ltdl.c: use config.h, support lt_dlopen(NULL)
  (returns a handle for the program itself)
* ltconfig.in: minor reformatting
* ltmain.in: in lt_preloaded_symbols always define
  the program's symbols first, for -export-dynamic list all
  program symbols together, -export-symbols was broken for
  programs, minor reformatting
* mdemo/Makefile.am: renamed mdemo.debug to mdemo.static
* tests/mdemo*: ditto, mdemo.test was completely broken
1999-02-11 23:48:25 +00:00
Alexandre Oliva
ebd5366e02 * ltconfig.in (irix5*, irix6*, osf3*, osf4*): do not use
-set_version in archive_cmds if verstring is empty
(irix6*, shlibpath_var, sys_lib_search_path-spec,
deplibs_check_method): set appropriate values depending on
selected ABI, -32, -n32 or -64, as set in LD by libtool.m4
(uts4*): remove dot between .so and versuffix
1999-02-10 16:27:52 +00:00
Alexandre Oliva
bc11e86b35 * ltconfig.in (irix5*, irix6*, deplibs_check_method): use
file_magic for inter-library dependency tracking
1999-02-08 22:01:31 +00:00