| 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 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 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 Suite | |
| ================= | |
| Libtool comes with an integrated set of tests to check that your build | |
| is sane. You can run the entire suite like this: | |
| make check | |
| The tests 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 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: | |
| make check TESTS='cdemo-static.test cdemo-make.test cdemo-exec.test' | |
| 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>. From a bourne | |
| compatible shell, you can generate verbose test output like this: | |
| VERBOSE=yes make check \ | |
| TESTS='cdemo-static.test cdemo-make.test cdemo-exec.test' \ | |
| | tee cdemo-static-group.log | |
| In order to enable debug shell tracing, use VERBOSE=debug | |
| instead of VERBOSE=yes. | |
| 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 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: |