Name Date Size

..29-Nov-20194 KiB

.gitattributesH A D13-Aug-201732

.gitignoreH A D13-Aug-2017681

.gitmodulesH A D13-Aug-2017207

.prev-versionH A D13-Aug-20176

.x-update-copyrightH A D13-Aug-201731

AUTHORSH A D13-Mar-20191.9 KiB

bootstrapH A D22-Mar-2019154.2 KiB

bootstrap.confH A D22-Mar-201910.5 KiB

build-aux/H13-Mar-20194 KiB

cfg.mkH A D13-Mar-201910.2 KiB

ChangeLog.oldH A D13-Aug-2017927.1 KiB

configure.acH A D13-Mar-20195.6 KiB

doc/H13-Mar-20194 KiB

gl/H13-Aug-20174 KiB

gl-mod/bootstrap/H13-Aug-20174 KiB

gnulib/H13-Aug-20174 KiB

HACKINGH A D13-Mar-201916.3 KiB

libltdl/H13-Mar-20194 KiB

libtoolize.inH A D13-Mar-201956 KiB

m4/H13-Mar-20194 KiB

mail/H13-Aug-20174 KiB

Makefile.amH A D13-Mar-201928.7 KiB

NEWSH A D13-Mar-201955.7 KiB

NO-THANKSH A D13-Aug-20175.3 KiB

PORTINGH A D13-Aug-2017325

README.mdH A D13-Mar-20199.1 KiB

tests/H13-Mar-20194 KiB

TODOH A D13-Mar-201914 KiB

README.md

1# GNU Libtool
2
31. Introduction
4===============
5
6[GNU Libtool][libtool] is a generic library support script.
7[Libtool][] hides the complexity of using shared libraries behind a
8consistent, portable interface.
9
10Libtool's home page is:
11
12    http://www.gnu.org/software/libtool/libtool.html
13
14See the file [NEWS][] for a description of recent changes to Libtool.
15
16Please note that you can build GNU Libtool from this directory using a
17vendor Make program as long as this is an official release tarball;
18otherwise you will need GNU Make for sane VPATH support.  See the file
19[INSTALL][] for complete generic instructions on how to build and install
20Libtool.  Also, see the file [doc/notes.txt][notes] for some platform-
21specific information.
22
23See the info node (libtool)Tested Platforms. (or the file
24[doc/PLATFORMS][platforms]) for a list of platforms that Libtool already
25supports.
26
27Please try it on all the platforms you have access to:
28
29 * If it builds and passes the test suite (`gmake check`), please send
30   a short note to the [libtool mailing list][libtool list] with a
31   subject line including the string `[PLATFORM]`, and containing the
32   details from the end of `./libtool --help` in the body.
33 * Otherwise, see _Reporting Bugs_ below for how to help us fix any
34   problems you discover.
35
36To use Libtool, add the new generic library building commands to your
37`Makefile`, `Makefile.in`, or `Makefile.am`.  See the documentation for
38details.
39
40[install]: http://git.savannah.gnu.org/cgit/libtool.git/tree/INSTALL
41[libtool]: http://www.gnu.org/s/libtool
42[libtool list]: mailto:libtool@gnu.org
43[news]: http://git.savannah.gnu.org/cgit/libtool.git/tree/NEWS
44[notes]: http://git.savannah.gnu.org/cgit/libtool.git/tree/doc/notes.texi
45[platforms]: http://git.savannah.gnu.org/cgit/libtool.git/tree/doc/PLATFORMS
46
47
482. Reporting Bugs
49=================
50
51If this distribution doesn't work for you, before you report the
52problem, at least try upgrading to the latest released version first,
53and see whether the issue persists.  If you feel able, you can also
54check whether the issue has been fixed in the development sources for
55the next release (see _Obtaining the Latest Sources_ below).
56
57Once you've determined that your bug is still not fixed in the latest
58version, please send a full report to the libtool [bug mailing list][],
59including:
60
61  1. the information from the end of the help message given by
62     `./libtool --help`, and the verbose output of any failed tests
63     (see _The Test Suites_ immediately below);
64  2. complete instructions for how to reproduce your bug, along with
65     the results you were expecting, and how they differ from what you
66     actually see;
67  3. a workaround or full fix for the bug, if you have it;
68  4. a copy of `tests/testsuite.log` if you are experiencing failures
69     in the Autotest testsuite.
70  5. new test cases for the testsuite that demonstrate the bug are
71     especially welcome, and will help to ensure that future releases
72     don't reintroduce the problem - if you're not able to write a
73     complete testsuite case, a simple standalone shell script is
74     usually good enough to help us write a test for you.
75
76If you have any other suggestions, or if you wish to port Libtool to a
77new platform, please send email to the [mailing list][libtool list].
78
79Please note that if you send us an non-trivial code for inclusion in a
80future release, we may ask you for a copyright assignment (for brief
81details see the 'Copyright Assignment' section on our
82[Contributing][contribute] webpage.
83
84[bug mailing list]: mailto:bug-libtool@gnu.org
85[contribute]: http://www.gnu.org/software/libtool/contribute.html
86
87
883. The Test Suite
89=================
90
91Libtool comes an integrated sets of tests to check that your build
92is sane.  You can run like this, assuming that `gmake` refers to GNU
93make:
94
95    gmake check
96
97The new, Autotest-driven testsuite is documented in:
98
99    info Autoconf 'testsuite Invocation'
100
101but simple help may also be obtained through:
102
103    gmake check TESTSUITEFLAGS='--help'
104
105For verbose output, add the flag '-v', for running only a subset of the
106independent tests, merely specify them by number or by keyword, both of
107which are displayed with the '--list' flag.  For example, the 'libtool'
108keyword is used for the tests that exercise only this script.  So it is
109possible to test an installed script, possibly from a different Libtool
110release, with:
111
112    gmake check \
113        TESTSUITEFLAGS="-k libtool LIBTOOL=/path/to/libtool"
114
115Some tests, like the one exercising `max_cmd_len` limits, make use of
116this to invoke the testsuite recursively on a subset of tests.  For these
117tests, the variable `INNER_TESTSUITEFLAGS` may be used.  It will be
118expanded right after the `-k libtool`, without separating whitespace, so
119that further limiting of the recursive set of tests is possible.  For
120example, to run only the template tests within the `max_cmd_len`, use:
121
122    gmake check TESTSUITEFLAGS="-v -x -k max_cmd_len \
123                INNER_TESTSUITEFLAGS=',template -v -x'"
124
125If you wish to report test failures to the libtool list, you need to
126send the file `tests/testsuite.log` to the [bug mailing list][].
127
128
1294. Obtaining the Latest Sources
130===============================
131
132* With the exception of ancient releases, all official GNU Libtool
133  releases have a detached GPG signature file.  With this you can verify
134  that the corresponding file (i.e. without the `.sig` suffix) is the
135  same file that was released by the owner of it's GPG key ID.  First,
136  be sure to download both the .sig file and the corresponding release,
137  then run a command like this:
138
139      gpg --verify libtool-x.y.z.tar.gz.sig
140
141  If that command fails because you don't have the required public key,
142  then run this command to import it:
143
144      gpg --keyserver keys.gnupg.net --recv-keys 2983D606
145
146  and then rerun the `gpg --verify` command.
147
148* Official stable releases of GNU Libtool, along with these detached
149  signature files are available from:
150
151      ftp://ftp.gnu.org/gnu/libtool
152
153  To reduce load on the main server, please use one of the mirrors
154  listed at:
155
156      http://www.gnu.org/order/ftp.html
157
158* Alpha quality pre-releases of GNU Libtool, also with detached
159  signature files are available from:
160
161      ftp://alpha.gnu.org/gnu/libtool
162
163  and some of the mirrors listed at:
164
165      http://www.gnu.org/order/ftp.html
166
167* The master libtool repository is stored in git.
168
169  If you are a member of the savannah group for GNU Libtool, a writable
170  copy of the libtool repository can be obtained by:
171
172      git clone <savannah-user>@git.sv.gnu.org:/srv/git/libtool.git
173
174  If you are behind a firewall that blocks the git protocol, you may
175  find it useful to use
176
177      git config --global url.http://git.sv.gnu.org/r/.insteadof \
178        git://git.sv.gnu.org/
179
180  to force git to transparently rewrite all savannah git references to
181  use http.
182
183  If you are not a member of the savannah group for GNU Libtool, you can
184  still fetch a read-only copy with either:
185
186      git clone git://git.sv.gnu.org/libtool.git
187
188  or using the CVS pserver protocol:
189
190      cvs -d:pserver:anonymous@pserver.git.sv.gnu.org:/srv/git/libtool.git \
191          co -d libtool HEAD
192
193* Before you can build from git, you need to bootstrap.  This requires:
194  - Autoconf 2.62 or later
195  - Automake 1.11.1 or later
196  - Help2man 1.29 or later
197  - Xz 4.999.8beta or later (from [tukaani.org](http://tukaani.org/xz))
198  - Texinfo 4.8 or later
199  - Any prerequisites of the above (such as m4, perl, tex)
200
201  Note that these bootstrapping dependencies are much stricter than
202  those required to use a destributed release for your own packages.
203  After installation, GNU Libtool is designed to work either standalone,
204  or optionally with:
205  - Autoconf 2.59 or later
206  - Automake 1.9.6 or later
207
208* The `bootstrap` script sets up the source directory for you to hack.
209
210
2115. Version Numbering
212====================
213
214People have complained that they find the version numbering scheme under
215which libtool is released confusing... so we've changed it!
216
217It works like this:
218
219    <major-number>.<minor-number>
220
221Releases with a **major-number** less than 1 were not yet feature
222complete.  Releases with a **major-number** of 1 used the old numbering
223scheme that everyone disliked so much.  Releases with a **major-number**
224of 2 us the new scheme described here.  If libtool ever undergoes a
225major rewrite or substantial restructuring, the **major-number** will be
226incremented again.
227
228If we make a patch release to fix bugs in a stable release, we use a
229third number, so:
230
231    2.4.2
232
233If we make an alpha quality prerelease, we use a fourth number for the
234number of changsets applied since the version it's based on:
235
236    2.4.2.418
237
238And finally, if you build an unreleased version it will have a short git
239revision hash string in hexadecimal appended to all of that:
240
241    2.4.2.418.3-30eaa
242
243--
244  Copyright (C) 2004-2010, 2015-2019 Free Software Foundation, Inc.
245
246  Written by Gary V. Vaughan, 2004
247
248  This file is part of GNU Libtool.
249
250Copying and distribution of this file, with or without modification,
251are permitted in any medium without royalty provided the copyright
252notice and this notice are preserved.  This file is offered as-is,
253without warranty of any kind.
254
255
256Local Variables:
257mode: text
258fill-column: 72
259End:
260vim:tw=72
261