Commit Graph

296 Commits

Author SHA1 Message Date
Alexandre Oliva
d917d79899 * ltmain.in: extract symbols from program objects to nlist first,
then translate them to the export_symbols format.  Now it works,
but it appears to be needlessly extracting the symbol list from
dlpreopened libraries twice
1999-03-08 21:55:25 +00:00
Alexandre Oliva
2f024c7555 * ltmain.in: temporarily disable dlopen_self when linking with
-static or -all-static, until we figure out how to test whether it
works at configure time
* TODO: remember to fix this later
1999-03-08 21:21:55 +00:00
Alexandre Oliva
8edf7d315b * ltmain.in (hardcode_libdir_separator, compile_rpath,
finalize_rpath): only substitute hardcode_libdir_flag_spec if
hardcode_libdirs is non-empty
1999-03-08 20:55:57 +00:00
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
a47816df28 * ltmain.in (compile_command): append finalize search path to
compile search path
1999-03-07 23:32:34 +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
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
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
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
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
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
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
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
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
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
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
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
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
Gary V. Vaughan
176e4be3c5 * ltmain.in: Reverted this change of Alexandre's from the
1999-01-25; "don't try to use .o instead of .lo just because
there's no PIC flag.  It loses if --disable-static, and there's
not much point if we're referring to the same file anyway...",
because not all linkers will accept .lo object names.
* ltmain.in: In the case where --disable-static is specified (as
noted in Alexandre's log entry), we just link some .o files to
prevent the original error.
Reported by Andrey Slepuhin <pooh@msu.ru>
1999-01-28 13:33:33 +00:00
Thomas Tanner
a5f6b87d4a * cdemo/configure.in: renamed AM_PROG_LIBTOOL to AC_PROG_LIBTOOL
* demo/configure.in: likewise
* depdemo/configure.in: likewise
* libltdl/configure.in: likewise
* mdemo/configure.in: likewise
* libltdl/ltdl.c: in find_module() check whether libdir is defined,
  tryall_dlopen(): move deallocation of an already opened handle
  to lt_dlopen(), allocate the directory in lt_dlopen() dynamically,
  minor cleanups, fixed memory leak (name)
* libtool.m4: renamed all AM_ macros to AC_ and added aliases for
  compatibilty, updated AC_SYS_NM_PARSE (no undefined symbols,
  don't count the symbols)
* ltconfig.in: added thread_safe_flag_spec (not used yet),
  added generic variable for linker options "linkopts" in
  all archive_cmds
* ltmain.in: added -thread-safe flag (unused)
1999-01-27 00:49:06 +00:00
Alexandre Oliva
0573e2ca3b * ltmain.in: reworded `dropped inter-library dependencies'
message, and added a warning about inter-library dependencies even
for non-module builds
1999-01-26 19:21:29 +00:00
Alexandre Oliva
01d7b2340e * ltmain.in (file_magic): use egrep instead of expr to support
more general regular expressions
(file_regex): remove it; the name is misleading, it's not used
* ltconfig.in, doc/libtool.texi: ditto
* ltconfig.in (linux-gnu*, deplibs_check_method): extend regex to
support `LSB dynamic lib' in the output of `file'
Reported by Scott D. Heavner <sdh@po.cwru.edu>
1999-01-25 10:01:23 +00:00
Alexandre Oliva
961df577e4 * ltmain.in (dependency_libs, xrpath): add -R switches to
dependency_libs only just before creating the .la file; they
should not be passed to the C compiler or linker at
library-creation time, since we don't know whether it is supported
1999-01-25 08:06:09 +00:00
Alexandre Oliva
9e02917884 deleted unneeded trailing semicolon 1999-01-25 07:08:03 +00:00
Alexandre Oliva
d10273f38c * ltmain.in: don't try to use .o instead of .lo just because
there's no PIC flag.  It loses if --disable-static, and there's
not much point if we're referring to the same file anyway...
1999-01-25 06:22:23 +00:00
Alexandre Oliva
5d11f38809 * ltmain.in (pass_all=none, droppeddeps): set only if deplibs was
non-empty
1999-01-25 04:04:18 +00:00
Alexandre Oliva
3b6142f95e * Makefile.am (TSDEPS_DIST): dist-time dependencies for timestamps
(timestamps, update-timestamps): check whether TSDEPS_DIST are
up-to-date and update ltconfig and ltmain.sh if needed
(ltconfig, ltmain.sh): depend on TSDEPS; replace @TIMESTAMP@ with
the Date tag in the ChangeLog
(TSDEPS): empty unless overridden by update-timestamps
* ltconfig.in, ltmain.in (TIMESTAMP): append timestamp to most
references to VERSION
1999-01-22 12:21:05 +00:00
Gary V. Vaughan
b69cf9e6cd * ltmain.in (ild): Revert the change which allowed libtool to
link libraries with dependencies on .la libs.
* NEWS: Removed reference to win32, incase 1.3 ships before
ild is ready.
* doc/PLATFORMS: Removed i686-pc-cygwin32, for the same reason.
* doc/libtool.texi: Removed win32 refs, for the same reason.
1999-01-22 12:13:58 +00:00
Alexandre Oliva
4f58a28c53 * ltmain.in (Xsed): add 1 to Xsed definition that goes into
temporary wrapper scripts
* libtool.m4: we don't have Xsed here, expand it manually
Reported by Pavel Roskin <pavel_roskin@geocities.com>
1999-01-22 10:26:47 +00:00
Edouard G. Parmelan
bcdffabfe9 * ltmain.in (finalize_hardcode_libdirs, finalize_rpath): in
platforms that use -rpath, programs must be finalized at
installation time, otherwise build-tree programs will
prefer installed libraries over build-tree ones
1999-01-22 10:01:10 +00:00
Gary V. Vaughan
7badfd3dcf * THANKS: Added Chris Laas <golem@MIT.EDU>
From Chris Laas <golem@MIT.EDU>
* ltmain.in (compile):  corrected a typo in compile mode which
caused "gcc: unrecognized option -c-fPIC" errors due to a missing
space.
1999-01-21 17:37:42 +00:00
Alexandre Oliva
f038450910 * ltmain.in (module, droppeddeps): if libtool could not satisfy
all dependencies of a module, it will only build a static version
of it, and display a warning message
1999-01-21 03:32:53 +00:00
Erez Zadok
7821def39b * ltmain.in: s/n\'t/ not/
* doc/PLATFORMS: updates for sunos4/m68k and aix
1999-01-20 20:45:50 +00:00
Alexandre Oliva
951fc9f244 * ltmain.in (file_magic): follow soft-links before running `file'
on the candidate library; try to avoid entering endless loop
	Suggested by Nix <nix@esperi.demon.co.uk>
1999-01-20 20:24:54 +00:00
Alexandre Oliva
a58e998b44 * ltconfig.in (linux*, solaris*, bsdi4*, sys_lib_search_path):
remove expansion of $LD_LIBRARY_PATH
	* ltmain.in (lib_search_path): append the expansion of $shlibpath_var
	* doc/libtool.texi: document it
1999-01-20 19:48:44 +00:00
Alexandre Oliva
19ddb9d9b2 * ltmain.in (dlsyms): #define const to nothing if not __STDC__ 1999-01-20 18:15:19 +00:00
Alexandre Oliva
ee93981385 * ltmain.in (compile): when compiling both PIC and non-PIC, write
the PIC object to .libs/.lo and only rename it to .lo after
 	compiling the .o, to avoid fooling make dependencies
1999-01-20 12:44:50 +00:00
Alexandre Oliva
f11c3e83c5 * ltmain.in (dlpredeps): removed, reverting 1999-01-17's change 1999-01-20 08:39:52 +00:00
Alexandre Oliva
a4191f6ab5 * ltmain.in (lt_preloaded_setup): function added to symbol list
source file to work around FreeBSD problem
1999-01-19 23:52:19 +00:00
Gary V. Vaughan
4e2bd756eb reapply andreys patch correctly. 1999-01-19 14:58:29 +00:00
Gary V. Vaughan
e66dd53d15 track deplibs for hardcode_action switch 1999-01-19 14:04:16 +00:00
Thomas Tanner
6b7c38b36c *** empty log message *** 1999-01-17 11:19:40 +00:00
Alexandre Oliva
77d2b6319c * ltmain.in (dlpredeps): append dependencies from dlopened modules
(but not dlpreopened ones) after all explicitly linked libraries
1999-01-17 05:44:56 +00:00
Alexandre Oliva
458a451208 * ltconfig.in (need_lib_prefix, need_version,
deplibs_check_method): default to unknown, so that we're
 	remembered that this needs porting; unknown is interpreted as yes,
 	yes and none, respectively
	(freebsd2*, freebsd3*, sunos4*, need_version): set to yes
	(freebsd2*, freebsd3*, library_names_spec): libraries without a
	version number are not used by `ld'; add $versuffix;
	Reported by Ben Jackson <ben@ben.com>
	* ltmain.in (deplibs_check_method): alias unknown to none
	(need_version): if vinfo was not provided and release info was,
	zero out versuffix only if we don't need_version.
	* doc/libtool.texi: document what `unknown' means
1999-01-17 04:21:52 +00:00
Thomas Tanner
94cfa949e2 *** empty log message *** 1999-01-13 21:39:14 +00:00
Alexandre Oliva
d9bc7946f9 * ltconfig.in (solaris): define `need_version' to no
1999-01-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* ltconfig.in (solaris): Define `deplibs_check_method',
	`file_magic_command', `need_lib_prefix' and `sys_lib_search_path'
	* ltmain.in (file_magic_regex): Add space before matching pattern,
	such that it works on solaris (solaris has a tab between the
	library name (including the colon) and the `ELF' and such the
	`ELF' will never be matched).
1999-01-13 20:48:54 +00:00
Edouard G. Parmelan
2e68bf5aec * ltconfig.in (NM): PATH search was not updated like in
libtool.m4, in last Alexandre Oliva's change to it
	(sysv4*, ncr): pass all library dependencies
	* ltmain.in (dependency_libs, -R): use `dep' instead of `arg' to
 	iterate, otherwise we'd overwrite `arg'
	(convenience, old_libs): if --disable-shared, convenience
	libraries are just old archives, as .lo's are of no use
	* tests/cdemo-static.test: print --disable-shared here
1999-01-13 20:27:17 +00:00
Edouard G. Parmelan
0862357f6d * ltmain.in (dependency_libs, -R): use dep' instead of arg' to
iterate, otherwise we'd overwrite `arg'
1999-01-13 20:09:43 +00:00
Alexandre Oliva
8c49ba24a3 * ltmain.in (old_archives, oldobjs): use find to SYMDEF here too 1999-01-13 18:27:43 +00:00
Alexandre Oliva
f956b65fc4 * configure.in (AC_CONFIG_SUBDIRS): added cdemo
* Makefile.am (DIST_SUBDIRS): ditto
	(ACINCLUDE_M4_LIST): ditto
	* tests/Makefile.am (TESTS): added cdemo-shared.test
	* tests/cdemo-static.test: disable shared libraries here
	* tests/cdemo-shared.test: disable static libraries here
	* doc/libtool.texi (Test descriptions): added cdemo tests
	* THANKS: added Edouard G. Parmelan

1999-01-13  Edouard G. Parmelan  <Edouard.Parmelan@France.NCR.COM>

	* ltmain.in: fix convenience libraries when static libraries
	are disables.
	* cdemo/README, cdemo/Makefile.am, cdemo/configure.in, cdemo/foo.h,
	cdemo/foo1.c, cdemo/main.c, cdemo/.cvsignore, test/cdemo-conf.test,
	test/cdemo-make.test, test/cdemo-exec.test, test/cdemo-static.test:
	new tests for convenience libraries.
	* autogen, Makefile.am, test/Makefile.am: ditto.

	* ltconfig.in, doc/PLATFORMS: Added support for NCR MP-RAS
	(i586-ncr-sysv4.3*) with native compiler.
	* README, doc/libtool.texi: Added note for NCR MP-RAS compiler.
1999-01-13 08:28:35 +00:00
Thomas Tanner
89aa144652 *** empty log message *** 1999-01-12 20:42:47 +00:00
Alexandre Oliva
b77241c5b8 * ltmain.in, NEWS, doc/libtool.texi: Added support for -R flag
* ltmain.in, doc/libtool.texi: documented that -rpath is the same
	as -R for programs
	* ltmain.in: softened the instructions for linking with installed
	libraries, and noted that libtool can be used to link with them;
	documented that -rpath is not required for convenience libraries
1999-01-11 22:31:00 +00:00
Alexandre Oliva
40ef9f4a1f * ltmain.in (convenience, libobjs): get only .o and .lo files from
the files extract from the convenience library.  Some systems,
	such as FreeBSD2, will add a SYMDEF file, that is not an object
	file, and therefore should not be fed to the linker
1999-01-11 06:27:08 +00:00
Thomas Tanner
662305576a *** empty log message *** 1999-01-10 14:44:06 +00:00
Gary V. Vaughan
40802126fd default is to allow undefined symbols in libraries 1999-01-07 16:13:02 +00:00
Gary V. Vaughan
995b5afa7b use absolute directory paths in dllsearchpath 1999-01-06 17:51:59 +00:00
Alexandre Oliva
e1d24d3b02 * ltmain.in (libobjs_save, oldobjs): when building an
old-fashioned archive, use a copy of libobjs saved before
 	convenience libraries are appended

	* libltdl/ltdl.h (_LTDLL_EXPORT, _LTDLL_IMPORT): use cygwin or
	unix library import/export primitives; this may be convenient for
	people willing to create DLLs
	(_LTDLL_EXTERN): select _LTDLL_EXPORT or _LTDLL_IMPORT depending
	on _LTDL_COMPILE_
	* libltdl/ltdl.h, libltdl/ltdl.c (lt_dlpreopen): new function,
 	that replaces the current preloaded_symbols list with its
 	argument, and returns the old value, initially NULL
	(dldpre_init): don't refer to dld_preloaded_symbols any more
	(dldpre_open, dldpre_sym): search preloaded_symbols
	(lt_dlpreopen_default): call lt_dlpreopen with
	dld_preloaded_symbols, that is declared as extern; it should be
	called from the main program or from some static library without
	-no-undefined
	(lt_dlerror): new function, that returns the error message for the
	last error occurred; the error message is kept in the static
	variable last_error
	* libltdl/configure.in (enable-ltdl-install): moved back from
	enable-install; other packages might use enable-install already,
	better have fine grained control over this.
	* libltdl/Makefile.am (libltdls.la): discarded
1999-01-05 23:13:44 +00:00
Thomas Tanner
bd9c24ae34 *** empty log message *** 1999-01-05 18:15:22 +00:00
Alexandre Oliva
43769b5711 * ltmain.in (SP2NL, NL2SP): Don't delete empty lines, as this
would lose for files with embedded blanks.
1999-01-05 15:10:33 +00:00
Alexandre Oliva
9a1c15d7cf * ltconfig.in (cygwin, archive_cmds, archive_sym_cmds): Moved
ltdll.c into ltmain.in, to avoid its duplication, and added a sed
 	script to extract it.  Also, create def and base files in $objdir,
 	and don't remove them after the compilation.
	(cygwin, library_names_spec): Create static part of the dll with
 	suffix -dll.a, to avoid conflicts with actual static libraries.
	* ltmain.in: Added ltdll.c, as commented out text
1999-01-05 08:51:02 +00:00
Thomas Tanner
ec45a29680 *** empty log message *** 1999-01-01 20:01:09 +00:00
Thomas Tanner
48218d83e7 *** empty log message *** 1998-12-31 11:25:57 +00:00
Thomas Tanner
34e91b88c1 *** empty log message *** 1998-12-29 14:40:13 +00:00
Thomas Tanner
f55fd32f91 *** empty log message *** 1998-12-27 20:04:12 +00:00
Gary V. Vaughan
7791b0d40b fix deplibs for non ltlibs on win32 1998-12-24 16:02:41 +00:00
Gary V. Vaughan
fa787ea3d3 make wrapper scripts work on win32 1998-12-24 13:40:47 +00:00
Alexandre Oliva
e3be7dc0e1 * ltmain.in (SP2NL, NL2SP): use `tr' magic to avoid passing very
long lines to sed
	* doc/libtool.texi (sed): very long lines are no longer a problem
1998-12-23 19:40:56 +00:00
Gary V. Vaughan
aa4ae3b112 more improvements for the win32 port 1998-12-23 17:30:12 +00:00
Thomas Tanner
f772ee7a8e *** empty log message *** 1998-12-23 13:28:28 +00:00
Thomas Tanner
1d6e1de8a8 *** empty log message *** 1998-12-21 17:30:48 +00:00
Gary V. Vaughan
7fe8f5c785 misc win32 cleanups 1998-12-21 13:04:14 +00:00
Thomas Tanner
bd8bb66bb7 *** empty log message *** 1998-12-19 19:30:30 +00:00
Thomas Tanner
23d413543d *** empty log message *** 1998-12-18 22:23:51 +00:00
Stephan Kulow
779c2f4108 * ltmain.in (freebsd-aout, freebsd-elf): added missing dot to
versuffix
1998-12-16 03:56:49 +00:00
Alexandre Oliva
64b3cf7ae9 * ltmain.in (-DSTATIC): changed to -DLIBTOOL_STATIC, and defined
only for -force-static; it should be removed soon, before people
	start to use it
1998-12-16 02:28:53 +00:00
Thomas Tanner
1c3b55c703 *** empty log message *** 1998-12-11 23:21:03 +00:00
Alexandre Oliva
e8e76d36b5 * ltmain.in (convenience, deplibs): propagate dependencies
* libltdl/Makefile.am (noinst_HEADERS): don't install ltdl.h yet
	(noinst_LTLIBRARIES): ditto for libltdl.la
1998-12-09 07:51:54 +00:00
Thomas Tanner
f906af718a *** empty log message *** 1998-12-08 13:12:10 +00:00
Thomas Tanner
c23e0a74db *** empty log message *** 1998-12-03 20:49:31 +00:00
Thomas Tanner
3ce33a45f6 *** empty log message *** 1998-12-01 22:35:00 +00:00
David Heine
2a0eaa6262 * ltmain.in (pass_all): actively pass the flags 1998-11-25 01:00:15 +00:00
Thomas Tanner
a4f2b1f846 *** empty log message *** 1998-11-23 21:26:38 +00:00
Alexandre Oliva
39eaa038a1 * ltmain.in: missing test' between &&' and `"$module"' 1998-11-19 20:31:26 +00:00
Alexandre Oliva
cc297c844f * ltmain.in (installed): new variable defined within a .la file,
so that libtool can now link already-installed libraries into a
	program.
	* NEWS: ditto
	* doc/libtool.texi (Linking executables): document it
1998-11-19 18:01:07 +00:00
Alexandre Oliva
1d3fb4e061 * ltmain.in (output_objdir): compute it from $output, not $arg 1998-11-19 13:54:59 +00:00
Alexandre Oliva
e76ee47bce * NEWS: -module and libtldl
* mdemo/Makefile.am: ../libltdl is within $(srcdir)

	* libltdl, Makefile.am: added libltdl (a system independent
	dlopen wrapper library extracted from mdemo)
	* ltmain.in: added -module flag for compiling and linking of
	modules. If enabled it compiles always both .o (with -DLT_RENAME)
	and .lo files
	* mdemo: modified mdemo to work with libltdl
	* tests/ltdl*: added tests for libltdl
1998-11-18 07:29:36 +00:00
Steve Price
f862078a89 * ltconfig.in: when $host_os is freebsd[23]* determine whether
the current linker format is a.out or ELF
	* ltmain.in: add two new $version_type's, freebsd-aout and
	freebsd-elf, to support above change
1998-11-16 19:39:25 +00:00
Alexandre Oliva
76d675ff0f * ltmain.in (C_compiler): copy $CC before it is overwritten with
command-line compiler, so that we can use it to compile C sources
 	generated during the build.  This fixes the problem that showed up
	with -export-dynamic of C++ programs in egcs 1.1.
	* NEWS: ditto
1998-11-16 08:10:45 +00:00
Alexandre Oliva
b0555f70c8 * ltmain.in (IFS): revert Gary's patch when parsing version
information; we still use `:' here :-)
1998-11-11 22:21:35 +00:00
Alexandre Oliva
2d37f44824 * ltconfig.in: make use of '~' field separator in reload_cmds,
old_archive_from_new_cmds, old_archive_cmds, archive_cmds,
 	old_postinstall_cmds, postinstall_cmds, old_postuninstall_cmds,
 	postuninstall_cmds and finish_cmds, so that the semi-colons inside
 	if/then/else/fi and for/do/done etc. do not break the eval loop in
 	ltmain.in (below).
        * ltmain.in: changed all of the eval loops to use an IFS of `~',
 	to allow differentiation between the end-of-statement-;
	(now `~' is used) and end-of-substatement-; (still `;').  This
 	fixes AIX and win32 at least.
1998-11-11 21:12:30 +00:00
Toshio Kuratomi
cfae038fa3 * ltconfig.in: re-enable deplibs
* ltmain.in: support deplibs, at least for GNU/Linux/x86
1998-11-11 01:47:02 +00:00
Gordon Matzigkeit
3c8bd8bf24 Second try at relink warning message.
CVS:
CVS:
1998-11-10 22:11:09 +00:00
Gordon Matzigkeit
516e84bd94 Soften the relink warning.
CVS:
CVS:
1998-11-10 22:04:14 +00:00
Alexandre Oliva
69ef5488f6 * ltconfig.in: add --falback-echo, to be used if everything else
fails.  The tests now check the behavior of $echo for very large
 	strings, because some echo commands would just core dump (e.g.,
 	Solaris' printf).  If too large strings fail, smaller ones are
 	tested.
	(ltecho): arrange that, if the --fallback-echo method is selected,
	echo will be defined in the libtool script so as to re-run itself,
	not ltconfig
	* ltmain.in: add --fallback-echo
	(qecho) ensure that, if --falback-echo is being used, qecho is
	defined with the full pathname of the libtool script
1998-11-07 07:04:04 +00:00
Alexandre Oliva
8c1f97e1be 1998-11-04 Alexandre Oliva <oliva@dcc.unicamp.br>
* ltconfig.in, ltmain.in: updated and fixed the patches below

1998-11-04  Thomas Tanner  <tanner@gmx.de>

	* mdemo/*: added new demo to demonstrate building of dlopenend
	modules
	* tests/Makefile.am, tests/mdemo*: added some tests for mdemo

1998-11-04  Gary V. Vaughan  <gvaughan@oranda.demon.co.uk>

	* demo/configure.in: added AC_EXEEXT macro so that the tests can
 	work on cywin32/mingw32 hosts.  This requires the current CVS
 	autoconf

1998-11-04  Thomas Tanner  <tanner@gmx.de>

	* ltmain.in: New flag -export-symbols; new dlpreopen system
	* demo/dlmain.c: removed dld_preloaded_symbol_count

1998-11-04  Ian Lance Taylor  <ian@cygnus.com>

	* ltmain.in: On installation, don't get confused if the same name
	appears more than once in the list of library names.

1998-11-04  Ian Lance Taylor  <ian@cygnus.com>

	* ltconfig.in: Add objext and libext variables.  Check for object
	suffix.  Check for mingw32* as well as cygwin32*.  Use objext when
	testing compiler.  Add support for Visual C++ on cygwin32 when not
	using gcc.  Add objext, libext, and fix_srcfile_path to generated
	libtool script.
	* ltmain.in: Use .${objext} rather than .o.  Use fix_srcfile_path
	if it is set.  Check for .obj as well as for .o, and for .lib as
	well as for .a.  Use .${libext} rather than .a when creating old
	libraries.
	* libtoolize.in: Change initial /bin/sh to @SHELL@.
	* libtool.m4 (AM_PROG_LIBTOOL): Add AC_REQUIRE for
	AC_CANONICAL_BUILD, so that autoconf doesn't get mixed up by the
	AC_REQUIRE in AC_CHECK_TOOL.

1998-11-04  Ian Lance Taylor  <ian@cygnus.com>

	* ltconfig.in: Look in the right directory for libtool.c in
	archive_cmds for cygwin32.

1998-11-04  Ian Lance Taylor  <ian@cygnus.com>

	* ltconfig.in: Fix cygwin32 support to avoid using a double
	extension, to delete the def file, to set version_type to windows,
	and to include versuffix in the DLL name.
	* ltmain.in: Add support for a version_type of windows.

1998-11-04  Ian Lance Taylor  <ian@cygnus.com>

	* ltconfig.in: Add cygwin32 support.
	* libtool.m4 (AM_PROG_LIBTOOL): Call AM_SYS_LIBTOOL_CYGWIN32 on a
	cygwin32 host.  Pass DLLTOOL and AS to ltconfig.
	(AM_SYS_LIBTOOL_CYGWIN32): New macro.
1998-11-04 09:43:29 +00:00
Alexandre Oliva
1168e3b550 * ltconfig.in (compiler_o_lo): check whether we can write directly
to a .lo
	* ltmain.in (compiler_o_lo): if not, write to .o and rename it
1998-11-04 07:10:43 +00:00
Ian Lance Taylor
c6c2f3ad4a * ltconfig.in: For sunos4 using GNU ld, set hardcode_minus_L to
no.
	* ltmain.in: Add some hacks to make SunOS --enable-shared work
	when using GNU ld.
1998-11-04 06:17:44 +00:00
Alexandre Oliva
09a44649a3 * ltconfig.in (need_locks): if neither `-c -o' nor hard links are
available, fallback to not so safe mechanism, by setting
	need_locks to warn
	* ltmain.in (need_locks): when need_locks is set to warn, use the
	lockfile to try to fail in case of incorrect concurrent builds
1998-11-04 05:50:33 +00:00
Eric Estievenart
8747a04ff9 * doc/libtool.texi (Compile mode): Document that -o is fully
supported.

	* libtool.m4 (libtool-lock): new ARG_ENABLE; sets (need_locks)
	* ltconfig.in (disable-lock): control need_locks
	(hard_links): check whether hard-links can be used for locking
	* ltmain.in (need_locks): use $output_obj.lock for locking
1998-11-04 04:13:03 +00:00
Alexandre Oliva
9175e38188 thou shalt not commit before make check :-) 1998-11-04 03:20:34 +00:00
Alexandre Oliva
d630d91159 * ltmain.in: correctly create libraries and programs with
directory components in their names
1998-11-04 02:09:16 +00:00
Eric Estievenart
b13aa06d7d * ltmain.in (output_obj): typo 1998-11-03 22:04:13 +00:00
Ian Lance Taylor
2b891d56f4 * ltconfig.in: For sunos4, add ${libname}.so$versuffix to
library_names_spec.
	* ltmain.in: For version_type of sunos, set versuffix even if
	-version-info was not used.
1998-11-02 23:05:42 +00:00
Alexandre Oliva
00342f45b1 * ltmain.in (libobj): default value must not contain directory
components

	* ltconfig.in (compiler): detect if the compiler supports
	-c and -o flags, create a variable compiler_c_o. Also issue
	a big warning if it is not supported

	* ltmain.in (compile): enable the -o option as input for libtool.
	The objects are not moved if the compiler supports -o with -c.
	Sources and objects can contain relative directories.
	(link): enable the linking of executables into relative directories
1998-11-02 17:21:52 +00:00
Gordon Matzigkeit
3474787b39 *** empty log message *** 1998-10-14 22:40:18 +00:00
Gordon Matzigkeit
c6d1fb8b49 *** empty log message *** 1998-08-20 15:48:13 +00:00
Gordon Matzigkeit
80ab78bf41 *** empty log message *** 1998-07-01 08:12:49 +00:00
Gordon Matzigkeit
ed1bcd818a *** empty log message *** 1998-05-30 19:18:08 +00:00
Gordon Matzigkeit
e6f7cc5c13 *** empty log message *** 1998-05-18 11:03:32 +00:00
Gordon Matzigkeit
c71779678a *** empty log message *** 1998-04-27 15:10:35 +00:00
Gordon Matzigkeit
59abbf0c10 *** empty log message *** 1998-04-19 19:29:28 +00:00
Gordon Matzigkeit
b0f0d520a8 *** empty log message *** 1998-04-14 16:29:20 +00:00
Gordon Matzigkeit
91706dabe2 *** empty log message *** 1998-03-20 07:58:42 +00:00
Gordon Matzigkeit
45177bb117 *** empty log message *** 1998-03-09 05:34:02 +00:00
Gordon Matzigkeit
0f57773de1 *** empty log message *** 1998-03-05 16:23:43 +00:00
Gordon Matzigkeit
54c920be96 *** empty log message *** 1998-02-16 20:13:54 +00:00
Gordon Matzigkeit
831a978fa1 *** empty log message *** 1998-02-12 05:45:15 +00:00
Gordon Matzigkeit
af5498d64d *** empty log message *** 1998-02-06 08:38:29 +00:00
Gordon Matzigkeit
73d4ab260a *** empty log message *** 1998-02-06 07:36:38 +00:00
Gordon Matzigkeit
3c533f8fe9 *** empty log message *** 1998-01-25 19:35:11 +00:00
Gordon Matzigkeit
bb6f3c7353 *** empty log message *** 1997-11-29 21:03:42 +00:00
Gordon Matzigkeit
d55ff88a4f *** empty log message *** 1997-11-29 20:50:36 +00:00
Gordon Matzigkeit
41ced21498 *** empty log message *** 1997-11-28 17:23:28 +00:00
Gordon Matzigkeit
5368cd4ce3 *** empty log message *** 1997-11-27 16:57:00 +00:00
Gordon Matzigkeit
0248cf1ca6 *** empty log message *** 1997-11-14 18:04:44 +00:00
Gordon Matzigkeit
ff915e483e *** empty log message *** 1997-11-08 06:25:09 +00:00
Gordon Matzigkeit
44664c0734 *** empty log message *** 1997-11-06 16:59:31 +00:00
Gordon Matzigkeit
8c548bdd7f *** empty log message *** 1997-10-22 05:00:03 +00:00
Gordon Matzigkeit
7c5fe1050f *** empty log message *** 1997-10-20 01:24:09 +00:00
Gordon Matzigkeit
976a17a76d *** empty log message *** 1997-10-19 18:53:23 +00:00
Gordon Matzigkeit
8264f115e6 *** empty log message *** 1997-10-14 18:33:24 +00:00
Gordon Matzigkeit
43de71de11 *** empty log message *** 1997-09-15 14:12:49 +00:00
Gordon Matzigkeit
7ed1d38ae8 Initial revision 1997-09-15 12:31:09 +00:00