Go to file
Scott James Remnant 0550115589 Further sweeping changes to the user interface to libtool from
`configure.ac' to allow users to better control the list of
supported languages.  Three LT_INIT options 'no-lang', 'all-lang'
and 'auto-lang' (the default) control the initial list and others
may be added with LT_LANG.

* m4/libtool.m4 (_LT_CONFIG): Renamed AC_LIBTOOL_CONFIG to _LT_CONFIG
which is more consistent with our own namespace and gets us further out
of Autoconf's.
(_LT_LIBTOOL_TAGS): Output available_tags variable based entirely
on the value of _LT_TAGS.
(_LT_COPYING): Call _LT_LIBTOOL_TAGS to output available tags,
always append tag configuration if the tag is available.
(LT_LANG): New macro to enable support for a language that accepts
tag names (eg. "CXX") or human language names (eg. "C++").
(_LT_LANG): Internal support macro for above that appends the
tag to _LT_TAGS and calls the appropriate config macro.
(LT_INIT): Ensure that LT_LANG is not called before LT_INIT.
(AC_LIBTOOL_TAGS): Removed, call LT_LANG for each language now.
(_LT_AC_TAG_CHECK): Removed, _LT_LANG handles duplicate calls.
(_LT_LANG_DEFAULT_CONFIG): Macro to set initial language support
based on options passed to LT_INIT.
(_LT_SETUP): Call _LT_LANG_DEFAULT_CONFIG.
(_LT_AC_TAG_CONFIG): Removed, handled by _LT_LANG_DEFAULT_CONFIG.
(_LT_AC_LANG_CXX, _LT_AC_LANG_F77, _LT_AC_LANG_GCJ): Removed,
automatic language support inclusion now handled by
_LT_LANG_DEFAULT_CONFIG.
(AC_LIBTOOL_CXX): Obsolete macro, update to LT_LANG(C++).
(AC_LIBTOOL_F77): Obsolete macro, update to LT_LANG(Fortran 77).
(AC_LIBTOOL_GCJ): Obsolete macro, update to LT_LANG(Java).
(AC_LIBTOOL_LANG_C_CONFIG_: Removed.
(_LT_AC_LANG_C_CONFIG): Renamed to _LT_LANG_C_CONFIG, call
_LT_CONFIG instead of AC_LIBTOOL_CONFIG.
(_LT_SETUP): Replace call to AC_LIBTOOL_LANG_C_CONFIG with call to
new _LT_LANG_C_CONFIG macro.
(AC_LIBTOOL_LANG_CXX_CONFIG): Removed.
(_LT_AC_LANG_CXX_CONFIG): Renamed to _LT_LANG_CXX_CONFIG, call
_LT_CONFIG instead of AC_LIBTOOL_CONFIG.
(AC_LIBTOOL_LANG_F77_CONFIG): Removed.
(_LT_AC_LANG_F77_CONFIG): Renamed to _LT_LANG_F77_CONFIG, call
_LT_CONFIG instead of AC_LIBTOOL_CONFIG.
(AC_LIBTOOL_LANG_GCJ_CONFIG): Removed.
(_LT_AC_LANG_GCJ_CONFIG): Renamed to _LT_LANG_GCJ_CONFIG, call
_LT_CONFIG instead of AC_LIBTOOL_CONFIG.
(AC_LIBTOOL_LANG_RC_CONFIG): Removed.
(_LT_AC_LANG_RC_CONFIG): Renamed to _LT_LANG_RC_CONFIG, call
_LT_CONFIG instead of AC_LIBTOOL_CONFIG.
(LT_AC_PROG_GCJ): Renamed to LT_PROG_GCJ.
(LT_AC_PROG_RC): Renamed to LT_PROG_RC.
* m4/ltoptions.m4: Define new 'no-lang', 'auto-lang' and 'all-lang'
options which set the default for _LT_LANG_DEFAULT_CONFIG.
* m4/lt~obsolete.m4: Removed AC_LIBTOOL_CONFIG, _LT_AC_LANG_C_CONFIG,
_LT_AC_LANG_GCJ_CONFIG, _LT_AC_LANG_RC_CONFIG; all of which are no
long referenced in any way.
* configure.ac: Enable all languages.
* tests/cdemo/configure.ac, tests/demo/configure,ac,
tests/depdemo/configure.ac, tests/f77demo/configure.ac,
tests/mdemo/configure.ac, tests/pdemo/configure,ac,
tests/tagdemo/configure.ac: Remove calls to AC_LIBTOOL_TAGS,
the default 'auto-lang' mode now does the right thing.
* doc/libtool.texi (The LT_INIT macro): Add documentation for
new LT_INIT options and the LT_LANG macro, replacing the old
documentation of AC_LIBTOOL_TAGS which is no more.
* NEWS: Updated.
2004-03-21 16:05:28 +00:00
config * ltmain.in, libtoolize.in, commit, config/mailnotify: Correctly 2004-02-13 07:26:08 +00:00
doc Further sweeping changes to the user interface to libtool from 2004-03-21 16:05:28 +00:00
libltdl This fixes a bug in the libtoolize ltdl source installation rules, 2004-01-22 22:25:43 +00:00
m4 Further sweeping changes to the user interface to libtool from 2004-03-21 16:05:28 +00:00
mail Roll back copyright changes. 2004-01-04 20:45:24 +00:00
tests Further sweeping changes to the user interface to libtool from 2004-03-21 16:05:28 +00:00
.cvsignore * .cvsignore: Ignore stamp-vcl created by the Makefile. 2004-01-02 02:25:20 +00:00
AUTHORS "Test CVS commit by adding [myself] to the AUTHORS file" 2003-11-04 22:51:31 +00:00
bootstrap * bootstrap: Prune out my arch mirror dir before running 2004-03-04 17:45:43 +00:00
ChangeLog Further sweeping changes to the user interface to libtool from 2004-03-21 16:05:28 +00:00
ChangeLog.1996 * ChangeLog, ChangeLog.0, ChangeLog.1: Refactored... 2003-10-21 13:32:53 +00:00
ChangeLog.1997 * ChangeLog, ChangeLog.0, ChangeLog.1: Refactored... 2003-10-21 13:32:53 +00:00
ChangeLog.1998 * ChangeLog, ChangeLog.0, ChangeLog.1: Refactored... 2003-10-21 13:32:53 +00:00
ChangeLog.1999 * ChangeLog, ChangeLog.0, ChangeLog.1: Refactored... 2003-10-21 13:32:53 +00:00
ChangeLog.2000 * ChangeLog, ChangeLog.0, ChangeLog.1: Refactored... 2003-10-21 13:32:53 +00:00
ChangeLog.2001 * ChangeLog, ChangeLog.0, ChangeLog.1: Refactored... 2003-10-21 13:32:53 +00:00
ChangeLog.2002 * ChangeLog, ChangeLog.0, ChangeLog.1: Refactored... 2003-10-21 13:32:53 +00:00
ChangeLog.2003 * ChangeLog.2003: New file, containing all the ChangeLog entries 2004-01-06 19:43:09 +00:00
commit * commit (SHELL): Set it explicitly, incase some madman is using 2004-02-18 09:55:53 +00:00
configure.ac Further sweeping changes to the user interface to libtool from 2004-03-21 16:05:28 +00:00
libtoolize.in * libtoolize.in: Remove --ltdl-tar. It doesn't work with the 2004-03-05 17:34:25 +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 * ltmain.in (link_all_deplibs,darwin): Link libraries in the 2004-03-14 14:36:54 +00:00
Makefile.am * Makefile.am (m4/ltversion.m4): Generate serial number by 2004-02-15 17:57:31 +00:00
Makefile.maint * Makefile.maint (web-manual): Generate the web manual carefully 2004-02-22 16:12:15 +00:00
NEWS Further sweeping changes to the user interface to libtool from 2004-03-21 16:05:28 +00:00
PORTING * PORTING: removed the text Akim Demaille converted to .texi 1998-12-09 12:37:37 +00:00
README * README: Remove "Important" information about patching automake. 2003-03-22 06:34:27 +00:00
README-alpha * Makefile.maint (web-manual): Generate the web manual carefully 2004-02-22 16:12:15 +00:00
THANKS Added myself to AUTHORS, removed from THANKS. 2003-09-11 12:43:30 +00:00
TODO * m4/ltversion.in: New file to capture what version number macros 2004-02-06 17:23:40 +00:00

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

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*)
  Darwin 5.x, 6.x a.k.a Mac OS X (*-*-darwin*) [see note]
  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.

NOTE: In some cases support is more limited on Darwin 5.x because of
the use of zsh as the default system shell.

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'.