Commit Graph

713 Commits

Author SHA1 Message Date
Thomas Tanner
0984f95203 * TODO: updated (libltdl build problem fixed)
* doc/libtool.texi (libltdl interface): removed the line which
  promised that lt_dlopen will return NULL if it can't resolve all
  symbols
* libltdl/Makefile.am, libltdl/configure.in: fixed build problem:
  renamed the convenience library to libltdlc.la and the
  installed version to libltdl.la
* ltmain.in (wrapper script): replaced the "T" suffix of the program
  file name with a "lt-" prefix
* mdemo/Makefile.am: use libltdlc.la
* tests/Makefile.am, tests/demo-nofast.test: added demo to
  test --enable-fast-install=no
1999-03-08 15:56:45 +00:00
Alexandre Oliva
c90722e577 * tests/Makefile.am (TESTS): run hardcode before build-relink
trashes libhello.la
* tests/hardcode.test (need_prefix): set to yes so that _inst is
not removed
1999-03-07 23:45:22 +00:00
Alexandre Oliva
a47816df28 * ltmain.in (compile_command): append finalize search path to
compile search path
1999-03-07 23:32:34 +00:00
Alexandre Oliva
592c5783b7 * tests/build-relink.test: new; check shlibpath_overrides_runpath
* tests/Makefile.am (TESTS): add build-relink.test; remove
hardcode.test duplicates
* doc/libtool.texi: document it
1999-03-07 23:28:05 +00:00
Alexandre Oliva
e7762d50c6 * ltmain.in (relink_command): do not prepend cd pwd to it, the
scripts already enters the correct directory, and expanding the
pathname would prevent the build tree from moving
1999-03-07 22:46:52 +00:00
Alexandre Oliva
39088c67ab * ltconfig.in (enable_fast_install): force it to no only if we
need relink; in the other cases, set it to needless
* ltmain.in (fast_install): if needless, set relink_command empty
* doc/libtool.texi (fast_install, shlibpath_overrides_runpath):
document the new behavior
1999-03-07 22:34:30 +00:00
Alexandre Oliva
879334df88 typo 1999-03-07 22:02:47 +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
f8891a5bfd * TODO: updated
* NEWS: updated
1999-03-07 18:32:07 +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
ae8fc72897 * libltdl/ltdl.c (LTDL_LAZY_OR_NOW): renamed from LTDL_NOW; prefer
LAZY loading because it's much faster and NOW is apparently
partially broken on FreeBSD
Reported by Archie Cobbs <archie@whistle.com>
1999-03-06 20:24:57 +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
Alexandre Oliva
fadc0b85a8 * ltmain.in (freebsd): compile symbol table file with pic_flag
only on FreeBSD and when not static linking; it's been causing
trouble on platforms such as OpenBSD.
1999-03-06 19:26:20 +00:00
Gary V. Vaughan
c000e55362 * libtool.m4 (cygwin): s/\(mingw\|cygwin\)32/\1/g. Must've
missed this file when I changed to cygnus' new sanction name.
1999-02-26 16:20:48 +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
11cb604bc9 * TODO: added items for next alpha release, ILD etc.
* libltdl/ltdl.c: removed unnecessary check from presym_sym,
  fixed bug in lt_dlclose, allow lt_dlopenext(NULL),
  set deplibs for lt_dlopen(NULL)
1999-02-25 06:46:55 +00:00
Alexandre Oliva
a3ea7d4616 * ltmain.in (file_magic_regex): sed 10q' is faster than 11,$d' 1999-02-24 10:44:55 +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
635040153e * ltmain.in: added missing mkdir $progdir for on-demand executable 1999-02-22 20:55:45 +00:00
Alexandre Oliva
231f7fd15f * ltmain.in: create on-demand executable as $progdir/$$-$program,
and rename it to $progdir/$program only when it's finished, to
avoid race conditions.  We can still get the program linked
multiple times, if multiple instances are started simultaneously
and the program does not exist, but they are very unlikely to
interfere with each other.  There's still a possibility that one
process removes the $program another has just created, and doesn't
replace it before the other tries to run it, in a system whose
`mv' is not atomic, so it will $rm then $mv, but so what? :-)
Locking files have been avoided to prevent dead-locks in case they
are left over after a reboot or crash.
1999-02-22 20:47:30 +00:00
Alexandre Oliva
40e8332d43 * TODO: removed ILD, soon to be merged, and added convenience
libraries docs
1999-02-22 20:11:08 +00:00
Alexandre Oliva
e8a588bb4f * ltconfig.in (irix5*, irix6*, shlibpath_overides_runpath): yes 1999-02-22 19:53:59 +00:00
Alexandre Oliva
f9953ae926 * ltmain.in: remove on-demand executable in the proper place, and
just warn if it can't be removed; add wrapper code to test whether
the install-executable is newer than the build-executable, to
relink it when it appears to be out-of-date
1999-02-22 19:43:36 +00:00
Alexandre Oliva
f95e55ad09 * libltdl/configure.in: check for dld.h
* libltdl/ltdl.c: include dld.h
(dld_open) it's spelled memory_error, not no_memory_error
Reported by Stefan Burstroem <f94sbu@efd.lth.se>
1999-02-22 19:24:55 +00:00
Alexandre Oliva
ec0c7f405b fixed 1999-02-22 18:41:14 +00:00
Alexandre Oliva
6f4f1a3734 * ltmain.in: fix typos in my last change (s/ocmpile/compile/) 1999-02-22 14:31:53 +00:00
Thomas Tanner
b965590d78 * libltdl/ltdl.c (lt_dlopen): use newhandle instead of handle
when dlopening the executable
* libtool.m4 (AC_LIBTOOL_DLOPEN): removed the redundant "yes: "
  prefix for lt_cv_dlopen, renamed lt_cv_dlopen_LIBS
  to lt_cv_dlopen_libs (more consistent)
* ltmain.in: implemented -dl[pre]open self, necessary for
  lt_dlopen(NULL), generation of exported symbols was broken
1999-02-21 15:38:02 +00:00
Alexandre Oliva
1287eb4f7e * ltmain.in: avoid duplication of -L switches, it sometimes breaks
IRIX 5.2's linker
1999-02-20 19:38:26 +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
83aa376aa2 * doc/libtool.texi: remove ticks from menu items; it breaks TeX
Reported by Erez Zadok <ezk@cs.columbia.edu>
1999-02-20 18:28:05 +00:00
Alexandre Oliva
f890f1be12 * ltmain.in: fixes for export-symbols dry-run 1999-02-20 17:53:19 +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
Alexandre Oliva
2dc0082648 * libtool.m4 (AC_LIBTOOL_DLOPEN): check for dlopen in libc before
trying in dl.  Add the actual dlopening type to lt_cv_dlopen, and
add any needed libraries to lt_cv_dlopen_LIBS.  Add test for
MS-Windows' LoadLibrary.  Check whether a program can dlopen
itself only if we really have dlopen(), not some equivalent
function, but leave room for testing with other mechanisms.
(AC_PROG_LIBTOOL): assume some form of dlopen, but not
dlopen(NULL), is available if AC_LIBTOOL_DLOPEN is not used, for
backward compatibility.
1999-02-20 15:07:54 +00:00
Archie Cobbs
7666c21afd * libltdl/ltdl.c (lt_dlopen): use newhandle instead of handle
where appropriate, when dlopening a non-libtool library
1999-02-20 05:23:31 +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
4fba23e37b * ltmain.in (version_type): Oops. Irix versioning implies that
major version numbers are 1 based (not zero based).  Fixed.
1999-02-18 15:24:03 +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
Gary V. Vaughan
918d2d10d7 * ltmain.in (impgen.c): Added a new embedded C file that can be
used under win32 to extract a def file (symbol export list) from a
dll that has none.  Code to use it might need to wait for the ILD
merge before it will be useful...
1999-02-18 14:46:46 +00:00
Thomas Tanner
b115c9bdfe please use the ild-branch 1999-02-18 11:40:40 +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
Alexandre Oliva
e906347209 * libltdl/ltdl.c (lt_dlmalloc, lt_dlfree): SunOS' cc can't cope
with argument lists, we __P even in the definition
1999-02-17 11:56:27 +00:00
Thomas Tanner
f0442e18d9 renamed foo1.c to foo.c 1999-02-15 16:48:24 +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
Gary V. Vaughan
b5f5cb9c41 * demo/dlmain.c (_WIN32): The lt_symlist structure is now const,
so my original horrible temporary win32 hack no longer worked.
Here is a new horrible temporary hack to prevent helldl from SEGVing
on win32.  I will fix this properly when we figure out how to do
data exports from dlls.
1999-02-15 14:23:02 +00:00