Go to file
Ralf Wildenhues c003219f02 * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER)
(_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS)
(_LT_LANG_CXX_CONFIG, _LT_SYS_HIDDEN_LIBDEPS) [ interix ]: When
matching for interix, accept version range [3-9] instead of 3.
* NEWS: Update.
Report by Martin Koeppe <mkoeppe@gmx.de>.
2007-03-18 18:08:50 +00:00
doc * README: Document the need for GNU make to build Libtool. 2007-02-25 15:33:24 +00:00
libltdl * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) 2007-03-18 18:08:50 +00:00
mail Roll back copyright changes. 2004-01-04 20:45:24 +00:00
tests * tests/stresstest.at: For const data object imported from 2007-03-06 22:30:15 +00:00
.cvsignore * .cvsignore, doc/.cvsignore, libltdl/.cvsignore, 2006-06-13 18:36:56 +00:00
AUTHORS * AUTHORS, HACKING: Updated. 2005-08-08 06:47:42 +00:00
bootstrap * HACKING, Makefile.am, Makefile.maint, bootstrap, 2007-02-26 07:44:25 +00:00
ChangeLog * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) 2007-03-18 18:08:50 +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 * doc/libtool.texi: Typo fixes. 2007-01-21 14:34:01 +00:00
ChangeLog.1999 * doc/libtool.texi: Typo fixes. 2007-01-21 14:34:01 +00:00
ChangeLog.2000 * ChangeLog, ChangeLog.0, ChangeLog.1: Refactored... 2003-10-21 13:32:53 +00:00
ChangeLog.2001 * doc/libtool.texi: Typo fixes. 2007-01-21 14:34:01 +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
ChangeLog.2004 * doc/libtool.texi: Typo fixes. 2007-01-21 14:34:01 +00:00
ChangeLog.2005 * README, README.alpha: Adjust copyright years. 2006-01-03 13:51:13 +00:00
ChangeLog.2006 * Makefile.am (EXTRA_DIST): Add ChangeLog.2006. 2007-01-21 14:42:58 +00:00
clcommit.m4sh * libltdl/config/general.m4sh (M4SH_VERBATIM): New macro to 2007-03-06 00:46:56 +00:00
configure.ac * libltdl/m4/ltdl.m4 (LT_CONFIG_LTDL_DIR): Add LTDL-MODE 2005-11-07 12:34:27 +00:00
HACKING * libltdl/config/general.m4sh (M4SH_VERBATIM): New macro to 2007-03-06 00:46:56 +00:00
libtoolize.m4sh * libtoolize.m4sh: Replace literal tab chars in help comment 2007-03-09 15:08:43 +00:00
ltmain.c * HACKING, Makefile.am, Makefile.maint, bootstrap, 2007-02-26 07:44:25 +00:00
Makefile.am * libltdl/Makefile.inc: Fix the file description, so that it 2007-02-27 21:59:33 +00:00
Makefile.maint * HACKING, Makefile.am, Makefile.maint, bootstrap, 2007-02-26 07:44:25 +00:00
NEWS * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) 2007-03-18 18:08:50 +00:00
PORTING * PORTING: removed the text Akim Demaille converted to .texi 1998-12-09 12:37:37 +00:00
README * README: Document the need for GNU make to build Libtool. 2007-02-25 15:33:24 +00:00
README.alpha * README: Document the need for GNU make to build Libtool. 2007-02-25 15:33:24 +00:00
THANKS * libltdl/m4/libtool.m4 (LT_PROG_GCJ): Avoid M4 expansion error 2007-03-18 17:40:35 +00:00
TODO * doc/libtool.texi: Typo fixes. 2007-01-21 14:34:01 +00:00

GNU Libtool
***********

1. Introduction
===============

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'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 generic instructions on how to build and install
Libtool.  Please see the file doc/notes.txt for some platform-specific
information.  Please note that you need GNU make to build Libtool.

See the info node (libtool)Tested Platforms. (or the file
doc/PLATFORMS) for a list of platforms that Libtool supports.


2. Reporting Bugs
=================

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>.  Be sure
to send us your information from the end of the help message given by
`./libtool --help'.


3. The Test Suites
==================

Libtool comes with two integrated sets of tests to check that your build
is sane.  You can run both test suites like this, assuming that `gmake'
refers to GNU make:

  gmake -k check

If you want to run the old testsuite only, do it like this:

  gmake check TESTSUITEFLAGS=-V

If you want to run the new testsuite only, do it like this:

  gmake check-local

The tests of the old test suite run in groups in the various demo
subdirectories, so if one of the tests early in a group FAILs, the rest
of the tests in that group will be SKIPped.  If you see a FAIL further
into a group, even if a test with the same name PASSes in another test
group, you need to take note of the name of the first test in the group
if you want to rerun the group with FAILures to get verbose output.

To run a test group of the old test suite in isolation (say, you think
you have fixed a bug, but don't want to rerun the entire suite), you can
do it like this:

  gmake check TESTS="tests/cdemo-static.test tests/cdemo-make.test \
                     tests/cdemo-exec.test" \
              TESTSUITEFLAGS=-V

Providing that you have a FAIL from the most recent group from a
particular demo directory (like the cdemo-static.test group above), you
can explore the state of the directory to help with debugging.

If you wish to report a test group failure to the libtool list, you need
to send the verbose output of the FAILing group, along with the
information from the end of `$(top_builddir)/libtool --help' to the bug
report mailing list, <bug-libtool@gnu.org> with a subject line that
includes the string `[TEST FAILURE]'.  From a Bourne compatible shell,
you can generate verbose test output like this:

  VERBOSE=yes gmake check \
  TESTS="tests/cdemo-static.test tests/cdemo-make.test tests/cdemo-exec.test" \
  TESTSUITEFLAGS=-V | tee cdemo-static-group.log

In order to enable debug shell tracing, use VERBOSE=debug instead of
VERBOSE=yes.


In the long run, Libtool will move to using only the new,
Autotest-driven testsuite.  Its usage is documented in

  info Autoconf 'testsuite Invocation'

but simple help may also be obtained through

  gmake check-local TESTSUITEFLAGS='--help'

For verbose output, add the flag `-v', for running only a subset of the
independent tests, merely specify them by number or by keyword, both of
which are displayed with the `--list' flag.

If you wish to report test failures to the libtool list, you need to
send the file `tests/testsuite.log' to the bug report mailing list,
<bug-libtool@gnu.org>.

4. Version Numbering
====================

People have complained that they find the version numbering scheme under
which libtool is released confusing... so we've changed it!

It works like this:

	<major-number>.<minor-number>

Releases with a <major-number> less than 1 were not yet feature
complete.  Releases with a <major-number> of 1 used the old numbering
scheme that everyone disliked so much.  Releases with a <major-number>
of 2 us the new scheme described here.  If libtool ever undergoes a
major rewrite or substantial restructuring, the <major-number> will be
incremented again.

If we make a patch release to fix bugs in a stable release, we use a
third number, so:

      <major-number>.<minor-number>.<micro-number>

Version numbers are chosen to make it easy for users to decide two
things:

  Q: How `developed' is this release?
  A: The higher the number, the better!
  Q: How `stable' is this release?
  A: - If the <minor-number> is even, it is a stable release, `2.0'.
     - If the <minor-number> is odd, it is a development version with
       new features compared to the last stable release, `2.1a'.
     - If it has an `odd'[1] letter after the version number,  it is a
       snapshot direct from CVS, `2.1a'.
     - If it has an `even'[1] letter after the version number, it is an
       alpha quality release, `2.1b'.
     - If it has three numbers in the version, it is a patch release,
       fixing bugs from the stable release (with no new features), `2.0.1'.

[1] 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.  Since the odd lettered
    version numbers cover many states of the tree, we also qualify them
    by adding the cvs version of the ChangeLog:

    $ libtool --version
    ltmain.sh (GNU libtool 1.1603 2004/09/12 22:02:07) 2.1a

    Copyright (C) 2004  Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

For more details about version numbers, see:

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

-- 
Copyright (C) 2004, 2005 Free Software Foundation, Inc.

The canonical source of this file is maintained with the
GNU Libtool package.  Report bugs to bug-libtool@gnu.org.

GNU Libtool is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

As a special exception to the GNU General Public License,
if you distribute this file as part of a program or library that
is built using GNU libtool, you may include it under the same
distribution terms that you use for the rest of that program.

GNU Libtool is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Libtool; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301  USA


Local Variables:
mode: text
fill-column: 72
End:
vim:tw=72