* m4/libtool.m4 (CXX, archive_cmds) [sun]: Add -lCstd, -lCrun
[libtool.git] / README
blob99c0c0fd801820121ec7da2e8c9cb7f6c2355a58
1 GNU Libtool
2 ***********
4 1. Introduction
5 ===============
7 This is GNU Libtool, a generic library support script.  Libtool hides
8 the complexity of using shared libraries behind a consistent, portable
9 interface.
11 To use libtool, add the new generic library building commands to your
12 Makefile, Makefile.in, or Makefile.am.  See the documentation for
13 details.
15 Libtool's home page is:
17   http://www.gnu.org/software/libtool/libtool.html
19 See the file NEWS for a description of recent changes to libtool.
21 See the file INSTALL for instructions on how to build and install
22 libtool.
24 See the info node (libtool)Tested Platforms. (or the file
25 doc/PLATFORMS) for a list of platforms that libtool supports.
28 2. Reporting Bugs
29 =================
31 If you have any suggestions or bug reports, or you wish to port
32 libtool to a new platform, please send electronic mail to the libtool
33 mailing list <libtool@gnu.org> or bug reports to <bug-libtool@gnu.org>.
34 Be sure to send us your information from the end of the help message
35 given by `./libtool --help'.
38 3. The Test Suite
39 =================
41 Libtool comes with an integrated set of tests to check that your build
42 is sane.  You can run the entire suite like this:
44   make check
46 The tests run in groups in the various demo subdirectories, so if one
47 of the tests early in a group FAILs, the rest of the tests in that
48 group will be SKIPPED.  If you see a FAIL further into a group, even
49 if a test with the same name PASSes in another test group, you need to
50 take note of the name of the first test in the group if you want to
51 rerun the group with FAILures to get verbose output.
53 To run a test group in isolation (say, you think you have fixed a bug,
54 but don't want to rerun the entire suite), you can do it like this:
56   make check TESTS='cdemo-static.test cdemo-make.test cdemo-exec.test'
58 Providing that you have a FAIL from the most recent group from a
59 particular demo directory (like the cdemo-static.test group above), you
60 can explore the state of the directory to help with debugging.
62 If you wish to report a test group failure to the libtool list, you
63 need to send the verbose output of the FAILing group, along with the
64 information from the end of `$(top_builddir)/libtool --help' to the
65 bug report mailing list, <bug-libtool@gnu.org>.  From a bourne
66 compatible shell, you can generate verbose test output like this:
68   VERBOSE=yes make check \
69   TESTS='cdemo-static.test cdemo-make.test cdemo-exec.test' \
70   | tee cdemo-static-group.log
72 In order to enable debug shell tracing, use VERBOSE=debug
73 instead of VERBOSE=yes.
75 4. Version Numbering
76 ====================
78 People have complained that they find the version numbering scheme
79 under which libtool is released confusing... so we've changed it!
81 It works like this:
83         <major-number>.<minor-number>
85 Releases with a <major-number> less than 1 were not yet feature
86 complete.  Releases with a <major-number> of 1 used the old numbering
87 scheme that everyone disliked so much.  Releases with a <major-number>
88 of 2 us the new scheme described here.  If libtool ever undergoes a
89 major rewrite or substantial restructuring, the <major-number> will be
90 incremented again.
92 If we make a patch release to fix bugs in a stable release, we use a
93 third number, so:
95       <major-number>.<minor-number>.<micro-number>
97 Version numbers are chosen to make it easy for users to decide two
98 things:
100   Q: How `developed' is this release?
101   A: The higher the number, the better!
102   Q: How `stable' is this release?
103   A: - If the <minor-number> is even, it is a stable release, `2.0'.
104      - If the <minor-number> is odd, it is a development version with
105        new features compared to the last stable release, `2.1a'.
106      - If it has an `odd'[1] letter after the version number,  it is a
107        snapshot direct from CVS, `2.1a'.
108      - If it has an `even'[1] letter after the version number, it is an
109        alpha quality release, `2.1b'.
110      - If it has three numbers in the version, it is a patch release,
111        fixing bugs from the stable release (with no new features), `2.0.1'.
113 [1] We always increment the letter in the repository before *and* after
114     making a release tarball.  This means that "odd" letters
115     (a,c,e,g...) only exist in the repository, and "even" letters are
116     used instantaneously for an alpha release.  Since the odd lettered
117     version numbers cover many states of the tree, we also qualify them
118     by adding the cvs version of the ChangeLog:
120     $ libtool --version
121     ltmain.sh (GNU libtool 1.1603 2004/09/12 22:02:07) 2.1a
123     Copyright (C) 2004  Free Software Foundation, Inc.
124     This is free software; see the source for copying conditions.  There is NO
125     warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
127 For more details about version numbers, see:
129     http://www.gnu.org/software/libtool/contribute.html
131 -- 
132 Copyright (C) 2004 Free Software Foundation, Inc.
134 The canonical source of this file is maintained with the
135 GNU Libtool package.  Report bugs to bug-libtool@gnu.org.
137 GNU Libtool is free software; you can redistribute it and/or
138 modify it under the terms of the GNU General Public License as
139 published by the Free Software Foundation; either version 2
140 of the License, or (at your option) any later version.
142 As a special exception to the GNU General Public License,
143 if you distribute this file as part of a program or library that
144 is built using GNU libtool, you may include it under the same
145 distribution terms that you use for the rest of that program.
147 GNU Libtool is distributed in the hope that it will be useful,
148 but WITHOUT ANY WARRANTY; without even the implied warranty of
149 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
150 General Public License for more details.
152 You should have received a copy of the GNU General Public License
153 along with GNU Libtool; if not, write to the Free Software
154 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
155 02110-1301  USA
158 Local Variables:
159 mode: text
160 fill-column: 72
161 End: