/[libtool]/libtool/README
ViewVC logotype

Diff of /libtool/README

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.17.2.1 by rboehne, Mon Apr 14 22:48:00 2003 UTC revision 1.17.2.2 by pogma, Thu Feb 3 13:55:05 2005 UTC
# Line 1  Line 1 
1    GNU Libtool
2    ***********
3    
4    Introduction
5    ============
6    
7  This is GNU Libtool, a generic library support script.  Libtool hides  This is GNU Libtool, a generic library support script.  Libtool hides
8  the complexity of using shared libraries behind a consistent, portable  the complexity of using shared libraries behind a consistent, portable
9  interface.  interface.
# Line 6  To use libtool, add the new generic libr Line 12  To use libtool, add the new generic libr
12  Makefile, Makefile.in, or Makefile.am.  See the documentation for  Makefile, Makefile.in, or Makefile.am.  See the documentation for
13  details.  details.
14    
15  Libtool supports building static libraries on all platforms.  See the info node (libtool)Tested Platforms. (or the file
16    doc/PLATFORMS) for a list of platforms that libtool supports.
 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.  
17    
18  Libtool's home page is:  Libtool's home page is:
19    
# Line 70  See the file NEWS for a description of r Line 24  See the file NEWS for a description of r
24  See the file INSTALL for instructions on how to build and install  See the file INSTALL for instructions on how to build and install
25  libtool.  libtool.
26    
27  See the info node (libtool)Tested Platforms. (or the file  Version Numbering
28  doc/PLATFORMS) for a list of platforms that libtool shared library  =================
29  support was tested on.  
30    Note the version numbers in the libtool-1.5.x series are a little strange,
31    the micro version (x) jumps by two on each release. The version in cvs always
32    has an odd micro version, while only released versions have even micro versions.
33    This will change again in the future. For more information about version
34    numbers see:
35    
36        http://www.gnu.org/software/libtool/contribute.html
37        
38    
39    Reporting Bugs
40    ==============
41    
42  If you have any suggestions or bug reports, or you wish to port  If you have any suggestions or bug reports, or you wish to port
43  libtool to a new platform, please send electronic mail to the libtool  libtool to a new platform, please send electronic mail to the libtool
44  mailing list <libtool@gnu.org> or bug reports to <bug-libtool@gnu.org>.  mailing list <libtool@gnu.org> or bug reports to <bug-libtool@gnu.org>.
45  Don't forget to mention the version of libtool that you are currently  Be sure to include the version of libtool that you are using - you can find
46  using (by typing `libtool --version').  out with `./libtool --version'. Also give as much information as necessary on
47    your OS, compiler and other build tools.
48    
 People have complained that they find the version numbering scheme  
 under which libtool is released confusing... it works like this:  
49    
50          <major-number>.<minor-number>  The Test Suite
51    ==============
52    
53    Libtool comes with an integrated set of tests to check that your build
54    is sane.  You can run the entire suite like this:
55    
56      make check
57    
58    The tests run in groups in the various demo subdirectories, so if one
59    of the tests early in a group FAILs, the rest of the tests in that
60    group will be SKIPPED.  If you see a FAIL further into a group, even
61    if a test with the same name PASSes in another test group, you need to
62    take note of the name of the first test in the group if you want to
63    rerun the group with FAILures to get verbose output.
64    
65    To run a test group in isolation (say, you think you have fixed a bug,
66    but don't want to rerun the entire suite), you can do it like this:
67    
68      env TESTS='cdemo-static.test cdemo-make.test cdemo-exec.test' make check
69    
70    Providing that you have a FAIL from the most recent group from a
71    particular demo directory (like the cdemo-static.test group above), you
72    can explore the state of the directory to help with debugging.
73    
74    If you wish to report a test group failure to the libtool list, you
75    need to send the verbose output of the FAILing group, along with
76    information such as the host OS, compiler tools, shell etc. to the
77    bug report mailing list, <bug-libtool@gnu.org>.  You can generate verbose
78    test output like this:
79    
80      env VERBOSE=1 TESTS='cdemo-static.test cdemo-make.test cdemo-exec.test' \
81      make check
82    
83    Alternatively, because each test is a shell script, in a non VPATH build,
84    you can simply execute the tests, they will be verbose.
85    
86    Notes
87    =====
88    
89    1)  Some HP-UX sed programs are horribly broken, and cannot handle
90    libtool's requirements, so users may report unusual problems.  There
91    is no workaround except to install a working sed (such as GNU sed) on
92    these systems.
93    
94    2)  The vendor-distributed NCR MP-RAS cc programs emits copyright
95    on standard error that confuse tests on size of conftest.err.  The
96    workaround is to specify CC when run configure with CC='cc -Hnocopyr'.
97    
98    3)  Any earlier DG/UX system with ELF executables, such as R3.10 or
99    R4.10, is also likely to work, but hasn't been explicitly tested.
100    
101  Releases with a <major-number> less than 1 were not yet feature  4)  On Reliant Unix libtool has only been tested with the Siemens C-compiler
102  complete.  If libtool ever undergoes a major rewrite or substantial  and an old version of gcc provided by Marco Walther.
 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.3b' 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'.  
103    
104    5)  libtool.m4, ltdl.m4 and the configure.ac files are marked to use
105    autoconf-mode, which is distributed with GNU Emacs 21, Autoconf itself, and
106    all recent releases of XEmacs.
107    
108    6)  The default shell on UNICOS 9, a ksh 88e variant, is too buggy to
109    correctly execute the libtool script.  Users are advised to install a
110    modern shell such as GNU bash.

Legend:
Removed from v.1.17.2.1  
changed lines
  Added in v.1.17.2.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26