593 Commits

Author SHA1 Message Date
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
Alexandre Oliva
2e6d9dc7a7 * libtool.m4 (AC_CHECK_LIBM): do not set MATHLIB or AC_SUBST it,
this has a negative side-effect of causing automake to add MATHLIB
to every single Makefile.  Let's use plain AC_CHECK_LIB, so that
LIBS get set, until we find a better alternative
* *demo/Makefile.am: remove $(MATHLIB)
1999-02-14 03:04:51 +00:00
Alexandre Oliva
e578da5e16 * libltdl/configure.in: add a DESCRIPTION argument to AC_DEFINEs
where appropriate, so as to get rid of acconfig.h
* libltdl/acconfig.h: removed
1999-02-13 19:55:58 +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
Gary V. Vaughan
ec379bc0dc * libltdl/ltdl.h (_LTDLL_EXTERN): libltdl is no longer linked as a
shared library, so the _declspec's were preventing the linker from
resolving symbols on win32.  They have been removed now.
1999-02-12 17:35:39 +00:00
Alexandre Oliva
9d3dd65937 * ltmain.in: don't try to read objdir/libname.la before it is
created!
1999-02-12 16:24:15 +00:00
Alexandre Oliva
fcf1aa777f * ltmain.in: create libname.lai at link time, not at install time,
Reported by Akim Demaille <demaille@inf.enst.fr>
1999-02-12 13:13:54 +00:00
Alexandre Oliva
b37f61a8d4 * libltdl/ltdl.c (tryall_dlopen): strcmp filenames was reversed 1999-02-12 12:59:32 +00:00
Thomas Tanner
c8b71d5f7f added automake stamp files 1999-02-12 12:56:06 +00:00
Thomas Tanner
2754b5e474 updated the ILD patch 1999-02-11 23:53:07 +00:00
Thomas Tanner
b35a0be8c3 added acconfig.h 1999-02-11 23:50:17 +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
Alexandre Oliva
b103f3d203 * ltconfig.in (irix5*, hardcode_libdir_separator): set it to a
colon, because on IRIX 5 only the last -rpath switch prevails, and
it can be a list of colon-separated directories.  This change will
affect irix6 too, but that's not a problem.
1999-02-08 21:33:17 +00:00
Alexandre Oliva
5928e7de8f *** empty log message *** 1999-02-08 10:53:45 +00:00
Alexandre Oliva
2e55a128fd * ltconfig.in (irix5*, library_names_spec): add soname_spec,
otherwise we can't dlopen
1999-02-08 09:33:38 +00:00
Thomas Tanner
36f9c4b71d * ltconfig.in: according to Marcus Sundberg <mackan@stacken.kth.se>
HP/UX, IRIX, OpenBSD, Digital Unix and SunOS support
  need_version=no and need_lib_prefix=no,
  fixed a bug in Solaris' archive_sym_cmds
1999-02-08 00:10:28 +00:00
Alexandre Oliva
54ee3fb2b1 * libtool.m4 (ac_cv_sys_global_symbol_pipe): accept TAB in
addition to space as separator, and allow more than one space
between the symbol code and the symbol name; HP/UX's nm, for
example, uses two spaces
* ltconfig.in (global_symbol_pipe): ditto
(bsdi4, deplibs_check_method): variable name was misspelled
* libltdl/configure.in (libltdl_cv_preloaded_symbols): rewrite
test, so as not to depend on the way global_symbol_pipe is
initialized; the current test would get false positives, as
global_symbol_pipe was initialized `x=""', not `x='
1999-02-04 15:09:14 +00:00
Alexandre Oliva
425940e0ab * libltdl/ltdl.c (find_module): initialize filename if dir is NULL
Reported by Godmar Back <gback@cs.utah.edu>

1999-02-04  Godmar Back  <gback@cs.utah.edu>

* libltdl/ltdl.c (lt_dlopenext): missing space for terminator when
allocating memory for shlib_ext
1999-02-04 12:39:24 +00:00
Alexandre Oliva
3fe7947205 * ltconfig.in: new config.guess returns *-*-cygwin now instead of
*-*-cygwin32.  sed -e 's%(cygwin|mingw)32%1%g' ltconfig.in
* ltmain.in:   sed -e 's%(cygwin|mingw)32%1%g' ltmain.in

* ltconfig.in (hardcode_libdir_flag_spec, allow_undefined_flag,
archive_cmds, archive_sym_cmds, old_archive_from_new_cmds):
removed duplication of config by assuming that `test $with_gcc =
yes' implies gnu ld, otherwise MSVC++ (which I haven't tested
since I inheritted the code from Ian Lance Taylor btw!) is implied.
1999-02-03 11:34:52 +00:00