Go to file
Charles Wilson c93daf5c91 * libtool.m4 (_LT_AC_LOCK): remove support for ancient
versions of mingw and cygwin.
(AC_LIBTOOL_POSTDEP_PREDEP): new function.
moved the "find hidden library dependencies" code here
from AC_LIBTOOL_LANG_CXX_CONFIG.  Attempted to make it
multi-tag compatible, but currently only CXX calls it.
(AC_LIBTOOL_LANG_CXX_CONFIG): set
enable_shared_with_satic_runtimes to 'no' by default
Set it to 'yes' for cygwin, mingw, pw32. Replace
"find hidden library dependencies" code with a call
to the new function AC_LIBTOOL_POSTDEP_PREDEP.
Consolidate cygwin and mingw/pw32 stanzas.
(AC_LIBTOOL_LANG_F77_CONFIG): set
enable_shared_with_static_runtimes to 'no' by default
(AC_LIBTOOL_CONFIG): add
enable_shared_with_static_runtimes to the list of variables
to write into ltmain.sh; include it in the libtool script
template as allow_libtool_libs_with_static_runtimes.
(AC_LIBTOOL_PROG_LD_SHLIBS): set
enable_shared_with_static_runtimes to 'no' by default
Set it to 'yes' for cygwin, mingw, pw32.
(AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): only put cr in regexp
if the build_os is mingw, not host_os

* ltmain.in (case deplibs_check_method): for all appropriate
cases, if allow_libtool_libs_with_static_runtimes, then remove
predeps and postdeps from the list of dependencies that must
be checked for "dynamicness".  For the "none" case, the
presence of compiler-generated postdeps and predeps should
not trigger "inter-library dependencies not supported" error.
(initial setup after arg processing): on cygwin/mingw, allow
compiler-generated dependent libs to be duplicated without
elimination.
(initial search loop for deplibs): if the deplib in question
is a libtool lib, then if
allow_libtool_libs_with_static_runtimes then parse the .la file.
If the .la file only has an "old_library", add the deplib
directly to the deplibs list (-lstdc++) and DON'T use the .la
file; this allows the (case deplibs_check_method) change above
to take effect.
* ltmain.in (for pass in $passes loop): remove predeps,
postdeps, and compiler_lib_search_path from dependency_libs.
2002-11-18 15:26:17 +00:00
cdemo * NEWS: Updated. 2002-06-01 14:09:50 +00:00
demo * NEWS: Updated. 2002-06-01 14:09:50 +00:00
depdemo Apply Cygwin patches from Charles Wilson. 2002-10-22 19:29:28 +00:00
doc * doc/libtool.texi: Add --mode=* to every example using libtool. 2002-11-08 19:38:42 +00:00
f77demo * libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): use printf, not 2002-10-31 00:52:39 +00:00
libltdl * libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): use printf, not 2002-10-31 00:52:39 +00:00
mail * docs/libtool.texi: Added pointers to documentation 2000-10-27 20:04:28 +00:00
mdemo * NEWS: Updated. 2002-06-01 14:09:50 +00:00
pdemo * NEWS: Updated. 2002-06-01 14:09:50 +00:00
tagdemo * NEWS: Updated. 2002-06-01 14:09:50 +00:00
tests Apply Cygwin patches from Charles Wilson. 2002-10-22 19:29:28 +00:00
.cvsignore added acinclude.m4 1999-03-14 05:43:03 +00:00
AUTHORS Added Bob Friesenhahn to AUTHORS file 2002-08-28 20:26:54 +00:00
bootstrap * libtool.m4 (AC_PROG_LIBTOOL): Added support for the new F77 2002-07-31 20:15:28 +00:00
ChangeLog * libtool.m4 (_LT_AC_LOCK): remove support for ancient 2002-11-18 15:26:17 +00:00
ChangeLog.0 * AUTHORS: Update my email address. 2000-05-02 22:41:36 +00:00
ChangeLog.1 Merged the last few changes to the multi-language-branch made after the 2001-06-25 20:42:45 +00:00
commit * AUTHORS: Update my email address. 2000-05-02 22:41:36 +00:00
config.guess * NEWS: Fixed wrong path for texinfo.tex. 2002-01-07 22:09:42 +00:00
config.sub * NEWS: Fixed wrong path for texinfo.tex. 2002-01-07 22:09:42 +00:00
configure.ac * libtool.m4 (AC_PROG_LIBTOOL): Added support for the new F77 2002-07-31 20:15:28 +00:00
libtool.m4 * libtool.m4 (_LT_AC_LOCK): remove support for ancient 2002-11-18 15:26:17 +00:00
libtoolize.in * libtoolize.in: The test for whether AC_PROG_LIBTOOL is defined 2001-11-28 00:23:58 +00:00
ltdl.m4 Apply Cygwin patches from Charles Wilson. 2002-10-22 19:29:28 +00:00
ltmain.c * ltmain.in: rewrite of the ILD code, merge linking code for 2000-01-19 20:34:37 +00:00
ltmain.in * libtool.m4 (_LT_AC_LOCK): remove support for ancient 2002-11-18 15:26:17 +00:00
Makefile.am * Makefile.am (cvs-diff): Compress the generated diff file, ready 2002-10-25 01:14:07 +00:00
mkstamp * ltmain.in: rewrite of the ILD code, merge linking code for 2000-01-19 20:34:37 +00:00
NEWS * NEWS: Updated. 2002-06-01 14:09:50 +00:00
PORTING * PORTING: removed the text Akim Demaille converted to .texi 1998-12-09 12:37:37 +00:00
README General cleanup of autoconf-2.50 upgrade: 2001-06-29 22:56:50 +00:00
README-alpha * README-alpha: Add some release not templates for inspiration and 2002-10-25 03:28:43 +00:00
THANKS * NEWS: Updated. 2002-03-03 03:19:55 +00:00
TODO From Kevin Ryde <user42@zip.com.au>: 2002-06-20 06:58:38 +00:00

This is GNU Libtool, a generic library support script.  Libtool hides
the complexity of using shared libraries behind a consistent, portable
interface.

IMPORTANT:
==========

** Until the next release of automake, you should apply the patch at **
** the end of this file to your installed automake script if you     **
** intend to use it in conjunction with this release of libtool.     **


To use libtool, add the new generic library building commands to your
Makefile, Makefile.in, or Makefile.am.  See the documentation for
details.

Libtool supports building static libraries on all platforms.

Shared library support has been implemented for these platforms:
  AIX 3.x, 4.x (*-*-aix3*, *-*-aix4*)
  BeOS (*-*-beos*)
  BSD/OS 2.1, 3.x, 4.x (*-*-bsdi2.1, *-*-bsdi3*, *-*-bsdi4*)
  Digital/UNIX 3.x, 4.x, a.k.a. OSF/1 (*-*-osf3*, *-*-osf4*)
  DG/UX R4.11, R4.12, R4.20 (*-*-dguxR411*, *-*-dguxR412*, *-*-dguxR420*)
  FreeBSD 2.x, 3.x, 4.x (*-*-freebsd2*, *-*-freebsd3*, *-*-freebsd4*)
  GNU Hurd (*-*-gnu*)
  GNU/Linux ELF (*-*-linux-gnu*, except aout, coff, and oldld)
  HP-UX 9.x, 10.x, 11.x (*-*-hpux9*, *-*-hpux10*, *-*-hpux11*) [see note]
  IRIX 5.x, 6.x (*-*-irix5*, *-*-irix6*)
  NCR MP-RAS 3.x (*-ncr-sysv4.3*) [see note]
  NEWS-OS Release 6 (*-*-newsos6)
  Motorola System V 4 (mk88-motorola-sysv4) [see note]
  NetBSD 1.x (*-*-netbsd*)
  OpenBSD 2.x (*-*-openbsd*)
  OS/2 using EMX (*-*-os2*)
  Reliant Unix (*-sni-sysv4) [see note]
  SCO OpenServer 5.x (*-*-sco3.2v5*)
  SCO UnixWare 7.x (*-*-sysv5*)
  Solaris 2.x (*-*-solaris2*)
  SunOS 4.x, a.k.a. Solaris 1.x  (*-*-sunos4*)
  UnixWare 2.x (*-*-sysv4.2uw2*)
  UTS 4.x (*-*-uts4*)
  All ELF targets that use both the GNU C compiler (gcc) and GNU ld

NOTE: Some HP-UX sed programs are horribly broken, and cannot handle
libtool's requirements, so users may report unusual problems.  There
is no workaround except to install a working sed (such as GNU sed) on
these systems.

NOTE: The vendor-distributed NCR MP-RAS cc programs emits copyright
on standard error that confuse tests on size of conftest.err.  The
workaround is to specify CC when run configure with CC='cc -Hnocopyr'.

NOTE: Due to a bug in autoconf cc isn't supported on Motorola System V 4.
You can only use gcc. This bug will hopefully be fixed in autoconf 2.14.

NOTE: Any earlier DG/UX system with ELF executables, such as R3.10 or
R4.10, is also likely to work, but hasn't been explicitly tested.

NOTE: Libtool has only been tested with the Siemens C-compiler and
an old version of gcc provided by Marco Walther you can find on
ftp://ftp.mch.sni.de/sni/mr/pd/gnu/gcc/gcc.2.7.2.3 on Reliant Unix.  

NOTE: libtool.m4, ltdl.m4 and the configure.ac files are marked to use
autoconf-mode, which is distributed with GNU Emacs 21, and all recent
releases of XEmacs.

Libtool's home page is:

  http://www.gnu.org/software/libtool/libtool.html

See the file NEWS for a description of recent changes to libtool.

See the file INSTALL for instructions on how to build and install
libtool.

See the info node (libtool)Tested Platforms. (or the file
doc/PLATFORMS) for a list of platforms that libtool shared library
support was tested on.

If you have any suggestions or bug reports, or you wish to port
libtool to a new platform, please send electronic mail to the libtool
mailing list <libtool@gnu.org> or bug reports to <bug-libtool@gnu.org>.
Don't forget to mention the version of libtool that you are currently
using (by typing `libtool --version').

People have complained that they find the version numbering scheme
under which libtool is released confusing... it works like this:

	<major-number>.<minor-number>

Releases with a <major-number> less than 1 were not yet feature
complete.  If libtool ever undergoes a major rewrite or substantial
restructuring, the <major-number> will be incremented again.  In the
mean time, whenever we make a stable release it will have its 
<minor-number> incremented with respect to the previous stable
release.

So that alpha releases can be distinguished from stable releases,
we append a letter to them, starting with `a' and continuing
alphabetically:

	<major-number>.<minor-number><alpha> 

Since alpha releases are start with the code of a previous stable
release, the <major-number> and <minor-number> are the same as the
stable release they started with.  So release `1.3a' is the first
alpha release after stable release `1.3', and so on.

To complicate matters slightly we always increment the letter in the
repository before *and* after making a release tarball.  This means
that "odd" letters (a,c,e,g...) only exist in the repository, and
"even" letters are used instantaneously for an alpha release.  For
example, you can tell that libtool-1.3c is an alpha release that is a
snapshot of the repository taken between official alpha releases
1.3b and 1.3d.  Since the odd lettered alpha release number potentially
cover many states of the tree, we somtimes qualify such releases by
adding the cvs version of the ChangeLog:

	$ libtool --version
	ltmain.sh (GNU libtool) 1.3c (1.666 2000/01/14 13:50:21)

Finally, if we need to make a patch release to fix bugs in a stable
release, and the development on the trunk has made the tree unstable,
we use a third number, so:

	<major-number>.<minor-number>.<patch number>

	$ libtool --version
	ltconfig (GNU libtool) 1.3.4 (1.385.2.196 1999/12/07 21:47:57)

There might be several patch releases to the last stable release,
and all happening concurrently with alpha releases.  For example,
libtool-1.3.4 and libtool-1.3b might be available at the same time:
`1.3.4' is the fourth patch release after stable release `1.3';
`1.3b' is the first alpha release after stable release `1.3'.

--- /usr/bin/automake	Sat Mar 11 09:25:33 2000
+++ automake	Thu Sep  7 22:08:33 2000
@@ -187,7 +187,7 @@ $seen_libtool = 0;
 $libtool_line = 0;
 
 # Files installed by libtoolize.
-@libtoolize_files = ('ltconfig', 'ltmain.sh', 'config.guess', 'config.sub');
+@libtoolize_files = ('ltmain.sh', 'config.guess', 'config.sub');
 
 # TRUE if we've seen AM_MAINTAINER_MODE.
 $seen_maint_mode = 0;