Commit Graph

224 Commits

Author SHA1 Message Date
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
Alexandre Oliva
314ef2c7d1 * ltconfig.in (netbsd*, GNU ld): Support a.out shared libraries 1999-04-05 21:29:00 +00:00
Alexandre Oliva
8e2656a10d * ltconfig.in (exclude_expsyms): Exclude _GLOBAL_OFFSET_TABLE_ by
default, as most a.out platforms use it, and end up in trouble if
we preload it, so it's safer to rule it out by default, and
special case its removal from exclude_expsyms if someone ever
complains.
1999-04-05 21:04:32 +00:00
Alexandre Oliva
6df1c07038 * ltconfig.in (sunos4*, GNU ld): -Bstatic is not enough for
deplibs.test to work with GNU ld; -Bshareable is needed here.
1999-04-04 08:35:41 +00:00
Alexandre Oliva
7dc52cf746 * ltconfig.in (ld_shlibs, amigaos*): Disable shared libs with
native ld too.
1999-04-04 07:38:37 +00:00
Alexandre Oliva
a6eea79a1d * ltconfig.in (sunos4*, GNU ld): Reordered. 1999-04-04 07:34:51 +00:00
Alexandre Oliva
53f990aef8 * ltconfig.in (archive_cmds, sunos4*): Revert to -Bstatic; the
native linker doesn't even support -Bshareable, only GNU ld does.
Do not use `gcc -shared' in archive_cmds, it breaks deplibs.test.
1999-04-04 07:08:21 +00:00
Alexandre Oliva
c64b658547 * ltconfig.in: if ld_shlibs=no, set can_build_shared=no too,
otherwise it will just be disregarded.  This would cause
netbsd/m68k with GNU ld a.out, and certainly many other platforms,
to incorrectly believe that shared libraries were supported, while
archive_cmds was empty, causing shared libraries not to be created
1999-04-04 06:06:45 +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
b334b29a41 * ltconfig.in (archive_cmds, sunos4*): where we used -Bstatic, we
should have been using -Bshareable
1999-04-02 09:08:21 +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
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
a1cfb2f41e * ltconfig.in (aix4*, collect2name): make sure collect2 exists
before running string on it, to avoid errors on old gccs
Reported by Erez Zadok <ezk@cs.columbia.edu>
1999-03-30 16:57:28 +00:00
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