mirror of
https://https.git.savannah.gnu.org/git/libtool.git
synced 2026-01-27 18:04:49 +00:00
Compare commits
372 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1b6fc1940b | ||
|
|
97998eb82a | ||
|
|
7c3fb80adc | ||
|
|
e6f9ae8f18 | ||
|
|
64d71e8b7b | ||
|
|
3eb06f0b5a | ||
|
|
600c61dd79 | ||
|
|
2228b4d0dc | ||
|
|
9808ff1860 | ||
|
|
6c5f27371d | ||
|
|
f6aaa6f55d | ||
|
|
c18d2d9514 | ||
|
|
f8078854f7 | ||
|
|
c4abf359f8 | ||
|
|
e40fdc22cf | ||
|
|
69736cd828 | ||
|
|
19c0fcc0d1 | ||
|
|
92d62dcb09 | ||
|
|
2a4cc31b66 | ||
|
|
4d00c3624d | ||
|
|
6389dce814 | ||
|
|
d6ea50ce1e | ||
|
|
96da510e10 | ||
|
|
632ab1d68b | ||
|
|
86ce8b277c | ||
|
|
d222649f34 | ||
|
|
22a73e7a59 | ||
|
|
661d5573ea | ||
|
|
c69efe983d | ||
|
|
b9156729ab | ||
|
|
c6016699f1 | ||
|
|
9c7772f8a6 | ||
|
|
0af7b12403 | ||
|
|
fd8ea4ccfa | ||
|
|
9c1a42a6bb | ||
|
|
08ebc17358 | ||
|
|
7f5871de3b | ||
|
|
d575748b83 | ||
|
|
d78a0a0d6b | ||
|
|
06e491d0fe | ||
|
|
4d7d7ca45c | ||
|
|
371624cffe | ||
|
|
df361d02a6 | ||
|
|
57e1dc94d3 | ||
|
|
388d0995d4 | ||
|
|
b4b96dfa95 | ||
|
|
5d79c9525d | ||
|
|
4a5acaa7a4 | ||
|
|
be0630f555 | ||
|
|
ca61f85261 | ||
|
|
7ba38e8eac | ||
|
|
43068986b0 | ||
|
|
af7df02434 | ||
|
|
d12a1929db | ||
|
|
52f78952b9 | ||
|
|
fee0464231 | ||
|
|
6abc943479 | ||
|
|
9eb292deb1 | ||
|
|
e6dd1eb7cf | ||
|
|
5b582aed25 | ||
|
|
9bc7536bd8 | ||
|
|
7945cf75f8 | ||
|
|
8b9ce14af0 | ||
|
|
2a5c170471 | ||
|
|
b31819c723 | ||
|
|
da70d4ca79 | ||
|
|
961aa57f14 | ||
|
|
13926861aa | ||
|
|
c7be1f229c | ||
|
|
3bd36a0ff4 | ||
|
|
1fc54e815f | ||
|
|
64ecee50f5 | ||
|
|
7dc108c324 | ||
|
|
bc61f9756f | ||
|
|
1d871cc45b | ||
|
|
37c07d2ed0 | ||
|
|
ea921da846 | ||
|
|
e24d6ec92b | ||
|
|
e66abb28cf | ||
|
|
b341c9f8d0 | ||
|
|
1211b4cb76 | ||
|
|
baa1fe41f9 | ||
|
|
db22f7fce7 | ||
|
|
e5b946a581 | ||
|
|
7c45f3b350 | ||
|
|
a2c84d14aa | ||
|
|
27662ec027 | ||
|
|
f5a020ffa1 | ||
|
|
cc7c98dc89 | ||
|
|
f13692cc20 | ||
|
|
d8a934458b | ||
|
|
23519121db | ||
|
|
bd15931e57 | ||
|
|
4e5a12014b | ||
|
|
e6c7986fc8 | ||
|
|
1a9f976d1c | ||
|
|
bbc5fa9456 | ||
|
|
5335d4cfbf | ||
|
|
e5dfb39aab | ||
|
|
270b7bb2db | ||
|
|
0a8c7b00ed | ||
|
|
98bcb0ba98 | ||
|
|
6bc5e177b6 | ||
|
|
4ba29e983c | ||
|
|
1bda2465d7 | ||
|
|
323d8a5dfd | ||
|
|
eed74d650a | ||
|
|
ab43d096d1 | ||
|
|
6b119a1c79 | ||
|
|
ad4b513fca | ||
|
|
65026af3bc | ||
|
|
5586070a71 | ||
|
|
09aff4a6bc | ||
|
|
506283c381 | ||
|
|
43c5983836 | ||
|
|
4e6ccefb94 | ||
|
|
8342fed94a | ||
|
|
257113789c | ||
|
|
0bad1a6edf | ||
|
|
5139403de6 | ||
|
|
7a27cb1bcd | ||
|
|
3217b3840c | ||
|
|
c7e99b6b74 | ||
|
|
f91f7bc3ab | ||
|
|
4e96fb2a47 | ||
|
|
68fbecc49b | ||
|
|
3226abb870 | ||
|
|
b6c8850a43 | ||
|
|
d405ede870 | ||
|
|
82f7f52123 | ||
|
|
dd2c8f9411 | ||
|
|
94dd1a2094 | ||
|
|
3ab1239727 | ||
|
|
138cf5b271 | ||
|
|
a36e1d8d1e | ||
|
|
182c7b3e25 | ||
|
|
0483b0d83d | ||
|
|
5c8a2d1ce0 | ||
|
|
ad45988cc6 | ||
|
|
3e6c6284a7 | ||
|
|
6c8203d2ae | ||
|
|
9a8535f4e9 | ||
|
|
ec703fac9e | ||
|
|
001ca1d070 | ||
|
|
2fe3a3e2a9 | ||
|
|
d8d346ef7e | ||
|
|
32d46d5daa | ||
|
|
07ef1f34ee | ||
|
|
d6d4397dff | ||
|
|
fcaa75e5dc | ||
|
|
0e1b333324 | ||
|
|
2b510980a7 | ||
|
|
552d1db3fb | ||
|
|
22a7e547e9 | ||
|
|
1354176bbb | ||
|
|
e019cb5e77 | ||
|
|
7ff6b33deb | ||
|
|
42229835ff | ||
|
|
383c97a850 | ||
|
|
2a25604bcf | ||
|
|
3b78504a0c | ||
|
|
f0507df8a7 | ||
|
|
81dda9b5c7 | ||
|
|
7f86baed1a | ||
|
|
ab89ebbcc2 | ||
|
|
434a308f46 | ||
|
|
cc511550bb | ||
|
|
98e83597c0 | ||
|
|
e22141c0c5 | ||
|
|
138ae9c4f1 | ||
|
|
03220dd7ec | ||
|
|
eeee0216ed | ||
|
|
e40ba04af7 | ||
|
|
9a4a02615c | ||
|
|
d5769d0d39 | ||
|
|
d846b88d2f | ||
|
|
a2ccbfea44 | ||
|
|
b8cad780da | ||
|
|
dc3f87dd8e | ||
|
|
40b73c116e | ||
|
|
3221f9f0fb | ||
|
|
46576dfaf4 | ||
|
|
2048edd2cb | ||
|
|
17fb010919 | ||
|
|
67c5a06a46 | ||
|
|
3eb91c266a | ||
|
|
38c166c89b | ||
|
|
c44bbc3489 | ||
|
|
61e5fd8d45 | ||
|
|
b860f621d9 | ||
|
|
65742fda68 | ||
|
|
c1afb230e1 | ||
|
|
d794bda49c | ||
|
|
90710b139b | ||
|
|
3280f27cda | ||
|
|
7b09183107 | ||
|
|
baab057261 | ||
|
|
297b5cf19f | ||
|
|
88fc2b892c | ||
|
|
2eddb6004b | ||
|
|
3a82c4aa8c | ||
|
|
deba4f81d2 | ||
|
|
888bd7ad44 | ||
|
|
a956f5ce7d | ||
|
|
98ed9b7b51 | ||
|
|
498bad82f6 | ||
|
|
3561199667 | ||
|
|
b07d71b36d | ||
|
|
7f254d9682 | ||
|
|
3afd415a90 | ||
|
|
f54924fa5d | ||
|
|
fb617e2ba0 | ||
|
|
57dae03b04 | ||
|
|
e11fcf3b38 | ||
|
|
8d188608ca | ||
|
|
10a04bafef | ||
|
|
7e4b026690 | ||
|
|
e602d877f6 | ||
|
|
23eacf882e | ||
|
|
725646bf09 | ||
|
|
365805327c | ||
|
|
cdf4bf702f | ||
|
|
31d9133b4c | ||
|
|
97859bda6a | ||
|
|
e60044908e | ||
|
|
9665e2f25e | ||
|
|
bfcbcc2dce | ||
|
|
b67d1a2db8 | ||
|
|
3ebfdce755 | ||
|
|
1ae386ba78 | ||
|
|
49e6cb0d4d | ||
|
|
51ac68a24e | ||
|
|
306c759bed | ||
|
|
fd8ab0cbd3 | ||
|
|
8c3678bb28 | ||
|
|
8fa76f168e | ||
|
|
003520d346 | ||
|
|
f81f36e4e9 | ||
|
|
5a7193dbfb | ||
|
|
81e8abf3dd | ||
|
|
4da5b57531 | ||
|
|
47c71f61df | ||
|
|
544675d6b5 | ||
|
|
55e703a96b | ||
|
|
3c19bfd4fb | ||
|
|
f03b64dc62 | ||
|
|
1879a0e6db | ||
|
|
a38b178625 | ||
|
|
b80646b7b8 | ||
|
|
bd826173c4 | ||
|
|
33d4b69fcc | ||
|
|
533d816dea | ||
|
|
e01c0bfe5e | ||
|
|
e7dc729dd2 | ||
|
|
efbb2e77df | ||
|
|
26bbdd6fbe | ||
|
|
8878355f1d | ||
|
|
22406ebb83 | ||
|
|
9ced107b8c | ||
|
|
383a3807b7 | ||
|
|
7464f1db29 | ||
|
|
9e7b9631ec | ||
|
|
5576d862c4 | ||
|
|
429d905115 | ||
|
|
477e484f19 | ||
|
|
80d05c3483 | ||
|
|
eb2a21cf2e | ||
|
|
ad06c50b00 | ||
|
|
1ee43a97fe | ||
|
|
e9ec894d92 | ||
|
|
27b101add7 | ||
|
|
96dafbda93 | ||
|
|
64bef5ba65 | ||
|
|
85093d697a | ||
|
|
1ec8fa28dc | ||
|
|
6132006b5f | ||
|
|
1d2577357e | ||
|
|
b9ba1b3f0b | ||
|
|
6d7ce133ce | ||
|
|
b4a37606e6 | ||
|
|
33615a45a6 | ||
|
|
f5eb6f1169 | ||
|
|
28fbcb6a9a | ||
|
|
7e69e44199 | ||
|
|
2dc7dad770 | ||
|
|
b55b1cc841 | ||
|
|
960a33e460 | ||
|
|
786526826d | ||
|
|
f51eddf0db | ||
|
|
ccc878dd72 | ||
|
|
5df7dd49d5 | ||
|
|
8f4bdbda0a | ||
|
|
9e8c882517 | ||
|
|
0904164dd5 | ||
|
|
da2e352735 | ||
|
|
1b74d78401 | ||
|
|
86d71e869d | ||
|
|
fc7779d7d8 | ||
|
|
0c1bc69dac | ||
|
|
28fb394fc0 | ||
|
|
b9b44533fb | ||
|
|
544fc0e2c2 | ||
|
|
b88cebd510 | ||
|
|
99bd0948e2 | ||
|
|
6ca5e224bc | ||
|
|
1bfb11a46b | ||
|
|
722b6af0fa | ||
|
|
350082b6aa | ||
|
|
792b680701 | ||
|
|
f003a1f96e | ||
|
|
08c5524fb2 | ||
|
|
a938703c46 | ||
|
|
f10e22c2a1 | ||
|
|
f9970d9929 | ||
|
|
d7c8d3b43f | ||
|
|
807cbd63ab | ||
|
|
40bc0628d5 | ||
|
|
b89a47eae6 | ||
|
|
bb8e7b4a06 | ||
|
|
b5d44b8447 | ||
|
|
5944fdcc73 | ||
|
|
4985667996 | ||
|
|
a5c6466528 | ||
|
|
ae816aced1 | ||
|
|
d15b321427 | ||
|
|
aabc46ac1b | ||
|
|
dc8bd92d5f | ||
|
|
a3c6e99c9c | ||
|
|
f323f10d2b | ||
|
|
ed4f739f62 | ||
|
|
9187e9a231 | ||
|
|
16dbc070d3 | ||
|
|
32f0df9835 | ||
|
|
b7b6ec33ba | ||
|
|
5859cc50d6 | ||
|
|
418129bc63 | ||
|
|
4335de1dfb | ||
|
|
0f84217752 | ||
|
|
03ec5f4955 | ||
|
|
351a88feee | ||
|
|
de7b2cb2b7 | ||
|
|
702a97fbb0 | ||
|
|
4ff16210c1 | ||
|
|
c12d38e403 | ||
|
|
f09d00cbcf | ||
|
|
408cfb9c5f | ||
|
|
6289a9ab3c | ||
|
|
c60e054c36 | ||
|
|
6c822af50f | ||
|
|
edb4ff8bb6 | ||
|
|
3deca86bdc | ||
|
|
8cb6741f5c | ||
|
|
cb90d8ed96 | ||
|
|
fda42eb8c6 | ||
|
|
ec43ff6eff | ||
|
|
c6ed4148b0 | ||
|
|
97f03a4379 | ||
|
|
b49ab52cb3 | ||
|
|
4fede0bc49 | ||
|
|
08279564ff | ||
|
|
663f919241 | ||
|
|
72293c9952 | ||
|
|
440fee60c9 | ||
|
|
8727e07a16 | ||
|
|
9f52eb3d6c | ||
|
|
89049b76cf | ||
|
|
facce819e1 | ||
|
|
57a78dd531 | ||
|
|
218bf6f4c2 | ||
|
|
ef519e9ecc | ||
|
|
f31984b92a | ||
|
|
6cc831405a |
3
.gitignore
vendored
3
.gitignore
vendored
@ -41,8 +41,9 @@
|
||||
/INSTALL
|
||||
/README-release
|
||||
/gnulib-local
|
||||
/gnulib-tests
|
||||
/libtoolize
|
||||
/libtoolize.in
|
||||
/libtool-next-version
|
||||
/maint.mk
|
||||
/patches
|
||||
/release
|
||||
|
||||
5
.gitmodules
vendored
5
.gitmodules
vendored
@ -1,3 +1,6 @@
|
||||
[submodule "gnulib"]
|
||||
path = gnulib
|
||||
url = git://git.sv.gnu.org/gnulib.git
|
||||
url = https://git.savannah.gnu.org/git/gnulib
|
||||
[submodule "bootstrap"]
|
||||
path = gl-mod/bootstrap
|
||||
url = https://github.com/gnulib-modules/bootstrap.git
|
||||
|
||||
@ -1 +1 @@
|
||||
2.4.3
|
||||
2.6.0
|
||||
|
||||
23
AUTHORS
23
AUTHORS
@ -16,21 +16,21 @@
|
||||
Scott James Remnant scott@netsplit.com
|
||||
Peter O'Gorman peter@pogma.com
|
||||
Ralf Wildenhues Ralf.Wildenhues@gmx.de
|
||||
|
||||
* GNU Libtool and libltdl are currently being cajoled, bullied,
|
||||
rewritten and otherwise dragged into the future by:
|
||||
|
||||
Gary V. Vaughan gary@gnu.org
|
||||
Gary V. Vaughan gary@vaughan.pe
|
||||
Bob Friesenhahn bfriesen@simple.dallas.tx.us
|
||||
|
||||
* The following people also enjoy write access under the given rules:
|
||||
|
||||
Peter Rosin peda@lysator.liu.se
|
||||
Noah Misch noah@cs.caltech.edu
|
||||
Charles Wilson libtool@cwilson.fastmail.fm
|
||||
Brooks Moses bmoses@google.com
|
||||
Alex Ameen alex.ameen.tx@gmail.com
|
||||
|
||||
* GNU Libtool is currently being cajoled, bullied,
|
||||
rewritten and otherwise dragged into the future by:
|
||||
|
||||
Ileana Dumitrescu ileanadumitrescu95@gmail.com
|
||||
--
|
||||
Copyright (C) 1996, 1998-2014 Free Software Foundation, Inc.
|
||||
Copyright (C) 1996, 1998-2019, 2021-2026 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
This file is part of GNU Libtool.
|
||||
|
||||
@ -45,7 +45,4 @@ 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; see the file COPYING. If not, a copy
|
||||
can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
along with GNU Libtool. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
@ -15551,7 +15551,7 @@
|
||||
|
||||
* libltdl/ltdl.c (foreach_dirinpath): Ensure that filename is '\0'
|
||||
terminated by all code paths.
|
||||
Reported by Lutz Müller <lutz@users.sourceforge.net>
|
||||
Reported by Lutz Müller <lutz@users.sourceforge.net>
|
||||
|
||||
2002-06-20 Gary V. Vaughan <gary@gnu.org>
|
||||
|
||||
@ -18669,7 +18669,7 @@
|
||||
and file_magic_cmd
|
||||
|
||||
* README: use 'libtool --version' instead of 'ltconfig --version'
|
||||
(suggested by Francios Pinard <pinard@iro.umontreal.ca>
|
||||
(suggested by François Pinard <pinard@iro.umontreal.ca>
|
||||
|
||||
2000-01-10 Gary V. Vaughan <gary@gnu.org>
|
||||
|
||||
@ -19442,7 +19442,7 @@
|
||||
|
||||
* ltconfig.in: Support new GNU ld --help output format.
|
||||
* NEWS: Likewise.
|
||||
Reported by Gaël Quéri <gael@baoule.dyndns.org> and
|
||||
Reported by Gaël Quéri <gael@baoule.dyndns.org> and
|
||||
H.J. Lu <hjl@varesearch.com>.
|
||||
|
||||
1999-06-05 Mark Kettenis <kettenis@gnu.org>
|
||||
@ -23515,7 +23515,7 @@ Thu May 28 18:59:08 1998 Ian Lance Taylor <ian@cygnus.com>
|
||||
ld's. From Eiichi Takamori.
|
||||
|
||||
* ltmain.in (install): Don't print silly `library stripping'
|
||||
warnings. Reported by François Pinard.
|
||||
warnings. Reported by François Pinard.
|
||||
|
||||
1997-12-19 Gordon Matzigkeit <gord@profitpress.com>
|
||||
|
||||
@ -23650,7 +23650,7 @@ Thu May 28 18:59:08 1998 Ian Lance Taylor <ian@cygnus.com>
|
||||
because we need it for quoting substitutions. For most of the
|
||||
script, though, use the default echo, just like Autoconf does.
|
||||
Without this patch, character \001 ends up in global_symbol_pipe.
|
||||
Reported by Lars Hecking and Jürgen Fluk.
|
||||
Reported by Lars Hecking and Jürgen Fluk.
|
||||
|
||||
* ltmain.in (echo): Set default to `echo=echo'. Ooops. That's
|
||||
what you get for testing obscure code paths and forgetting to
|
||||
@ -24999,7 +24999,7 @@ Thu May 28 18:59:08 1998 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* For historical reasons: this is when I started writing libtool.
|
||||
--
|
||||
Copyright (C) 1996-2010 Free Software Foundation, Inc.
|
||||
Copyright (C) 1996-2010, 2026 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Libtool.
|
||||
|
||||
|
||||
78
HACKING
78
HACKING
@ -13,22 +13,32 @@ and is not part of a release distribution.
|
||||
* If you incorporate a change from somebody on the net:
|
||||
If it is a large change, you must make sure they have signed the
|
||||
appropriate paperwork, and be sure to add their name and email
|
||||
address to THANKS
|
||||
address to THANKS.
|
||||
|
||||
* If a change fixes a test, mention the test in the git log entry.
|
||||
|
||||
* If somebody reports a new bug, mention his name in the git log entry
|
||||
* If somebody reports a new bug, mention their name in the git log entry
|
||||
and in the test case you write.
|
||||
|
||||
* The correct response to most actual bugs is to write a new test case
|
||||
that demonstrates the bug. Then fix the bug, re-run the test suite,
|
||||
and check everything in.
|
||||
|
||||
* Always run the testsuite after applying a patch:
|
||||
make check syntax-check TESTSUITEFLAGS="--jobs=$(nproc)" -j$(nproc)
|
||||
|
||||
Ideally also verify the release process doesn't break:
|
||||
make distcheck TESTSUITEFLAGS="--jobs=$(nproc)" -j$(nproc)
|
||||
This will run check & syntax-check from above, but will take longer as
|
||||
builds & tests in different configurations.
|
||||
|
||||
* Some files in the libtool package are not owned by libtool. These
|
||||
files should never be edited here. These files are:
|
||||
COPYING
|
||||
INSTALL
|
||||
doc/
|
||||
+ gendocs_template
|
||||
+ gendocs_template_min
|
||||
+ fdl.texi
|
||||
libltdl/
|
||||
+ COPYING.LIB
|
||||
@ -41,11 +51,22 @@ and is not part of a release distribution.
|
||||
+ mdate-sh
|
||||
+ missing
|
||||
+ texinfo.tex
|
||||
m4/
|
||||
+ 00gnulib.m4
|
||||
+ gnulib-cache.m4
|
||||
+ gnulib-common.m4
|
||||
+ gnu-comp.m4
|
||||
+ gnulib-tool.m4
|
||||
+ ltversion.m4
|
||||
+ zzgnulib.m4
|
||||
GNUmakefile
|
||||
maint.mk
|
||||
|
||||
The ones that are important for a release can be updated by ensuring
|
||||
gnulib is up-to-date, and running 'bootstrap' to recheck the links are
|
||||
correct.
|
||||
|
||||
* Changes other than bug fixes must be mentioned in NEWS
|
||||
* Changes other than bug fixes must be mentioned in NEWS.
|
||||
|
||||
|
||||
3. Test Suite
|
||||
@ -55,13 +76,23 @@ and is not part of a release distribution.
|
||||
AT_CHECK) is on a single line so that 'testsuite -x' displays the
|
||||
whole thing. You can use m4_do or '[... ]dnl' to wrap long lines.
|
||||
|
||||
* Use
|
||||
make -k check
|
||||
* To debug a failing or skipped range of tests, e.g. 13 to 14:
|
||||
make check-local TESTSUITEFLAGS="--debug 13-14"
|
||||
More generally, in the TESTSUITEFLAGS you can use the documented
|
||||
options for Autotest generated testsuites:
|
||||
https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.72/html_node/testsuite-Invocation.html
|
||||
|
||||
* Run tests in parallel with
|
||||
make -k check TESTSUITEFLAGS="--jobs=$(nproc)"
|
||||
liberally, on as many platforms as you can. Use as many compilers and
|
||||
linkers you can. To run old and new testsuites separately, use
|
||||
linkers you can. To run old and new testsuites separately, use:
|
||||
make check TESTSUITEFLAGS=-V
|
||||
make check-local
|
||||
|
||||
* The gnulib module also provides some maintainer-focused tests that only
|
||||
work when run from a git checkout.
|
||||
make syntax-check
|
||||
|
||||
* The new Autotest testsuite uses keywords to denote test features:
|
||||
autoconf needs Autoconf
|
||||
automake needs Automake
|
||||
@ -130,7 +161,7 @@ and is not part of a release distribution.
|
||||
6. Editing '.am' Files
|
||||
======================
|
||||
|
||||
* Always use $(...) and not ${...}
|
||||
* Always use $(...) and not ${...}.
|
||||
|
||||
* Use ':', not 'true'. Use 'exit 1', not 'false'.
|
||||
|
||||
@ -180,7 +211,7 @@ and is not part of a release distribution.
|
||||
|
||||
|
||||
8. Abstraction layers in libltdl
|
||||
=================================
|
||||
================================
|
||||
|
||||
* The libltdl API uses a layered approach to differentiate internal and
|
||||
external interfaces, among other things. To keep the abstraction
|
||||
@ -283,10 +314,10 @@ and is not part of a release distribution.
|
||||
9. Licensing Rules
|
||||
==================
|
||||
|
||||
GNU Libtool uses 3 different licenses for various of the files distributed
|
||||
herein, with several variations on license text. It is important that
|
||||
you use the correct license text in each new file added. Here are the
|
||||
texts along with some notes on when each is appropriate. Appropriate
|
||||
GNU Libtool uses 3 different licenses for the files distributed herein,
|
||||
with several variations on license text. It is important that you use
|
||||
the correct license text in each new file added. Here are the texts
|
||||
along with some notes on when each is appropriate. Appropriate
|
||||
commenting (shell, C etc) and decoration (m4 etc) assumed throughout.
|
||||
|
||||
|
||||
@ -329,10 +360,7 @@ 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; see the file COPYING. If not, a copy
|
||||
can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
along with GNU Libtool. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
|
||||
@ -363,10 +391,7 @@ 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 <program name>; see the file COPYING. If not, a copy
|
||||
can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
along with <program name>. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
|
||||
@ -402,10 +427,7 @@ 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 <program name>; see the file COPYING. If not, a copy
|
||||
can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
along with <program name>. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
|
||||
@ -438,13 +460,11 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
--
|
||||
Copyright (C) 2004-2008, 2010-2014 Free Software Foundation, Inc.
|
||||
Copyright (C) 2004-2008, 2010-2019, 2021-2026 Free Software
|
||||
Foundation, Inc.
|
||||
Written by Gary V. Vaughan, 2004
|
||||
|
||||
This file is part of GNU Libtool.
|
||||
|
||||
87
Makefile.am
87
Makefile.am
@ -1,6 +1,6 @@
|
||||
## Makefile.am -- Process this file with automake to produce Makefile.in
|
||||
##
|
||||
## Copyright (C) 2003-2014 Free Software Foundation, Inc.
|
||||
## Copyright (C) 2003-2019, 2021-2026 Free Software Foundation, Inc.
|
||||
## Written by Gary V. Vaughan, 2003
|
||||
##
|
||||
## This file is part of GNU Libtool.
|
||||
@ -16,10 +16,7 @@
|
||||
## GNU General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU General Public License
|
||||
## along with GNU Libtool; see the file COPYING. If not, a copy
|
||||
## can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
||||
## or obtained by writing to the Free Software Foundation, Inc.,
|
||||
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
## along with GNU Libtool. If not, see <https://www.gnu.org/licenses/>.
|
||||
#####
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
@ -27,11 +24,11 @@ ACLOCAL_AMFLAGS = -I m4
|
||||
AM_CPPFLAGS =
|
||||
AM_LDFLAGS =
|
||||
|
||||
SUBDIRS = .
|
||||
SUBDIRS = . gnulib-tests
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
EXTRA_DIST =
|
||||
|
||||
BUILT_SOURCES = libtool libtoolize
|
||||
BUILT_SOURCES = libtool libtoolize libtool-next-version
|
||||
|
||||
CLEANFILES =
|
||||
MOSTLYCLEANFILES =
|
||||
@ -67,7 +64,7 @@ build_scripts = $(srcdir)/$(aux_dir)/announce-gen \
|
||||
|
||||
EXTRA_DIST += bootstrap bootstrap.conf $(build_scripts) cfg.mk maint.mk \
|
||||
GNUmakefile
|
||||
CLEANFILES += libtool libtoolize
|
||||
CLEANFILES += libtool libtoolize libtool-next-version
|
||||
|
||||
## If a file is named several times below, and especially if it
|
||||
## is a distributed file created during Libtool bootstrap, we
|
||||
@ -81,16 +78,21 @@ extract_trace = $(srcdir)/$(aux_dir)/extract-trace
|
||||
funclib_sh = $(srcdir)/$(aux_dir)/funclib.sh
|
||||
inline_source = $(srcdir)/$(aux_dir)/inline-source
|
||||
libtoolize_in = $(srcdir)/libtoolize.in
|
||||
libtoolnextv_in = $(srcdir)/libtool-next-version.in
|
||||
ltmain_sh = $(srcdir)/$(aux_dir)/ltmain.sh
|
||||
ltmain_in = $(srcdir)/$(aux_dir)/ltmain.in
|
||||
libtool_m4 = $(srcdir)/$(macro_dir)/libtool.m4
|
||||
ltversion_in = $(srcdir)/$(macro_dir)/ltversion.in
|
||||
ltversion_m4 = $(srcdir)/$(macro_dir)/ltversion.m4
|
||||
no_bogus_macros = $(srcdir)/$(aux_dir)/no-bogus-m4-defines
|
||||
options_parser = $(srcdir)/$(aux_dir)/options-parser
|
||||
u2d_copyright = $(srcdir)/$(aux_dir)/update-copyright
|
||||
|
||||
EXTRA_DIST += $(extract_trace) $(funclib_sh) $(inline_source) \
|
||||
$(libtoolize_in) $(ltmain_in) $(ltmain_sh) \
|
||||
$(ltversion_in) $(ltversion_m4) $(options_parser)
|
||||
$(libtoolize_in) $(libtoolnextv_in) \
|
||||
$(ltmain_in) $(ltmain_sh) \
|
||||
$(ltversion_in) $(ltversion_m4) $(no_bogus_macros) \
|
||||
$(options_parser) $(u2d_copyright)
|
||||
|
||||
## These are the replacements that need to be made at bootstrap time,
|
||||
## because they must be static in distributed files, and not accidentally
|
||||
@ -191,6 +193,7 @@ $(lt_Makefile_am): $(ltdl_mk)
|
||||
'$(SED)' -n '/^.. DO NOT REMOVE THIS LINE -- /,$$p' \
|
||||
'$(ltdl_mk)' \
|
||||
|'$(SED)' -e 's|libltdl_||; s|libltdl/||; s|: libltdl/|: |' \
|
||||
-e '/^[ ]*-I\$$(srcdir)\/libltdl -Ilibltdl \\/d' \
|
||||
-e 's|\$$(libltdl_|$$(|' \
|
||||
) |'$(SED)' -e '/^.. DO NOT REMOVE THIS LINE -- /d' \
|
||||
-e '1s,^\(.. Makefile.\)inc.*,\1am -- Process this file with automake to produce Makefile.in,' > '$@'
|
||||
@ -206,7 +209,9 @@ bootstrap_files = \
|
||||
$(ltversion_m4)
|
||||
|
||||
.PHONY: bootstrap-deps bootstrap-deps-prep
|
||||
bootstrap-deps: bootstrap-deps-prep $(bootstrap_files)
|
||||
bootstrap-deps: bootstrap-deps-prep
|
||||
$(MAKE) $(bootstrap_files)
|
||||
|
||||
bootstrap-deps-prep:
|
||||
## The following variables are substituted by 'bootstrap-dep-preps'
|
||||
@exit_cmd=:; \
|
||||
@ -277,6 +282,8 @@ configure_edit = $(bootstrap_edit) \
|
||||
|
||||
# The libtool distributor and the standalone libtool script.
|
||||
bin_SCRIPTS = libtool
|
||||
# The "Update version info" wizard.
|
||||
bin_SCRIPTS += libtool-next-version
|
||||
|
||||
libtoolize: $(libtoolize_in) $(config_status)
|
||||
$(AM_V_at)rm -f '$@'
|
||||
@ -284,6 +291,12 @@ libtoolize: $(libtoolize_in) $(config_status)
|
||||
$(AM_V_at)chmod a+x '$@'
|
||||
$(AM_V_at)chmod a-w '$@'
|
||||
|
||||
libtool-next-version: $(libtoolnextv_in) $(config_status)
|
||||
$(AM_V_at)rm -f '$@'
|
||||
$(AM_V_GEN)$(bootstrap_edit) '$(libtoolnextv_in)' > '$@'
|
||||
$(AM_V_at)chmod a+x '$@'
|
||||
$(AM_V_at)chmod a-w '$@'
|
||||
|
||||
# We used to do this with a 'stamp-vcl' file, but non-gmake builds
|
||||
# would rerun configure on every invocation, so now we manually
|
||||
# check the version numbers from the build rule when necessary.
|
||||
@ -327,7 +340,7 @@ EXTRA_DIST += $(lt_aclocal_m4) \
|
||||
$(lt_obsolete_m4) \
|
||||
$(stamp_mk)
|
||||
|
||||
$(lt_Makefile_in): $(lt_Makefile_am) $(lt_aclocal_m4)
|
||||
$(lt_Makefile_in): $(lt_Makefile_am) $(lt_aclocal_m4) $(lt_config_h_in)
|
||||
$(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(AUTOMAKE) Makefile
|
||||
|
||||
# Don't let unused scripts leak into the libltdl Makefile
|
||||
@ -356,6 +369,7 @@ lt_aclocal_m4_deps = \
|
||||
$(srcdir)/$(macro_dir)/ltdl.m4 \
|
||||
$(srcdir)/$(macro_dir)/ltoptions.m4 \
|
||||
$(srcdir)/$(macro_dir)/ltsugar.m4 \
|
||||
$(srcdir)/$(macro_dir)/m4.m4 \
|
||||
$(srcdir)/$(ltdl_dir)/configure.ac
|
||||
|
||||
lt_configure_deps = $(lt_aclocal_m4) $(lt_aclocal_m4_deps)
|
||||
@ -363,7 +377,7 @@ lt_configure_deps = $(lt_aclocal_m4) $(lt_aclocal_m4_deps)
|
||||
$(lt_aclocal_m4): $(lt_aclocal_m4_deps)
|
||||
$(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(ACLOCAL) -I ../m4
|
||||
|
||||
$(lt_configure): $(lt_configure_deps)
|
||||
$(lt_configure): $(lt_configure_deps) $(lt_config_h_in)
|
||||
$(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(AUTOCONF)
|
||||
|
||||
$(lt_config_h_in): $(lt_configure_deps)
|
||||
@ -379,6 +393,7 @@ doc_dir = $(srcdir)/doc
|
||||
|
||||
libtool_1 = $(doc_dir)/libtool.1
|
||||
libtoolize_1 = $(doc_dir)/libtoolize.1
|
||||
libtoolnextv_1 = $(doc_dir)/libtool-next-version.1
|
||||
notes_texi = $(doc_dir)/notes.texi
|
||||
notes_txt = $(doc_dir)/notes.txt
|
||||
|
||||
@ -404,7 +419,7 @@ $(notes_txt): $(notes_texi)
|
||||
$(AM_V_GEN)$(MAKEINFO) -P '$(srcdir)/doc' --no-headers \
|
||||
$(MAKEINFOFLAGS) -o '$@' '$(notes_texi)'
|
||||
|
||||
dist_man1_MANS = $(libtool_1) $(libtoolize_1)
|
||||
dist_man1_MANS = $(libtool_1) $(libtoolize_1) $(libtoolnextv_1)
|
||||
MAINTAINERCLEANFILES += $(dist_man1_MANS)
|
||||
update_mans = \
|
||||
PATH=".$(PATH_SEPARATOR)$$PATH"; export PATH; \
|
||||
@ -415,9 +430,12 @@ update_mans = \
|
||||
# manual pages if the sources for the build-tree files we want to
|
||||
# run have changed.
|
||||
$(libtool_1): $(ltmain_sh)
|
||||
$(AM_V_GEN)$(update_mans) --help-option=--help-all libtool
|
||||
$(AM_V_GEN)$(update_mans) -n 'Provide generalized library-building support services' --help-option=--help-all libtool
|
||||
$(libtoolize_1): $(libtoolize_in)
|
||||
$(AM_V_GEN)$(update_mans) libtoolize
|
||||
$(AM_V_GEN)$(update_mans) -n 'Prepare a package to use libtool' libtoolize
|
||||
$(libtoolnextv_1): $(libtoolnextv_in)
|
||||
$(AM_V_GEN)$(update_mans) -n 'Determines next version to use for a libtool library' libtool-next-version
|
||||
|
||||
|
||||
|
||||
## ------------- ##
|
||||
@ -439,13 +457,14 @@ pkgmacro_files = libtool.m4 ltargz.m4 ltdl.m4 ltoptions.m4 ltsugar.m4 \
|
||||
ltversion.m4 lt~obsolete.m4
|
||||
|
||||
## These are installed as a subdirectory of pkgdatadir so that
|
||||
## libtoolize --ltdl can find them later:
|
||||
## libtoolize --ltdl can find them later. Note that this list requires
|
||||
## specific order to avoid unnecessary re-autotooling after libtoolize run.
|
||||
pkgltdl_files = COPYING.LIB \
|
||||
Makefile.am \
|
||||
Makefile.in \
|
||||
README \
|
||||
configure.ac \
|
||||
aclocal.m4 \
|
||||
Makefile.in \
|
||||
config-h.in \
|
||||
configure \
|
||||
libltdl/lt__alloc.h \
|
||||
@ -531,7 +550,7 @@ git_log_fix = $(srcdir)/$(aux_dir)/git-log-fix
|
||||
thanks_gen = $(srcdir)/$(aux_dir)/thanks-gen
|
||||
|
||||
dotserial = $(distdir)/.serial
|
||||
dotversion = $(srcdir)/.version
|
||||
dotversion = $(top_srcdir)/.version
|
||||
tarball_version = $(distdir)/.tarball-version
|
||||
readme = $(distdir)/README
|
||||
changelog = $(distdir)/ChangeLog
|
||||
@ -544,7 +563,9 @@ no_thanks = $(srcdir)/NO-THANKS
|
||||
changelog_start_date = 2011-01-01
|
||||
$(changelog): FORCE
|
||||
$(AM_V_GEN)if test -d '$(srcdir)/.git'; then \
|
||||
$(gitlog_to_changelog) --amend=$(git_log_fix) \
|
||||
TZ=UTC $(gitlog_to_changelog) --amend=$(git_log_fix) \
|
||||
--ignore-matching=Omit-from-ChangeLog. \
|
||||
--format='%s%n%n%b%n' \
|
||||
--since=$(changelog_start_date) > '$@T'; \
|
||||
rm -f '$@'; mv '$@T' '$@'; \
|
||||
cat '$(changelog_old)' >> '$@'; \
|
||||
@ -555,15 +576,12 @@ $(changelog): FORCE
|
||||
# current locale considers to be equal.
|
||||
ASSORT = LC_ALL=C sort
|
||||
|
||||
# Extract all lines up to the first one starting with "##".
|
||||
prologue = perl -ne '/^\#\#/ and exit; print' $(no_thanks)
|
||||
|
||||
# Generate THANKS using git log entries as far as possible, fixing
|
||||
# up ommisions and errors from NO-THANKS configuration.
|
||||
# up omissions and errors from NO-THANKS configuration.
|
||||
$(thanks): FORCE
|
||||
$(AM_V_GEN)if test -d '$(srcdir)/.git'; then \
|
||||
{ \
|
||||
$(prologue); echo; \
|
||||
perl -ne '/^\#\#/ and exit; print' $(no_thanks); echo; \
|
||||
{ perl -ne '/^$$/.../^$$/ and print' $(no_thanks) \
|
||||
| grep -v '^$$' | perl -pe 's/ +/\0/'; \
|
||||
{ sed -e '1,/\#\# /d' -e '/^\#\# /d' \
|
||||
@ -589,7 +607,7 @@ $(dotversion):
|
||||
EXTRA_DIST += $(edit_readme_alpha)
|
||||
re_alpha_version = '\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*[-\.][-\.0-9a-z]*\)'
|
||||
$(readme): FORCE
|
||||
@if test -n `expr $(VERSION) : $(re_alpha_version)`; then \
|
||||
@if test -n "`expr $(VERSION) : $(re_alpha_version)`"; then \
|
||||
if test 0 = '$(AM_DEFAULT_VERBOSITY)' && test 1 != '$(V)'; \
|
||||
then echo " GEN " $@; \
|
||||
else echo "$(SHELL) $(edit_readme_alpha) $@"; fi; \
|
||||
@ -605,12 +623,7 @@ dist-hook: $(changelog) $(thanks) $(dotversion) $(readme)
|
||||
## ...and similarly for .serial.
|
||||
$(git_commit_count) > $(dotserial)
|
||||
## Ensure aclocal has not wrongly picked up old macro definitions.
|
||||
@for macro in LT_INIT AC_PROG_LIBTOOL AM_PROG_LIBTOOL; do \
|
||||
if grep "$$macro" '$(srcdir)/aclocal.m4' '$(lt_aclocal_m4)'; then \
|
||||
echo "Bogus $$macro macro contents in an aclocal.m4 file." >&2; \
|
||||
exit 1; \
|
||||
else :; fi; \
|
||||
done
|
||||
$(no_bogus_macros)
|
||||
|
||||
distcheck-hook: syntax-check
|
||||
|
||||
@ -649,6 +662,7 @@ testsuite = $(tests_dir)/testsuite
|
||||
# that it can check for previous failures and skip if necessary.
|
||||
TESTSUITE = tests/testsuite
|
||||
TESTSUITE_AT = tests/testsuite.at \
|
||||
tests/configure-funcs.at \
|
||||
tests/libtoolize.at \
|
||||
tests/libtool.at \
|
||||
tests/demo.at \
|
||||
@ -665,6 +679,7 @@ TESTSUITE_AT = tests/testsuite.at \
|
||||
tests/inherited_flags.at \
|
||||
tests/link-order.at \
|
||||
tests/link-order2.at \
|
||||
tests/slimcc.at \
|
||||
tests/fail.at \
|
||||
tests/shlibpath.at \
|
||||
tests/runpath-in-lalib.at \
|
||||
@ -684,9 +699,9 @@ TESTSUITE_AT = tests/testsuite.at \
|
||||
tests/nocase.at \
|
||||
tests/install.at \
|
||||
tests/versioning.at \
|
||||
tests/versioning_script.at \
|
||||
tests/destdir.at \
|
||||
tests/old-m4-iface.at \
|
||||
tests/old-ltdl-iface.at \
|
||||
tests/am-subdir.at \
|
||||
tests/lt_dlexit.at \
|
||||
tests/lt_dladvise.at \
|
||||
@ -720,6 +735,9 @@ TESTSUITE_AT = tests/testsuite.at \
|
||||
tests/dumpbin-symbols.at \
|
||||
tests/deplibs-mingw.at \
|
||||
tests/sysroot.at \
|
||||
tests/bug_62343.at \
|
||||
tests/bug_71489.at \
|
||||
tests/bug_42313.at \
|
||||
tests/stresstest.at \
|
||||
tests/cmdline_wrap.at \
|
||||
$(NOTHING_ELSE)
|
||||
@ -737,6 +755,9 @@ TESTS_ENVIRONMENT = MAKE="$(MAKE)" CC="$(CC)" CFLAGS="$(CFLAGS)" \
|
||||
OBJEXT="$(OBJEXT)" EXEEXT="$(EXEEXT)" \
|
||||
SHELL="$(SHELL)" CONFIG_SHELL="$(SHELL)" \
|
||||
CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" CXXCPP="$(CXXCPP)" \
|
||||
OBJC="$(OBJC)" OBJCFLAGS="$(OBJCFLAGS)" \
|
||||
OBJCXX="$(OBJCXX)" OBJCXXFLAGS="$(OBJCXXFLAGS)" \
|
||||
ML64="$(ML64)" ML64FLAGS="$(ML64FLAGS)" \
|
||||
F77="$(F77)" FFLAGS="$(FFLAGS)" \
|
||||
FC="$(FC)" FCFLAGS="$(FCFLAGS)" \
|
||||
GCJ="$(GCJ)" GCJFLAGS="$(GCJFLAGS)" \
|
||||
|
||||
431
NEWS
431
NEWS
@ -1,5 +1,425 @@
|
||||
NEWS - list of user-visible changes between releases of GNU Libtool
|
||||
|
||||
* Noteworthy changes in release ?.? (????-??-??) [?]
|
||||
|
||||
** Bug fixes:
|
||||
|
||||
- Store cygpath file path conversions correctly for MSYS2 and MSVC.
|
||||
|
||||
- Fix syntax error in LT_PROG_OBJC and LT_PROG_OBJCXX.
|
||||
|
||||
- Separate Objective C and C++ cache check for proper tagging support.
|
||||
|
||||
- Fix in darwin to support values with spaces.
|
||||
|
||||
- Limit the length of DLL name to 8.3 correctly to avoid corrupting a
|
||||
generated DLL on OS/2.
|
||||
|
||||
- Remove unused variable on OS/2, which could cause issues with static
|
||||
library generation if defined.
|
||||
|
||||
** Changes in supported systems or compilers:
|
||||
|
||||
- Add support for SlimCC compiler.
|
||||
|
||||
|
||||
* Noteworthy changes in release 2.6.0 (2025-09-18) [alpha]
|
||||
|
||||
** New features:
|
||||
|
||||
- Add a new tool, libtool-next-version, to guide users through updating
|
||||
library versions.
|
||||
|
||||
- Add tagging for Objective-C and Objective-C++, OBJC and OBJCXX.
|
||||
|
||||
- Increase 5 digit limit on revision value for libraries to 19 digits,
|
||||
which is referencing Unix epoch time in nanoseconds.
|
||||
|
||||
- Add configuration options to choose whether to use '-nostdlib' to let
|
||||
the compiler frontend decide what standard libraries to link when
|
||||
building C++ shared libraries and modules, --enable-cxx-stdlib and
|
||||
--disable-cxx-stdlib.
|
||||
|
||||
- Allow statically linking GCC and Clang compiler support libraries
|
||||
into shared libraries.
|
||||
|
||||
- Add linking clang_rt static archives compiler internal libraries by
|
||||
their absolute path.
|
||||
|
||||
- Set 'mklink' as the symlinking tool for MSVC.
|
||||
|
||||
- Pass '--target' architecture flag for Clang.
|
||||
|
||||
- Support MSYS and MSYS2 file path conversions.
|
||||
|
||||
** Bug fixes:
|
||||
|
||||
- Fix wrongly deduplicated compiler dependencies on linux.
|
||||
|
||||
- Fix NetBSD postdeps for shared libraries.
|
||||
|
||||
- Fix statically linking dependencies into shared C++ libraries when
|
||||
utilizing clang builtins or g++ options like, -static-libstdc++, by
|
||||
using a new configuration option, --enable-cxx-stdlib.
|
||||
|
||||
- Ensure *-linux-mlibc host matches to mlibc userland rather than
|
||||
matching to GNU/Linux and similar userlands.
|
||||
|
||||
- Fix hang with cmd.exe in MSYS.
|
||||
|
||||
- For MSVC, fix mishandling compiler flags, symlinking, cl.exe '.exp'
|
||||
extension collision, symbol names, and numerous testsuite bugs.
|
||||
|
||||
- Fix undeclared reference to access on Windows in libltdl.
|
||||
|
||||
- Fix flang -Wl flags on FreeBSD.
|
||||
|
||||
- Fix reordering '--as-needed' flag.
|
||||
|
||||
- Fix libltdl early failures for multi-arch.
|
||||
|
||||
** Changes in supported systems or compilers:
|
||||
|
||||
- Support additional Intel OneAPI compilers, 'icx', 'icpx', and 'ifx'.
|
||||
|
||||
- Support ML64 (Microsoft Macro Assembler).
|
||||
|
||||
|
||||
* Noteworthy changes in release 2.5.4 (2024-11-20) [stable]
|
||||
|
||||
** New features:
|
||||
|
||||
- New libtool command line flag, --no-finish, to skip executing
|
||||
finish_cmds that would alter the shared library cache during testing.
|
||||
|
||||
- New libtool command line flag, --reorder-cache=DIRS, to reorder the
|
||||
shared library cache, only on OpenBSD.
|
||||
|
||||
** Bug fixes:
|
||||
|
||||
- Fix incorrect use of workarounds designed for Darwin versions that
|
||||
don't have -single_module support.
|
||||
|
||||
- Fix errors when executing 'make distclean' and 'make maintainer-clean'.
|
||||
|
||||
- Fix bug where the constructed rpath omit directories, instead of
|
||||
appending them to the end.
|
||||
|
||||
- Fix configure error for when variable 'multlib' is unset.
|
||||
|
||||
- Fix searching for -L in link paths being over-greedy and incorrectly
|
||||
handling paths with -L in them.
|
||||
|
||||
- Avoid using AC_TRY_EVAL macro, "dangerous and undocumented".
|
||||
|
||||
- Fix linking libraries at runtime with tcc by adding run path.
|
||||
|
||||
- Fix path comparison by removing trailing slashes on install commands.
|
||||
|
||||
- Fix linking for mingw with lld by prefering response files over the
|
||||
linker script.
|
||||
|
||||
- Fix '-Fe' usage with linking in MSVC.
|
||||
|
||||
- Fix '--no-warnings' flag.
|
||||
|
||||
- Fix handling xlc(1)-specific options.
|
||||
|
||||
- Fix Haiku support.
|
||||
|
||||
** Changes in supported systems or compilers:
|
||||
|
||||
- Support additional flang-based compilers, 'f18' and 'f95'.
|
||||
|
||||
- Support for 'netbsdelf*-gnu'.
|
||||
|
||||
- Support for '*-mlibc', and subsequently Ironclad and Managarm.
|
||||
|
||||
- Support for SerenityOS.
|
||||
|
||||
- Support for wasm32-emscripten.
|
||||
|
||||
* Noteworthy changes in release 2.5.3 (2024-09-25) [stable]
|
||||
|
||||
** New features:
|
||||
|
||||
- Add 'aarch64' support to the file magic test, which allows for
|
||||
shared libraries to be built with Mingw for aarch64.
|
||||
|
||||
** Bug fixes:
|
||||
|
||||
- The configure options --with-pic and --without-pic have been renamed
|
||||
to --enable-pic and --disable-pic, respectively. The old names
|
||||
--with-pic and --without-pic are still supported, though, for
|
||||
backward compatibility.
|
||||
|
||||
- The configure option --with-aix-soname has been renamed to
|
||||
--enable-aix-soname. The old name --with-aix-soname is still
|
||||
supported, though, for backward compatibility.
|
||||
|
||||
- Fix conflicting warnings about AC_PROG_RANLIB.
|
||||
|
||||
- Document situations where -export-symbols does not work.
|
||||
|
||||
- Update FSF office address with URL in each file's license block.
|
||||
|
||||
- Add checks for aclocal in standalone.at and subproject.at test files
|
||||
that report failures in Linux From Scratch and Darwin builds.
|
||||
|
||||
|
||||
* Noteworthy changes in release 2.5.2 (2024-08-29) [beta]
|
||||
|
||||
** Bug fixes:
|
||||
|
||||
- Use shared objects built in source tree instead of the installed
|
||||
versions for more reliable testing.
|
||||
|
||||
- Fix test in bug_62343.at for confirmed Cygwin/Mingw32 where the
|
||||
incorrect architecture version of a compiler was generating
|
||||
object files that could not be linked with a library file.
|
||||
|
||||
- Fix typos found with codespell.
|
||||
|
||||
** Changes in supported systems or compilers:
|
||||
|
||||
- Add support for 32-bit mode on FreeBSD/powerpc64.
|
||||
|
||||
|
||||
* Noteworthy changes in release 2.5.1 (2024-07-25) [beta]
|
||||
|
||||
** New features:
|
||||
|
||||
- Support C++17 compilers in the C++ tests.
|
||||
|
||||
- Add sysroot to library path for cross builds.
|
||||
|
||||
** Important incompatible changes:
|
||||
|
||||
- Autoconf 2.64 is required for libtool.m4 to use AS_VAR_APPEND.
|
||||
|
||||
** Bug fixes:
|
||||
|
||||
- Fix for uninitialized variable in libtoolize.
|
||||
|
||||
- Skip Fortran/C demo tests when using Clang with fsanitize to
|
||||
avoid an incompatible ASan runtime.
|
||||
|
||||
- Updated documentation for testing.
|
||||
|
||||
- Fix failing test to account for program-prefix usage.
|
||||
|
||||
- Replaced a deprecated macro to remove warning messages in the
|
||||
testsuite logs.
|
||||
|
||||
- Fix number of arguments for AC_CHECK_PROG call.
|
||||
|
||||
- Fix test failures with no-canonical-prefixes flag by checking
|
||||
if the flag is supported first.
|
||||
|
||||
- Fix test failures with no-undefined flag by checking host OS
|
||||
before appending the flag.
|
||||
|
||||
- Skip test when passing CXX flags through libtool to avoid test
|
||||
failure on NetBSD.
|
||||
|
||||
- Remove texinfo warning for period in node name of pxref.
|
||||
|
||||
- Alter syntax in sed command to fix numerous test failures
|
||||
on 64-bit windows/cygwin/mingw.
|
||||
|
||||
- Fix 'Wstrict-prototypes' warnings.
|
||||
|
||||
- Correct DLL Installation Path for mingw multilib builds.
|
||||
|
||||
- Fix '--preserve-dup-deps' stripping duplicates.
|
||||
|
||||
- Disable chained fixups for macOS, since it is not compatible with
|
||||
'-undefined dynamic_lookup'.
|
||||
|
||||
** Changes in supported systems or compilers:
|
||||
|
||||
- Support additional flang-based compilers, 'flang-new' and 'ftn'.
|
||||
|
||||
|
||||
* Noteworthy changes in release 2.5.0 (2024-05-13) [alpha]
|
||||
|
||||
** New features:
|
||||
|
||||
- Pass '-fdiagnostics-color', '-frecord-gcc-switches',
|
||||
'-fno-sanitize*', '-Werror', and 'prefix-map' flags.
|
||||
|
||||
- Pass the '-no-canonical-prefixes' linker flag.
|
||||
|
||||
- Pass '-fopenmp=*' for Clang to allow choosing between libgomp and
|
||||
libomp.
|
||||
|
||||
- Pass '-shared-libsan', '-static-libsan', 'rtlib=*', and
|
||||
'unwindlib=*' for Clang.
|
||||
|
||||
- Expanded process.h inclusion on Windows for more than the
|
||||
proprietary MSVC compiler. Other alternative Windows compilers
|
||||
also require process.h.
|
||||
|
||||
- Pass 'elf32_x86_64' and 'elf64_x86_64' to the linker on hurd-amd64.
|
||||
|
||||
- Recognize *-*-windows* config triplets.
|
||||
|
||||
** Important incompatible changes:
|
||||
|
||||
- Removed test_compile from command line options.
|
||||
|
||||
- By default executables are created with the RUNPATH property for
|
||||
the Android linker. RUNPATH works for libraries which are not
|
||||
installed in system locations.
|
||||
|
||||
- Removed AC_PROG_SED fallback, as the macro has been supported
|
||||
in Autoconf since the 90's.
|
||||
|
||||
** Bug fixes:
|
||||
|
||||
- Check for space after -l, -L, and -R linker flags.
|
||||
|
||||
- Updated documentation for tests, the demo directory, and
|
||||
elsewhere.
|
||||
|
||||
- Fixed Solaris 11 builds.
|
||||
|
||||
- Clean trailing "/" from sysroot path.
|
||||
|
||||
- Fixed shared library builds for System V.
|
||||
|
||||
- Added mingw to the list of systems not requiring libm.
|
||||
|
||||
- Fixed support for nios2 systems.
|
||||
|
||||
- Fixed linker check for '--whole-archive' support for linkers other
|
||||
than ld.
|
||||
|
||||
- Use -Fe instead of -o with MSVC to avoid deprecation warnings.
|
||||
|
||||
- Improved reproducibility of libtool scripts.
|
||||
|
||||
- Avoided MinGW warning by adding CRTIMP.
|
||||
|
||||
- Improved grep portability.
|
||||
|
||||
- Fixed cross-building warnings when checking for file.
|
||||
|
||||
** Changes in supported systems or compilers:
|
||||
|
||||
- Removed support for bitrig (*-*-bitrig*).
|
||||
|
||||
- Added support for flang (Fortran LLVM-based) compilers.
|
||||
|
||||
|
||||
* Noteworthy changes in release 2.4.7 (2022-03-16) [stable]
|
||||
|
||||
** New features:
|
||||
|
||||
- Libtool script now supports (configure-time and runtime) ARFLAGS
|
||||
variable, which obsoletes AR_FLAGS. This is due to naming conventions
|
||||
among other *FLAGS and to be consistent with Automake's ARFLAGS.
|
||||
|
||||
- Gnulib testsuite is enabled and run during 'make check'.
|
||||
|
||||
- Support the Windows version of the Intel C Compiler (icl) in
|
||||
libtool script.
|
||||
|
||||
- Pass '-fsanitize=*' flags for GCC and LLVM, and '-specs=*' for GCC
|
||||
to linker.
|
||||
|
||||
- Pass '-Xassembler=*' and '-Wa,*' flag to compilers and linkers.
|
||||
|
||||
- The variable 'FILECMD' with default value of '/usr/bin/file' was used to
|
||||
replace existing hard coded references to '/usr/bin/file'.
|
||||
|
||||
- Add MidnightBSD support.
|
||||
|
||||
** Important incompatible changes:
|
||||
|
||||
- Libtool changed ARFLAGS/AR_FLAGS default from 'cru' to 'cr'.
|
||||
|
||||
- Do not pass '-pthread' to Solaris linker.
|
||||
|
||||
- 'libtool' and 'libtoolize' scripts now use '#! /usr/bin/env sh' shebang.
|
||||
Previously '#! /bin/sh' was used, which presents challenges for
|
||||
containerized environments.
|
||||
|
||||
** Bug fixes:
|
||||
|
||||
- Fix significant slowdown of libtoolize for certain projects (regression
|
||||
introduced in 2.4.3 release) caused by infinite m4 macro recursion.
|
||||
|
||||
- Mitigate the slowdown of libtool script (introduced in v2.4.3) caused by
|
||||
increased number of calls to '$SED $sed_quote_subst' (bug#20006).
|
||||
|
||||
- Properly parse and export TLS symbols on AIX.
|
||||
|
||||
- Various bug fixes surrounding use of 'sed'.
|
||||
|
||||
- Darwin systems set proper "allow undefined" flag on OSX 11, and
|
||||
PowerPC 10.5.
|
||||
|
||||
- Removed some deprecated tests related to 'Makefile.inc' files.
|
||||
|
||||
* Noteworthy changes in release 2.4.6 (2015-02-15) [stable]
|
||||
|
||||
** New features:
|
||||
|
||||
- LT_SYS_LIBRARY_PATH can be set in config.site, or at configure time
|
||||
and persists correctly in the generated libtool script.
|
||||
|
||||
** Bug fixes:
|
||||
|
||||
- Fix a race condition in ltdl dryrun test that would cause spurious
|
||||
random failures of that test.
|
||||
|
||||
- LT_SYS_DLSEARCH_PATH is munged correctly.
|
||||
|
||||
|
||||
* Noteworthy changes in release 2.4.5 (2015-01-19) [stable]
|
||||
|
||||
** New features:
|
||||
|
||||
- Libtoolize searches for the best available M4 on the user PATH at
|
||||
runtime, rather than settling for the first one found.
|
||||
|
||||
- Support munging sys_lib_dlsearch_path_spec with LT_SYS_LIBRARY_PATH
|
||||
environment variable.
|
||||
|
||||
** Bug fixes:
|
||||
|
||||
- Bail out at configure time if the installed M4 is not sufficient
|
||||
for the purposes of libtoolize.
|
||||
|
||||
- freebsd-elf library versioning was upgraded incorrectly in 2.4.4,
|
||||
but now works properly again.
|
||||
|
||||
- Fix a 2.4.4 regression so that libltdl subprojects do not warn
|
||||
about missing libltdl/libltdl directory as in prior releases.
|
||||
|
||||
- When using Sun C++ on Solaris or GNU/Linux we used to set libtool's
|
||||
postdeps permanently, based on the contents of $CXX and $CXXFLAGS at
|
||||
configure time, which was brittle and error-prone. Now, we no
|
||||
longer check for a SunCC ABI at configure time, but augment the
|
||||
postdeps at libtool time based on the current invocation flags on
|
||||
each call.
|
||||
|
||||
** Changes in supported systems or compilers:
|
||||
|
||||
- /usr/local prefixed rpaths are now added to the link-line on
|
||||
ia64-hp-hpux*, because the default system runtime loader path does
|
||||
not contain them.
|
||||
|
||||
- Previously, when using Sun C++ on Solaris or GNU/Linux, `-Cstd -Crun`
|
||||
flags were added to $postdeps unless CXX or CXXFLAGS contained
|
||||
`-library=stlport4`. Newer releases have added other compiler flags
|
||||
that are also incompatible with `-Cstd -Crun`, so now we don't add
|
||||
them if any of `-std=c++[0-9][0-9]`, `-library=stdcxx4` or
|
||||
`-compat=g` were found in CXX or CXXFLAGS when the Sun C++ compiler
|
||||
is detected.
|
||||
|
||||
|
||||
* Noteworthy changes in release 2.4.4 (2014-11-29) [stable]
|
||||
|
||||
** New features:
|
||||
@ -625,7 +1045,7 @@ New in 1.9b: 2004-08-29; CVS version 1.5a, Libtool team:
|
||||
libraries from dlpreopened modules.
|
||||
* libtoolize installs libtool.m4, (ltdl.m4 if used,) and various supporting
|
||||
m4 definitions to AC_CONFIG_MACRO_DIR.
|
||||
* Mode inferrence removed, shorthand for choosing modes added.
|
||||
* Mode inference removed, shorthand for choosing modes added.
|
||||
* Specifying -allow-undefined is now an error.
|
||||
* Speed up max_cmd_len check.
|
||||
* libltdl can now preopen modules from within a library, and libtool will
|
||||
@ -635,7 +1055,7 @@ New in 1.9b: 2004-08-29; CVS version 1.5a, Libtool team:
|
||||
by module name.
|
||||
* New function in libltdl: lt_dlpreload_open opens all preloaded modules.
|
||||
* libltdl no longer loads shared libraries with global symbol resolution,
|
||||
this caused problems when the symbols were intended to be overriden further
|
||||
this caused problems when the symbols were intended to be overridden further
|
||||
up the stack; it is also not recommended practice.
|
||||
* New function in libltdl: lt_dlhandle_first, primes handle iterations (using
|
||||
lt_dlhandle_next) to filter by module interface.
|
||||
@ -955,7 +1375,7 @@ New in 1.2d: 1998-12-16; CVS version 1.2c, Libtool team:
|
||||
* We now have anonymous CVS access to GNU libtool. CVSROOT is
|
||||
:pserver:anoncvs@anoncvs.gnu.org:/gd/gnu/anoncvsroot. The password
|
||||
is empty. The directory is libtool. Check our home-page at
|
||||
http://www.gnu.org/software/libtool/libtool.html for details.
|
||||
https://www.gnu.org/software/libtool/libtool.html for details.
|
||||
* Alexandre Oliva, Thomas Tanner and Gary V. Vaughan have taken over
|
||||
the maintenance of libtool.
|
||||
* Arguments to ltconfig have been changed to allow creation of a
|
||||
@ -1132,9 +1552,10 @@ New in 0.1:
|
||||
* First release of libtool
|
||||
* Support for: *-*-freebsd*, *-*-netbsd*, *-*-sunos4*, *-*-ultrix4*
|
||||
--
|
||||
Copyright (C) 1996, 1998-2014 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Libtool.
|
||||
Copyright (C) 1996, 1998-2019, 2021-2026 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Libtool.
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
|
||||
24
NO-THANKS
24
NO-THANKS
@ -30,6 +30,7 @@ note to the bug-report mailing list (as seen at end of e.g., libtool --help).
|
||||
Akim Demaille akim@epita.fr
|
||||
!Albert Chin
|
||||
Albert Chin-A-Young china@thewrittenword.com
|
||||
Alexander Hass alexander.hass@sap.com
|
||||
Andreas Schwab schwab@suse.de
|
||||
Brian Barrett brbarret@osl.iu.edu
|
||||
!Brian W. Barret
|
||||
@ -37,6 +38,7 @@ Bruno Haible haible@ilog.fr
|
||||
Dalibor Topic robilad@kaffe.org
|
||||
David Edelsohn edelsohn@gnu.org
|
||||
DJ Delorie dj@delorie.com
|
||||
Ed Maste emaste@freebsd.org
|
||||
Erez Zadok ezk@cs.columbia.edu
|
||||
Eric Blake ebb9@byu.net
|
||||
H.J. Lu hjl@gnu.org
|
||||
@ -47,6 +49,7 @@ Juergen Reuter reuter@theoc01.desy.de
|
||||
Karl Berry karl@gnu.org
|
||||
Maciej W. Rozycki macro@linux-mips.org
|
||||
Manfred Weichel weichel@global.nacamar.de
|
||||
Michael Pratt mcpratt@pm.me
|
||||
Mike Gorchak mike@malva.ua
|
||||
Mo DeJong mdejong@redhat.com
|
||||
Nick Hudson skrll@netbsd.org
|
||||
@ -63,25 +66,34 @@ Todd Vierling tv@netbsd.org
|
||||
Vincent Torri vtorri@univ-evry.fr
|
||||
##
|
||||
## Add bug reporters, patch Authors you forgot to attribute at commit
|
||||
## time with 'git commit --author=...' and other non-patch contributers
|
||||
## time with 'git commit --author=...' and other non-patch contributors
|
||||
## below:
|
||||
##
|
||||
Alex lx_op@orcon.net.nz
|
||||
Allan McRae allan@archlinux.org
|
||||
Andreas Schiffler aschiffler@ferzkopp.net
|
||||
Andreas Stieger Andreas.Stieger@gmx.de
|
||||
Anton Shterenlikht shterenlikht@par-tec.com
|
||||
Brent Leback brent.leback@st.com
|
||||
Camilo La Rota camilo.larota@ens-lyon.fr
|
||||
Carl D. Roth roth@cse.ucsc.edu
|
||||
Carlo Cabrera carlo.antonio.cabrera@gmail.com
|
||||
Chris P. Ross cross@eng.us.uu.net
|
||||
Christian Rössel christian.roessel@gmx.de
|
||||
Christopher Hulbert cchgroupmail@gmail.com
|
||||
Craig Tierney Craig.Tierney@noaa.gov
|
||||
Dan McMahill mcmahill@mtl.mit.edu
|
||||
Daniel Richard G. skunk@iSKUNK.ORG
|
||||
Dave Allured dave.allured@noaa.gov
|
||||
Dave Yost Dave@Yost.com
|
||||
Dimitri Papadopoulos dpo@sfr.fr
|
||||
Donn Washburn n5xwb@comcast.net
|
||||
Erik van Pienbroek erik-gnu@vanpienbroek.nl
|
||||
Ethan Mallove ethan.mallove@sun.com
|
||||
Fred Cox sailorfred@yahoo.com
|
||||
Frediano Ziglio freddy77@gmail.com
|
||||
FX Coudert fxcoudert@gcc.gnu.org
|
||||
Hiroyuki Sato hiroysato@gmail.com
|
||||
Jakub Bogusz qboosh@pld-linux.org
|
||||
James Su james.su@gmail.com
|
||||
Jay Krell jay.krell@cornell.edu
|
||||
@ -95,11 +107,13 @@ John Wolfe jlw@sco.com
|
||||
Joseph Beckenbach III jrb3@best.com
|
||||
Kenneth Albanowski kjahds@kjahds.com
|
||||
Khem Raj raj.khem@gmail.com
|
||||
Kirill Makurin maiddaisuki@outlook.com
|
||||
Kurt D. Zeilenga Kurt@OpenLDAP.Org
|
||||
Lawrence Velázquez larryv@macports.org
|
||||
Lionel Landwerlin llandwerlin@gmail.com
|
||||
Maciej Helminiak dion2@wp.pl
|
||||
Mahesh Narayanamurthi mahesh.mach@gmail.com
|
||||
Marc Glisse marc.glisse@inria.fr
|
||||
Marcel Loose loose@astron.nl
|
||||
Markus Duft markus.duft@salomon.at
|
||||
Martin Doucha doucha@integri.cz
|
||||
@ -119,22 +133,30 @@ Pavel Raiskup praiskup@redhat.com
|
||||
Paweł Daniluk pawel@bioexploratorium.pl
|
||||
Peter Fritzsche peter.fritzsche@gmx.de
|
||||
Peter Jeremy peterjeremy@optushome.com.au
|
||||
Peter Johansson trojkan@gmail.com
|
||||
Peter Kjellerstedt peter.kjellerstedt@axis.com
|
||||
Pádraig Brady P@draigBrady.com
|
||||
Richard B. Kreckel kreckel@ginac.de
|
||||
Richard Purdie rpurdie@rpsys.net
|
||||
Richard W.M. Jones rjones@redhat.com
|
||||
Rico Tzschichholz ricotz@ubuntu.com
|
||||
Robert Garron Robert.Garron@Access3000.net
|
||||
Robert Ögren lists@roboros.com
|
||||
Robert Yang liezhi.yang@windriver.com
|
||||
Roberto Bagnara bagnara@cs.unipr.it
|
||||
Roland Mainz roland.mainz@nrubsig.org
|
||||
Rudolf Leitgeb r.leitgeb@x-pin.com
|
||||
Ryan Hill dirtyepic@gentoo.org
|
||||
Sebastian Wilhelmi wilhelmi@ira.uka.de
|
||||
Simon Sobisch
|
||||
Sven Verdoolaege skimo@liacs.nl
|
||||
Terry D. Dontje Terry.Dontje@Sun.COM
|
||||
Tobias Stoeckmann tobias@stoeckmann.org
|
||||
Tom Tromey tromey@cygnus.com
|
||||
Ulrich Drepper drepper@ipd.info.uni-karlsruhe.de
|
||||
Václav Zeman vhaisman@gmail.com
|
||||
Warren Dodge warren.l.dodge@Tektronix.com
|
||||
Xavier Pianet xavier@xingo.com
|
||||
Xin Li d@delphij.net
|
||||
Юрий Андреевич Пухальский pooh@cryptopro.ru
|
||||
Дилян Палаузов dilyan.palauzov@aegee.org
|
||||
|
||||
32
README.md
32
README.md
@ -9,7 +9,7 @@ consistent, portable interface.
|
||||
|
||||
Libtool's home page is:
|
||||
|
||||
http://www.gnu.org/software/libtool/libtool.html
|
||||
https://www.gnu.org/software/libtool/libtool.html
|
||||
|
||||
See the file [NEWS][] for a description of recent changes to Libtool.
|
||||
|
||||
@ -37,12 +37,12 @@ To use Libtool, add the new generic library building commands to your
|
||||
`Makefile`, `Makefile.in`, or `Makefile.am`. See the documentation for
|
||||
details.
|
||||
|
||||
[install]: http://git.savannah.gnu.org/cgit/libtool.git/tree/INSTALL
|
||||
[libtool]: http://www.gnu.org/s/libtool
|
||||
[install]: https://git.savannah.gnu.org/cgit/automake.git/tree/INSTALL
|
||||
[libtool]: https://www.gnu.org/s/libtool
|
||||
[libtool list]: mailto:libtool@gnu.org
|
||||
[news]: http://git.savannah.gnu.org/cgit/libtool.git/tree/NEWS
|
||||
[notes]: http://git.savannah.gnu.org/cgit/libtool.git/tree/doc/notes.texi
|
||||
[platforms]: http://git.savannah.gnu.org/cgit/libtool.git/tree/doc/PLATFORMS
|
||||
[news]: https://git.savannah.gnu.org/cgit/libtool.git/tree/NEWS
|
||||
[notes]: https://git.savannah.gnu.org/cgit/libtool.git/tree/doc/notes.texi
|
||||
[platforms]: https://git.savannah.gnu.org/cgit/libtool.git/tree/doc/PLATFORMS
|
||||
|
||||
|
||||
2. Reporting Bugs
|
||||
@ -82,7 +82,7 @@ details see the 'Copyright Assignment' section on our
|
||||
[Contributing][contribute] webpage.
|
||||
|
||||
[bug mailing list]: mailto:bug-libtool@gnu.org
|
||||
[contribute]: http://www.gnu.org/software/libtool/contribute.html
|
||||
[contribute]: https://www.gnu.org/software/libtool/contribute.html
|
||||
|
||||
|
||||
3. The Test Suite
|
||||
@ -153,7 +153,7 @@ send the file `tests/testsuite.log` to the [bug mailing list][].
|
||||
To reduce load on the main server, please use one of the mirrors
|
||||
listed at:
|
||||
|
||||
http://www.gnu.org/order/ftp.html
|
||||
https://www.gnu.org/order/ftp.html
|
||||
|
||||
* Alpha quality pre-releases of GNU Libtool, also with detached
|
||||
signature files are available from:
|
||||
@ -162,10 +162,14 @@ send the file `tests/testsuite.log` to the [bug mailing list][].
|
||||
|
||||
and some of the mirrors listed at:
|
||||
|
||||
http://www.gnu.org/order/ftp.html
|
||||
https://www.gnu.org/order/ftp.html
|
||||
|
||||
* The master libtool repository is stored in git.
|
||||
|
||||
Development and testing is primarily done on the 'development' git
|
||||
branch. 'master' is used for release ready code. Periodically,
|
||||
commits are cherry-picked from 'development' to 'master'.
|
||||
|
||||
If you are a member of the savannah group for GNU Libtool, a writable
|
||||
copy of the libtool repository can be obtained by:
|
||||
|
||||
@ -174,7 +178,7 @@ send the file `tests/testsuite.log` to the [bug mailing list][].
|
||||
If you are behind a firewall that blocks the git protocol, you may
|
||||
find it useful to use
|
||||
|
||||
git config --global url.http://git.sv.gnu.org/r/.insteadof \
|
||||
git config --global url.https://git.sv.gnu.org/r/.insteadof \
|
||||
git://git.sv.gnu.org/
|
||||
|
||||
to force git to transparently rewrite all savannah git references to
|
||||
@ -191,15 +195,15 @@ send the file `tests/testsuite.log` to the [bug mailing list][].
|
||||
co -d libtool HEAD
|
||||
|
||||
* Before you can build from git, you need to bootstrap. This requires:
|
||||
- Autoconf 2.62 or later
|
||||
- Autoconf 2.64 or later
|
||||
- Automake 1.11.1 or later
|
||||
- Help2man 1.29 or later
|
||||
- Xz 4.999.8beta or later (from [tukaani.org](http://tukaani.org/xz))
|
||||
- Xz 4.999.8beta or later (from [tukaani.org](https://tukaani.org/xz))
|
||||
- Texinfo 4.8 or later
|
||||
- Any prerequisites of the above (such as m4, perl, tex)
|
||||
|
||||
Note that these bootstrapping dependencies are much stricter than
|
||||
those required to use a destributed release for your own packages.
|
||||
those required to use a distributed release for your own packages.
|
||||
After installation, GNU Libtool is designed to work either standalone,
|
||||
or optionally with:
|
||||
- Autoconf 2.59 or later
|
||||
@ -241,7 +245,7 @@ revision hash string in hexadecimal appended to all of that:
|
||||
2.4.2.418.3-30eaa
|
||||
|
||||
--
|
||||
Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
|
||||
Copyright (C) 2004-2010, 2015-2019, 2021-2026 Free Software
|
||||
Foundation, Inc.
|
||||
|
||||
Written by Gary V. Vaughan, 2004
|
||||
|
||||
12
TODO
12
TODO
@ -114,7 +114,7 @@ GNU Libtool
|
||||
|
||||
* Need to finalize the documentation, and give a specification of
|
||||
'.la' files so that people can depend on their format. This would be
|
||||
a good thing to put before the maintainance notes.
|
||||
a good thing to put before the maintenance notes.
|
||||
|
||||
* Document the installed 'libtool' and its limitations clearly (maybe implement
|
||||
--disable-script-install as well). Or, even better, remove its limitations.
|
||||
@ -124,10 +124,6 @@ GNU Libtool
|
||||
2.2. test suite
|
||||
---------------
|
||||
|
||||
* Rewrite the whole thing in Autotest. This will enable us to remove
|
||||
all the tests/*demo noise, and duplication; and thus speed up bootstrap
|
||||
and make writing new tests a whole lot more pleasant.
|
||||
|
||||
* We should include tests with reloadable objects in the testsuite.
|
||||
|
||||
* Write a test case for linkage with gnu ld scripts (per 2004-08-25 patch
|
||||
@ -285,7 +281,7 @@ GNU Libtool
|
||||
cygwin, or unix. Worse, you can't really do a set of
|
||||
{msys|cygwin|unix}_to_central_unixish that isn't simply a no-op -- because
|
||||
(A) they already are all unixish, and (B) what tool would you use? How would
|
||||
the later to_mingw function "know" how to covert this new representation to
|
||||
the later to_mingw function "know" how to convert this new representation to
|
||||
mingw. So, {msys|cygwin|unix}_to_central_unixish would simply be a no-op
|
||||
and central_unixish_to_mingw would still do all the work (with its guts
|
||||
customized based on $build).
|
||||
@ -303,7 +299,7 @@ GNU Libtool
|
||||
So...I don't think it makes much difference *right now* in the amount of
|
||||
code required, or the number of functions implemented. At some point in the
|
||||
future we might want to generalize to an M+N scheme. For the existing win32
|
||||
$hosts, all of the funtionality would be on "one side" of the 2-step
|
||||
$hosts, all of the functionality would be on "one side" of the 2-step
|
||||
conversion; the "other side" would be noop. But we won't worry about the
|
||||
implicit quadratic complexity of the existing scheme for now.
|
||||
|
||||
@ -329,7 +325,7 @@ GNU Libtool
|
||||
it easier to add new platforms.
|
||||
|
||||
--
|
||||
Copyright (C) 2004-2005, 2007-2008, 2011-2014 Free Software
|
||||
Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2026 Free Software
|
||||
Foundation, Inc.
|
||||
Written by Gary V. Vaughan, 2004
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# bootstrap.conf (GNU Libtool) version 2014-11-18
|
||||
#
|
||||
# Copyright (C) 2010-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2010-2019, 2021-2026 Free Software Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2010
|
||||
|
||||
# This is free software; see the source for copying conditions. There is NO
|
||||
@ -17,14 +17,11 @@
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Libtool; see the file COPYING. If not, a copy
|
||||
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
||||
# or obtained by writing to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
# along with GNU Libtool. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
## -------------------------------- ##
|
||||
## User overrideable command paths. ##
|
||||
## User overridable command paths. ##
|
||||
## -------------------------------- ##
|
||||
|
||||
: "${MAKE=make}"
|
||||
@ -44,23 +41,27 @@ checkout_only_file=HACKING
|
||||
# List of programs (and minimum versions) required to bootstrap, maintain
|
||||
# and release Libtool.
|
||||
buildreq="
|
||||
help2man 1.29 http://www.gnu.org/s/help2man
|
||||
make 3.81 http://www.gnu.org/s/make
|
||||
makeinfo 4.8 http://www.gnu.org/s/texinfo
|
||||
xz 4.999.8beta http://tukaani.org/xz
|
||||
help2man 1.29 https://www.gnu.org/s/help2man
|
||||
make 3.81 https://www.gnu.org/s/make
|
||||
makeinfo 4.8 https://www.gnu.org/s/texinfo
|
||||
xz 4.999.8beta https://tukaani.org/xz
|
||||
"
|
||||
|
||||
# Instructions on how to install packages in $buildreq.
|
||||
buildreq_readme=HACKING
|
||||
|
||||
# Non-default gnulib directory options.
|
||||
local_gl_dir=gl
|
||||
# Non-default gnulib directories.
|
||||
local_gl_path=gl:gl-mod/bootstrap
|
||||
|
||||
# We don't need the whole copy of gnulib.
|
||||
gnulib_clone_since=2019-02-19
|
||||
|
||||
# Additional gnulib-tool options to use.
|
||||
gnulib_tool_options=$gnulib_tool_options"
|
||||
--avoid=dummy
|
||||
--libtool
|
||||
--macro-prefix=GL
|
||||
--with-tests --tests-base=gnulib-tests
|
||||
"
|
||||
|
||||
# gnulib modules used by this package.
|
||||
@ -81,6 +82,10 @@ gnulib_modules='
|
||||
update-copyright
|
||||
'
|
||||
|
||||
gnulib_git_submodules='
|
||||
gl-mod/bootstrap
|
||||
'
|
||||
|
||||
# Extra gnulib files that are not in modules, which override files of
|
||||
# the same name installed by other bootstrap tools.
|
||||
gnulib_non_module_files=$gnulib_non_module_files'
|
||||
@ -260,13 +265,18 @@ func_add_hook func_fini libtool_readme_release_package_substitutions
|
||||
# not changing the timestamp of config-h.in unless the file contents
|
||||
# are updated. Unfortunately config-h.in depends on aclocal.m4, which
|
||||
# *is* updated, so running 'libtoolize --ltdl=. && configure && make'
|
||||
# causes autoheader to be called... undesireable for users that do not
|
||||
# have it! Fudge the timestamp to prevent that:
|
||||
# causes autoheader to be called... undesirable for users that do not
|
||||
# have it! Fudge the timestamp to prevent that. But only fudge it as
|
||||
# much as configure since configure depends on config-h.in and we don't
|
||||
# want to require autoconf either.
|
||||
libtool_fudge_timestamps ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
sleep 2 && touch libltdl/config-h.in
|
||||
(
|
||||
cd libltdl
|
||||
touch -r configure config-h.in
|
||||
)
|
||||
}
|
||||
func_add_hook func_fini libtool_fudge_timestamps
|
||||
|
||||
@ -291,13 +301,8 @@ func_add_hook func_fini libtool_cleanup
|
||||
libtool_check_for_bogus_macros ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
$opt_dry_run ||
|
||||
for macro in LT_INIT AC_PROG_LIBTOOL AM_PROG_LIBTOOL; do
|
||||
if grep $macro aclocal.m4 libltdl/aclocal.m4; then
|
||||
func_fatal_error "Bogus $macro macro contents in an aclocal.m4 file"
|
||||
else :; fi
|
||||
done
|
||||
$require_build_aux
|
||||
$build_aux/no-bogus-m4-defines || exit 1
|
||||
}
|
||||
func_add_hook func_fini libtool_check_for_bogus_macros
|
||||
|
||||
|
||||
1
build-aux/.gitignore
vendored
1
build-aux/.gitignore
vendored
@ -1,4 +1,5 @@
|
||||
/announce-gen
|
||||
/ar-lib
|
||||
/compile
|
||||
/depcomp
|
||||
/do-release-commit-and-tag
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#! /bin/sh
|
||||
|
||||
# edit-readme-alpha - edit README file for alpha releases
|
||||
# Copyright (C) 2010-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2010-2019, 2021-2026 Free Software Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2010
|
||||
#
|
||||
# This file is part of GNU Libtool.
|
||||
@ -17,13 +17,10 @@
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Libtool; see the file COPYING. If not, a copy
|
||||
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
||||
# or obtained by writing to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
# along with GNU Libtool. If not, see <https://www.gnu.org/licenses/>.
|
||||
####
|
||||
|
||||
# We used to maintain separate (but extremely similiar!) README and
|
||||
# We used to maintain separate (but extremely similar!) README and
|
||||
# README.alpha files, and had 'make dist' include the right one in a
|
||||
# distribution based on the contests of '$(VERSION)'.
|
||||
#
|
||||
@ -62,16 +59,18 @@ for file in "$@"; do
|
||||
continue
|
||||
}
|
||||
|
||||
# Did we already in-place edited this file?
|
||||
matched=`sed -n -e '/^This is an alpha testing release/,/a consistent, portable interface\.$/p' $file \
|
||||
|wc -l |sed 's|^ *||'`
|
||||
test 3 = "$matched" && {
|
||||
echo "$progname: $file already edited" >&2
|
||||
continue
|
||||
}
|
||||
|
||||
# Make sure the paragraph we are matching has not been edited since
|
||||
# this script was written.
|
||||
matched=`sed -n -e '/^\[GNU Libtool\]\[libtool\] is/,/^consistent, portable interface\.$/p' $file \
|
||||
|wc -l |sed 's|^ *||'`
|
||||
|
||||
# Unless, of course, it was edited by this script already.
|
||||
test 3 = "$matched" \
|
||||
|| matched=`sed -n -e '/^This is an alpha testing release/,/a consistent, portable interface\.$/p' $file \
|
||||
|wc -l |sed 's|^ *||'`
|
||||
|
||||
test 3 = "$matched" \
|
||||
|| func_fatal_error "$file format has changed, please fix '$0'"
|
||||
|
||||
@ -79,7 +78,7 @@ for file in "$@"; do
|
||||
trap 'x=$?; rm $file.T; exit $x' 1 2 13 15
|
||||
|
||||
# Edit the first paragraph to be suitable for an alpha release.
|
||||
sed -n '/^\[GNU Libtool\]\[libtool\] is/,/^consistent, portable interface\.$/c\
|
||||
sed '/^\[GNU Libtool\]\[libtool\] is/,/^consistent, portable interface\.$/c\
|
||||
This is an alpha testing release of [GNU Libtool][libtool], a generic\
|
||||
library support script. [Libtool][] hides the complexity of using shared\
|
||||
libraries behind a consistent, portable interface.' $file > $file.T
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# or Copyright-paperwork-exempt lines in the commit message.
|
||||
# Written by Gary V. Vaughan <gary@gnu.org>, 2011
|
||||
|
||||
# Copyright (C) 2011-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2011-2019, 2021-2025 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.
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
|
||||
|
||||
: ${SED="sed"}
|
||||
test set = ${ECHO+'set'} = set || ECHO='printf %s\n'
|
||||
test "${ECHO+set}" = set || ECHO='printf %s\n'
|
||||
|
||||
basename='s|^.*/||'
|
||||
|
||||
|
||||
@ -2,6 +2,9 @@
|
||||
# option. It specifies what changes to make to each given SHA1's commit
|
||||
# log and metadata, using Perl-eval'able expressions.
|
||||
|
||||
0f84217752fe50155f1f00fd14efbbbbdfaaed24
|
||||
s|Subjecŧ|Subject|
|
||||
|
||||
8c2154fb4e80967b50b98c7327ff1465d3315f3f
|
||||
# Date: Tue Nov 18 16:14:35 2014 +0000
|
||||
# Fox a resent smelling mystique.
|
||||
@ -73,163 +76,163 @@ s|\n\n|\n|g
|
||||
## branch.
|
||||
# Date: Tue Oct 2 21:05:53 2012 +0700
|
||||
4440d6523bf9c668720f9ffa66fb89e91912a504
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n\n|
|
||||
|
||||
0fc275469ef020177d8dff2c041456f6b6155537
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
692bc68dc9a580647a164d6338ca7e13cb593966
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
6cb0d0d771bc1e3be402929b900000ca7a8a16d4
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
d50e123595d80b5582d0663ad50e3454051c482d
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
e0f66dc54d2f7906a2513c68d76362be4bcbbef3
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
ae68608314993e81836257ac1eec449256decd53
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
d576fa9da144f2e9ab14337c9590d4abfdea985f
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
3cbc0e26f0a7f0bbea559912c3da920b4ead8e5e
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
83d52fd6d2039c048f731133bec0ae8a1bf9382d
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
1e70622d7c127b4dd90b3a5b0650d323ec2305fc
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
1fcb9bc4e4b7b7166a6f45da633f813faee6e00f
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
bf6aa3082089d12bf4500b469c096263823a75b4
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
43acd6749a29f079452cfb70b6c6e1c8f1469128
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
8c6e33197e36463cb7fcf5d575a53c3f414ec4ff
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
7db681a2696c75dc6c55261ea8fd11f92e42db2b
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
59f8a3a6e1a26d501e5865f7611d8828aac5579c
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
f2a640f7e03e5dcf1510833a0e1e4991032b5f96
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
90529a55ef40653051730d3c20203fa2ad5e8f7f
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
d702946c65b309c389ae717a4d2d6fe158c3ee5f
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
8392cd263e847a22b2409c35bf03d7c9e68d2cd0
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
430e782755bbe8061a5e7f9d856b33e3b7da3ac8
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
d60b4387c178100b0bd3835c61d0f4771330bf6a
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
47a889a4ca2009e2147fa5b2f95baefe1dca8288
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
8f975a1368594126e37d85511f1f96164e466d93
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
f8a4b90f9a712f47b7627d2cf96eed74825df91f
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
b25625e6b25427dba80051b2924060b1e84ea73e
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
3467227ccb6c99f4c2122b9fb3fa67d54b5bd54b
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
8bfac9e3e82646868907aede4ebe4deb158a2e8a
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
baffe661910947df0dcd5a5bbd6512fc0bce59b9
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
822881fe3c69ca474b8e13d60243dd9c1a1c3fea
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
f7f249a0e6b5093b8752f1ba863345bfcd5a237e
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
c03789b8ee33f136d3bbd7f7a111ad863bb4c7e8
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
78385ffd8af73b927549c3596da67233f2f92f0e
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
7d25536e80b68042a6d999c11a0c5c9dc948f82e
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
7a2a8f32bb83d6b16db8436b530ec5e88fbd0751
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
c5dec32e37e90ce46813efe7dfe8c5500cc55bbc
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
a2445f0fdbeaa72c18a893714e4437ea01faa08a
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
0c953ba5cc71bd1de615df28fbf16e27be62244e
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
f32a760fbd40796be0b7e3be41226a82db1748d4
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
a80878742dfd0f5127c1ddc5f803fab980eb816a
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
d56683630a6415e59f1be7a6540c4733e9671bd8
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
ca821436009a93c2e8f3c5ce07ed23d90bbba49e
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
c7d7e46fbea7d6249680da71ecda1d84bdec858a
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
156a851bc5d758f2d4d7fd89cef678ae72f35e77
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
87c4cffb19cf5ba8dc088e0ad357e5c3d4be2433
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
c5230035e5df31976285bf36141d89236416230d
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
cb4ed2559e89354ea846a686543206d3445ea5ec
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
9f3cec5b2ec476bd4fd978c1e23398b25d36cd2f
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
5f27eeb0a37f15b32ccb1b97b2ed9022f5df9a60
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
013c91874e974543d2f58843c1e839ba102d6ee0
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
006695fed2e9cd10664c97c69880a82545dde1ef
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
ff3b32aed7db925a7390d92ffede055b4c8ccf18
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
d43b40113ec1e8289e48d77f00e8947f2fd98fd4
|
||||
# Date: Tue Oct 2 21:02:16 2012 +0700
|
||||
@ -252,7 +255,7 @@ cf86b942c893da74d6e9faf0125364a9f114ea01
|
||||
# Date: Tue Aug 21 21:06:45 2012 -0500
|
||||
# Add category tag to summary line.
|
||||
s|\n(Add )|\nlibtool: $1|;
|
||||
# Spell Report attribtution correctly.
|
||||
# Spell Report attribution correctly.
|
||||
s|Thanks to (.*) for .*\n|Reported by $1.\n|
|
||||
|
||||
9b726f35db98da01a7edaf143788cba2c2ae900a
|
||||
@ -295,7 +298,7 @@ s|\n(Improve )|\nlibtool: $1|
|
||||
9333e74fc7b76a11ed04a19343eb5dd75a1035f3
|
||||
# Date: Sun Feb 19 16:21:00 2012 -0600
|
||||
# Elide duplicate log entries.
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
c0c49f289f22ae670066657c60905986da3b555f
|
||||
# Date: Sun Feb 19 15:33:48 2012 -0600
|
||||
@ -335,7 +338,7 @@ s|\n(Support )|\nlibtool: $1|
|
||||
962aa919f51cdf8e2cee4fb2d1d9bafa34d50887
|
||||
# Date: Fri Nov 25 14:53:42 2011 +0700
|
||||
# Elide duplicate log entries.
|
||||
s|$|Omit-from-ChangeLog: Yes|
|
||||
s|\n\n|\nOmit-from-ChangeLog.\n|
|
||||
|
||||
11d16ab06c36948c053c507f5f9e06ff3de221c7
|
||||
# Date: Fri Nov 25 14:39:57 2011 +0700
|
||||
|
||||
1141
build-aux/ltmain.in
1141
build-aux/ltmain.in
File diff suppressed because it is too large
Load Diff
58
build-aux/no-bogus-m4-defines
Executable file
58
build-aux/no-bogus-m4-defines
Executable file
@ -0,0 +1,58 @@
|
||||
#! /bin/sh
|
||||
|
||||
# no-bogus-m4-defines - detect wrong m4 definitions
|
||||
# -------------------------------------------------
|
||||
# Try to catch the case where 'aclocal' pulls installed libtool
|
||||
# macro file contents from another version of libtool into the
|
||||
# current package 'aclocal.m4'. Currently used by 'make dist'
|
||||
# and by ./bootstrap (bootstrap.conf).
|
||||
#
|
||||
# Copyright (C) 2015-2019, 2021-2026 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of GNU Libtool.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
# Please report bugs or propose patches to bug-libtool@gnu.org.
|
||||
|
||||
. `echo "$0" |${SED-sed} 's|[^/]*$||'`/funclib.sh
|
||||
# source this for "GNU m4" detection methods
|
||||
. `echo "$0" |${SED-sed} 's|[^/]*$||'`/extract-trace
|
||||
|
||||
$require_gnu_m4
|
||||
|
||||
bogus_macros='LT_INIT AC_PROG_LIBTOOL AM_PROG_LIBTOOL'
|
||||
|
||||
bogus_macros_grep=''
|
||||
for macro in $bogus_macros; do
|
||||
func_append bogus_macros_grep "/$macro/p;"
|
||||
done
|
||||
|
||||
clean_false_alarms="pushdef(\`AC_BEFORE', \`')"
|
||||
|
||||
bogus_macros_check_output=`$ECHO "$clean_false_alarms" \
|
||||
|$M4 - aclocal.m4 libltdl/aclocal.m4 \
|
||||
|$SED -n "$bogus_macros_grep"`
|
||||
|
||||
exit_val=0
|
||||
for macro in $bogus_macros; do
|
||||
case $bogus_macros_check_output in
|
||||
*$macro*)
|
||||
func_error "Bogus $macro macro definition in an aclocal.m4 file"
|
||||
exit_val=1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
exit $exit_val
|
||||
56
cfg.mk
56
cfg.mk
@ -1,6 +1,6 @@
|
||||
# cfg.mk -- Configuration for maintainer-makefile
|
||||
#
|
||||
# Copyright (c) 2011-2014 Free Software Foundation, Inc.
|
||||
# Copyright (c) 2011-2019, 2021-2026 Free Software Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2011
|
||||
#
|
||||
# This file is part of GNU Libtool.
|
||||
@ -16,15 +16,20 @@
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Libtool; see the file COPYING. If not, a copy
|
||||
# can be downlodad from http://www.gnu.org/licenses/gpl.html,
|
||||
# or obtained by writing to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Boston, # MA 02111-1301, USA.
|
||||
# along with GNU Libtool. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
update-copyright-env := UPDATE_COPYRIGHT_FORCE=1 UPDATE_COPYRIGHT_USE_INTERVALS=1
|
||||
|
||||
# Set format of NEWS
|
||||
old_NEWS_hash := e524180c3db06628ad97e3fcb35f6a4b
|
||||
update-copyright: update-release-year
|
||||
update-release-year:
|
||||
$(AM_V_GEN)year=`date +%Y`; \
|
||||
sed -i \
|
||||
-e "/_LT_COPY/,+1 { /Copyright/ {s:[0-9][0-9][0-9][0-9]:$$year:} }" \
|
||||
-e "/^Copyright/ {s:[0-9][0-9][0-9][0-9]:$$year:} " \
|
||||
m4/libtool.m4
|
||||
|
||||
# Set format of NEWS.
|
||||
old_NEWS_hash := 6b55a9c35959c8c4918110ff839bff7d
|
||||
|
||||
manual_title = Portable Dynamic Shared Object Management
|
||||
|
||||
@ -36,8 +41,8 @@ else
|
||||
announcement_Cc_ = autotools-announce@gnu.org, $(PACKAGE_BUGREPORT)
|
||||
endif
|
||||
|
||||
# Don't syntax check the mail subdirectory.
|
||||
VC_LIST_ALWAYS_EXCLUDE_REGEX = ^mail/
|
||||
# Don't syntax check the mail subdirectory or patches to gnulib itself.
|
||||
VC_LIST_ALWAYS_EXCLUDE_REGEX = ^(mail|gl)/
|
||||
|
||||
local-checks-to-fix = \
|
||||
sc_require_config_h \
|
||||
@ -47,11 +52,13 @@ local-checks-to-skip = \
|
||||
$(local-checks-to-fix) \
|
||||
sc_GPL_version \
|
||||
sc_cast_of_x_alloc_return_value \
|
||||
sc_indent \
|
||||
sc_prohibit_always-defined_macros \
|
||||
sc_prohibit_always_true_header_tests \
|
||||
sc_prohibit_strncpy \
|
||||
sc_trailing_blank \
|
||||
sc_unmarked_diagnostics
|
||||
sc_unmarked_diagnostics \
|
||||
sc_codespell
|
||||
|
||||
# GPL_version: checks for GPLv3, which we don't use
|
||||
# cast_of_x_alloc_return_value:
|
||||
@ -70,9 +77,9 @@ local-checks-to-skip = \
|
||||
|
||||
# Check for correct usage of $cc_basename in libtool.m4.
|
||||
sc_libtool_m4_cc_basename:
|
||||
@sed -n '/case \$$cc_basename in/,/esac/ { \
|
||||
@$(SED) -n "/case \\\$$cc_basename in/,/esac/ { \
|
||||
/^[ ]*[a-zA-Z][a-zA-Z0-9+]*[^*][ ]*)/p; \
|
||||
}' '$(srcdir)/$(macro_dir)/libtool.m4' | grep . && { \
|
||||
}" '$(srcdir)/$(macro_dir)/libtool.m4' | grep . && { \
|
||||
msg="\$$cc_basename matches should include a trailing '*'." \
|
||||
$(_sc_say_and_exit) } || :
|
||||
|
||||
@ -112,6 +119,13 @@ sc_prohibit_bracket_as_test:
|
||||
halt="use 'if test' instead of 'if ['" \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
# : ${foo=`bar`} is not perfectly portable (see Shellology in autoconf's manual)
|
||||
exclude_file_name_regexp--sc_prohibit_command_in_subst = ^cfg.mk$$
|
||||
sc_prohibit_command_in_subst:
|
||||
@prohibit='\$$\{[^`}]*`[^`]*`[^}]*}' \
|
||||
halt='do not use `command` in $${ } substitution`' \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
# Check for quotes within backquotes within quotes "`"bar"`"
|
||||
exclude_file_name_regexp--sc_prohibit_nested_quotes = ^cfg.mk$$
|
||||
sc_prohibit_nested_quotes:
|
||||
@ -135,12 +149,12 @@ sc_prohibit_set_dummy_without_shift:
|
||||
@files=$$($(VC_LIST_EXCEPT)); \
|
||||
if test -n "$$files"; then \
|
||||
grep -nE '(set dummy|shift)' $$files | \
|
||||
sed -n '/set[ ][ ]*dummy/{ \
|
||||
$(SED) -n "/set[ ][ ]*dummy/{ \
|
||||
/set.*dummy.*;.*shift/d; \
|
||||
N; \
|
||||
/\n.*shift/D; \
|
||||
p; \
|
||||
}' | grep -n . && { \
|
||||
}" | grep -n . && { \
|
||||
msg="use 'shift' after 'set dummy'" \
|
||||
$(_sc_say_and_exit) } || :; \
|
||||
else :; \
|
||||
@ -176,7 +190,8 @@ sc_prohibit_test_binary_operators:
|
||||
exclude_file_name_regexp--sc_prohibit_test_dollar = ^cfg.mk$$
|
||||
sc_prohibit_test_dollar:
|
||||
@prohibit='test[ ]+(![ ])?(-.[ ]+)?X?\$$[^?#]' \
|
||||
halt='use '\''test "$$..."'\'' instead of '\''test $$'\' \
|
||||
exclude='test \$${[A-Za-z_][A-Za-z0-9_]+\+y}' \
|
||||
halt='use '\''test "$$..."'\'' instead of '\''test $$'\' \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
# Never use test -e.
|
||||
@ -208,11 +223,11 @@ sc_prohibit_test_const_follows_var:
|
||||
exclude_file_name_regexp--sc_require_function_nl_brace = (^HACKING|\.[ch]|\.texi)$$
|
||||
sc_require_function_nl_brace:
|
||||
@for file in $$($(VC_LIST_EXCEPT)); do \
|
||||
sed -n '/^func_[^ ]*[ ]*(/{ \
|
||||
$(SED) -n "/^func_[^ ]*[ ]*(/{ \
|
||||
N; \
|
||||
/^func_[^ ]* ()\n{$$/d; \
|
||||
p; \
|
||||
}' $$file | grep -E . && { \
|
||||
}" $$file | grep -E . && { \
|
||||
msg="found malformed function_definition in $$file" \
|
||||
$(_sc_say_and_exit) } || :; \
|
||||
done
|
||||
@ -237,7 +252,8 @@ define _sc_search_regexp_or_exclude
|
||||
fi || :;
|
||||
endef
|
||||
|
||||
exclude_file_name_regexp--sc_useless_braces_in_variable_derefs = /cvsu$$
|
||||
exclude_file_name_regexp--sc_useless_braces_in_variable_derefs = \
|
||||
test-funclib-quote.sh$$
|
||||
sc_useless_braces_in_variable_derefs:
|
||||
@prohibit='\$${[0-9A-Za-z_]+}[^0-9A-Za-z_]' \
|
||||
halt='found spurious braces around variable dereference' \
|
||||
@ -257,11 +273,9 @@ sc_useless_quotes_in_case:
|
||||
$(_sc_search_regexp)
|
||||
|
||||
# List syntax-check exempted files.
|
||||
exclude_file_name_regexp--sc_error_message_uppercase = \
|
||||
^$(_build-aux)/cvsu$$
|
||||
exclude_file_name_regexp--sc_prohibit_strcmp = \
|
||||
^doc/libtool.texi$$
|
||||
exclude_file_name_regexp--sc_prohibit_test_minus_ao = \
|
||||
^m4/libtool.m4$$
|
||||
exclude_file_name_regexp--sc_space_tab = \.diff$$
|
||||
exclude_file_name_regexp--sc_space_tab = (\.diff|test-funclib-quote.sh)$$
|
||||
exclude_file_name_regexp--sc_trailing_blank-non-rfc3676 = \.diff$$
|
||||
|
||||
29
configure.ac
29
configure.ac
@ -1,7 +1,7 @@
|
||||
# Process this file with autoconf to create configure. -*- autoconf -*-
|
||||
|
||||
# Copyright (C) 2001, 2004-2005, 2008, 2010-2014 Free Software
|
||||
# Foundation, Inc.
|
||||
# Copyright (C) 2001, 2004-2005, 2008, 2010-2019, 2021-2026 Free
|
||||
# Software Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2001
|
||||
#
|
||||
# This file is part of GNU Libtool.
|
||||
@ -17,14 +17,11 @@
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Libtool; see the file COPYING. If not, a copy
|
||||
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
||||
# or obtained by writing to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
# along with GNU Libtool. If not, see <https://www.gnu.org/licenses/>.
|
||||
####
|
||||
|
||||
|
||||
AC_PREREQ(2.62)
|
||||
AC_PREREQ(2.64)
|
||||
dnl Oldest automake required for bootstrap is below in AM_INIT_AUTOMAKE.
|
||||
|
||||
|
||||
@ -35,7 +32,7 @@ AC_INIT([GNU Libtool],
|
||||
m4_esyscmd([build-aux/git-version-gen .tarball-version]),
|
||||
[bug-libtool@gnu.org])
|
||||
m4_ifndef([AC_PACKAGE_URL],
|
||||
[AC_SUBST([PACKAGE_URL], [http://www.gnu.org/s/libtool/])])
|
||||
[AC_SUBST([PACKAGE_URL], [https://www.gnu.org/s/libtool/])])
|
||||
|
||||
# Remove this when a released Autoconf is capable of bootstrapping
|
||||
# Libtool without it (probably after autoconf-2.70).
|
||||
@ -81,6 +78,13 @@ AS_BOX([Configuring AC_PACKAGE_TARNAME AC_PACKAGE_VERSION])
|
||||
echo
|
||||
|
||||
|
||||
## ------------ ##
|
||||
## Shell tools. ##
|
||||
## ------------ ##
|
||||
|
||||
AC_PROG_GNU_M4
|
||||
|
||||
|
||||
## ------------------------ ##
|
||||
## Automake Initialisation. ##
|
||||
## ------------------------ ##
|
||||
@ -104,7 +108,7 @@ AB_INIT([$autobuild_mode])
|
||||
|
||||
|
||||
dnl Make sure config.status is regenerated when the version timestamp changes
|
||||
AC_SUBST([CONFIG_STATUS_DEPENDENCIES], ['$(srcdir)/.version'])
|
||||
AC_SUBST([CONFIG_STATUS_DEPENDENCIES], ['$(dotversion)'])
|
||||
|
||||
|
||||
## ------------------------------- ##
|
||||
@ -148,6 +152,9 @@ _LTDL_SETUP
|
||||
|
||||
# Enable all the language support we can
|
||||
LT_LANG(C++)
|
||||
LT_LANG(Objective-C)
|
||||
LT_LANG(Objective-C++)
|
||||
LT_LANG(Microsoft Macro Assembler)
|
||||
LT_LANG(Fortran 77)
|
||||
LT_LANG(Fortran)
|
||||
LT_LANG(Go)
|
||||
@ -159,7 +166,7 @@ LT_LANG(Windows Resource)
|
||||
AC_SUBST([to_host_file_cmd])dnl
|
||||
AC_SUBST([to_tool_file_cmd])dnl
|
||||
|
||||
# Propagate --with-aix-soname option to the testsuite.
|
||||
# Propagate --enable-aix-soname option to the testsuite.
|
||||
AC_SUBST([with_aix_soname])dnl
|
||||
|
||||
## ---------------------- ##
|
||||
@ -175,5 +182,5 @@ AM_MISSING_PROG([HELP2MAN], [help2man])
|
||||
## -------- ##
|
||||
## Outputs. ##
|
||||
## -------- ##
|
||||
AC_CONFIG_FILES([Makefile])
|
||||
AC_CONFIG_FILES([Makefile gnulib-tests/Makefile])
|
||||
AC_OUTPUT
|
||||
|
||||
1
doc/.gitignore
vendored
1
doc/.gitignore
vendored
@ -5,3 +5,4 @@
|
||||
/manual
|
||||
/notes.txt
|
||||
/version.texi
|
||||
/gendocs_template_min
|
||||
|
||||
1391
doc/libtool.texi
1391
doc/libtool.texi
File diff suppressed because it is too large
Load Diff
@ -26,6 +26,12 @@ For C++ code with templates, it may be necessary to specify the way the compiler
|
||||
will generate the instantiations. For Portland pgCC version5, use
|
||||
@code{CXX='pgCC --one_instantiation_per_object'} and avoid parallel @command{make}.
|
||||
|
||||
@item
|
||||
For C++ code, it may be necessary to specify a library if it is a dependency
|
||||
of a link/compile flag. For example in GNU G++, if you want to use
|
||||
@code{-fsanitize=address} you need to specify the @code{-lasan} library,
|
||||
like so: @code{g++ -o libx.la -fsanitize=address -lasan -rpath [...]}.
|
||||
|
||||
@item
|
||||
On Darwin, for C++ code with templates you need two level shared libraries.
|
||||
Libtool builds these by default if @env{MACOSX_DEPLOYMENT_TARGET} is set to
|
||||
@ -68,13 +74,41 @@ to use autoconf-mode, which is distributed with GNU Emacs 21, Autoconf itself,
|
||||
and all recent releases of XEmacs.
|
||||
|
||||
@item
|
||||
When building on some GNU/Linux systems for multilib targets
|
||||
@command{libtool} sometimes guesses the wrong paths that the linker
|
||||
and dynamic linker search by default. If this occurs, you may override
|
||||
libtool's guesses at @command{configure} time by setting the
|
||||
@command{autoconf} cache variables
|
||||
@code{lt_cv_sys_lib_search_path_spec} and
|
||||
@code{lt_cv_sys_lib_dlsearch_path_spec} respectively to the correct search
|
||||
paths.
|
||||
When building on some GNU/Linux systems for multilib targets @command{libtool}
|
||||
sometimes guesses the wrong paths that the linker and dynamic linker search by
|
||||
default. If this occurs for the dynamic library path, you may use the
|
||||
@code{LT_SYS_LIBRARY_PATH} environment variable to adjust. Otherwise, at
|
||||
@command{configure} time you may override libtool's guesses by setting the
|
||||
@command{autoconf} cache variables @code{lt_cv_sys_lib_search_path_spec} and
|
||||
@code{lt_cv_sys_lib_dlsearch_path_spec} respectively.
|
||||
|
||||
@item
|
||||
For many GNU/Linux systems, the shared library cache is not updated after a
|
||||
@command{make install}. Instead, the user will need to manually execute
|
||||
@command{ldconfig 'LIBDIR'} to locate newly installed libraries. Users
|
||||
should consult a system administrator as this should be done with great
|
||||
care. Here are some considerations:
|
||||
|
||||
@itemize
|
||||
@item
|
||||
Libtool is designed to be portable to many different operating systems, and
|
||||
these OSs behave in various ways. Some OSs will find a new library
|
||||
automatically if it is installed in the existing configured library paths.
|
||||
|
||||
@item
|
||||
The library installed might not ever be intended to be used by the currently
|
||||
executing OS because it is part of new distribution builds.
|
||||
|
||||
@item
|
||||
Sometimes libraries are installed privately, using hard-coded run-paths in
|
||||
their dependent binaries. This is very common when a different version of
|
||||
the software is to be run than the OS is designed to support.
|
||||
|
||||
@end itemize
|
||||
|
||||
@item
|
||||
When using the MSVC toolchain, users should set Fortran environment variables
|
||||
to the following F77="no" and FC="no". This should avoid possible issues for
|
||||
symbols not being found when linking libltdl.
|
||||
|
||||
@end itemize
|
||||
|
||||
1
gl-mod/bootstrap
Submodule
1
gl-mod/bootstrap
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit bfdcc277cd237fde115d3aa972add7608d348b90
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,20 +1,20 @@
|
||||
--- ./gnulib/build-aux/do-release-commit-and-tag 2013-01-26 16:46:26.000000000 +1300
|
||||
+++ gl/build-aux/do-release-commit-and-tag 2013-10-28 20:21:38.000000000 +1300
|
||||
--- ./gnulib/build-aux/do-release-commit-and-tag
|
||||
+++ gl/build-aux/do-release-commit-and-tag
|
||||
@@ -5,6 +5,9 @@
|
||||
# will serve to identify the release, so apply a signed tag to it as well.
|
||||
VERSION=2012-08-01.09 # UTC
|
||||
VERSION=2018-03-07.03 # UTC
|
||||
|
||||
+# Make sure we've evaluated scripts we depend on.
|
||||
+test -z "$progpath" && . `echo "$0" |${SED-sed} 's|[^/]*$||'`/funclib.sh
|
||||
+
|
||||
# Note: this is a bash script (could be zsh or dash)
|
||||
|
||||
# Copyright (C) 2009-2013 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2009-2024 Free Software Foundation, Inc.
|
||||
@@ -125,10 +128,8 @@
|
||||
|| die 'failed to determine previous version number from .prev-version'
|
||||
|
||||
# Verify that $ver is sensible (> .prev-version).
|
||||
-case $(printf "$prev_ver\n$ver\n"|sort -V -u|tr '\n' ':') in
|
||||
-case $(printf "%s\n%s\n" "$prev_ver" "$ver"|sort -V -u|tr '\n' ':') in
|
||||
- "$prev_ver:$ver:") ;;
|
||||
- *) die "invalid version: $ver (<= $prev_ver)";;
|
||||
-esac
|
||||
|
||||
@ -1,420 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
# Extract macro arguments from autotools input with GNU M4.
|
||||
# Written by Gary V. Vaughan, 2010
|
||||
#
|
||||
# Copyright (C) 2010-2014 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.
|
||||
|
||||
# Make sure we've evaluated scripts we depend on.
|
||||
test -z "$progpath" && . `echo "$0" |${SED-sed} 's|[^/]*$||'`/funclib.sh
|
||||
test extract-trace = "$progname" && . `echo "$0" |${SED-sed} 's|[^/]*$||'`/options-parser
|
||||
|
||||
# Set a version string.
|
||||
scriptversion=2014-01-04.01; # UTC
|
||||
|
||||
# This program 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 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
|
||||
# This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Please report bugs or propose patches to gary@gnu.org.
|
||||
|
||||
|
||||
## ------ ##
|
||||
## Usage. ##
|
||||
## ------ ##
|
||||
|
||||
# Run './extract-trace --help' for help with using this script from the
|
||||
# command line.
|
||||
#
|
||||
# Or source first 'options-parser' and then this file into your own
|
||||
# scripts in order to make use of the function and variable framework
|
||||
# they define, and also to avoid the overhead of forking to run this
|
||||
# script in its own process on every call.
|
||||
|
||||
|
||||
|
||||
## ----------------- ##
|
||||
## Helper functions. ##
|
||||
## ----------------- ##
|
||||
|
||||
# This section contains the helper functions used by the rest of
|
||||
# 'extract-trace'.
|
||||
|
||||
|
||||
# func_autoconf_configure MAYBE-CONFIGURE-FILE
|
||||
# --------------------------------------------
|
||||
# Ensure that MAYBE-CONFIGURE-FILE is the name of a file in the current
|
||||
# directory that contains an uncommented call to AC_INIT.
|
||||
func_autoconf_configure ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
_G_sed_no_comment='
|
||||
s|#.*$||
|
||||
s|^dnl .*$||
|
||||
s| dnl .*$||'
|
||||
_G_ac_init=
|
||||
|
||||
# If we were passed a genuine file, make sure it calls AC_INIT.
|
||||
test -f "$1" \
|
||||
&& _G_ac_init=`$SED "$_G_sed_no_comment" "$1" |$GREP AC_INIT`
|
||||
|
||||
# Otherwise it is not a genuine Autoconf input file.
|
||||
test -n "$_G_ac_init"
|
||||
_G_status=$?
|
||||
|
||||
test 0 -ne "$_G_status" \
|
||||
&& func_verbose "'$1' not using Autoconf"
|
||||
|
||||
(exit $_G_status)
|
||||
}
|
||||
|
||||
|
||||
# func_find_tool ENVVAR NAMES...
|
||||
# ------------------------------
|
||||
# Search for a required program. Use the value of ENVVAR, if set,
|
||||
# otherwise find the first of the NAMES that can be run (i.e.,
|
||||
# supports --version). If found, set ENVVAR to the program name,
|
||||
# die otherwise.
|
||||
func_find_tool ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
_G_find_tool_envvar=$1
|
||||
shift
|
||||
_G_find_tool_names=$@
|
||||
eval "_G_find_tool_res=\$$_G_find_tool_envvar"
|
||||
if test -n "$_G_find_tool_res"; then
|
||||
_G_find_tool_error_prefix="\$$find_tool_envvar: "
|
||||
else
|
||||
for _G_prog
|
||||
do
|
||||
if func_tool_version_output $_G_prog >/dev/null; then
|
||||
_G_find_tool_res=$_G_prog
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if test -n "$_G_find_tool_res"; then
|
||||
func_tool_version_output >/dev/null $_G_find_tool_res "\
|
||||
${_G_find_tool_error_prefix}Cannot run '$_G_find_tool_res --version'"
|
||||
|
||||
# Make sure the result is exported to the environment for children
|
||||
# to use.
|
||||
eval "$_G_find_tool_envvar=\$_G_find_tool_res"
|
||||
eval "export $_G_find_tool_envvar"
|
||||
else
|
||||
func_error "\
|
||||
One of these is required:
|
||||
$_G_find_tool_names"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# func_tool_version_output CMD [FATAL-ERROR-MSG]
|
||||
# ----------------------------------------------
|
||||
# Attempt to run 'CMD --version', discarding errors. The output can be
|
||||
# ignored by redirecting stdout, and this function used simply to test
|
||||
# whether the command exists and exits normally when passed a
|
||||
# '--version' argument.
|
||||
# When FATAL-ERROR-MSG is given, then this function will display the
|
||||
# message and exit if running 'CMD --version' returns a non-zero exit
|
||||
# status.
|
||||
func_tool_version_output ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
_G_cmd=$1
|
||||
_G_fatal_error_msg=$2
|
||||
|
||||
# Some tools, like 'git2cl' produce thousands of lines of output
|
||||
# unless stdin is /dev/null - in that case we want to return
|
||||
# successfully without saving all of that output. Other tools,
|
||||
# such as 'help2man' exit with a non-zero status when stdin comes
|
||||
# from /dev/null, so we re-execute without /dev/null if that
|
||||
# happens. This means that occasionally, the output from both calls
|
||||
# ends up in the result, but the alternative would be to discard the
|
||||
# output from one call, and hope the other produces something useful.
|
||||
{ $_G_cmd --version </dev/null || $_G_cmd --version; } 2>/dev/null
|
||||
_G_status=$?
|
||||
|
||||
test 0 -ne "$_G_status" && test -n "$_G_fatal_error_msg" \
|
||||
&& func_fatal_error "$_G_fatal_error_msg"
|
||||
|
||||
(exit $_G_status)
|
||||
}
|
||||
|
||||
|
||||
## -------------------- ##
|
||||
## Resource management. ##
|
||||
## -------------------- ##
|
||||
|
||||
# This section contains definitions for functions that each ensure a
|
||||
# particular resource (a file, or a non-empty configuration variable for
|
||||
# example) is available, and if appropriate to extract default values
|
||||
# from pertinent package files. Where a variable already has a non-
|
||||
# empty value (as set by the package's 'bootstrap.conf'), that value is
|
||||
# used in preference to deriving the default. Call them using their
|
||||
# associated 'require_*' variable to ensure that they are executed, at
|
||||
# most, once.
|
||||
#
|
||||
# It's entirely deliberate that calling these functions can set
|
||||
# variables that don't obey the namespace limitations obeyed by the rest
|
||||
# of this file, in order that that they be as useful as possible to
|
||||
# callers.
|
||||
|
||||
|
||||
# require_configure_ac
|
||||
# --------------------
|
||||
# Ensure that there is a 'configure.ac' or 'configure.in' file in the
|
||||
# current directory that contains an uncommented call to AC_INIT, and
|
||||
# that '$configure_ac' contains its name.
|
||||
require_configure_ac=func_require_configure_ac
|
||||
func_require_configure_ac ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
test -z "$configure_ac" \
|
||||
&& func_autoconf_configure configure.ac && configure_ac=configure.ac
|
||||
test -z "$configure_ac" \
|
||||
&& func_autoconf_configure configure.in && configure_ac=configure.in
|
||||
test -z "$configure_ac" \
|
||||
|| func_verbose "found '$configure_ac'"
|
||||
|
||||
require_configure_ac=:
|
||||
}
|
||||
|
||||
|
||||
# require_gnu_m4
|
||||
# --------------
|
||||
# Search for GNU M4, and export it in $M4.
|
||||
require_gnu_m4=func_require_gnu_m4
|
||||
func_require_gnu_m4 ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
test -n "$M4" || {
|
||||
# Find the first m4 binary that responds to --version.
|
||||
func_find_tool M4 gm4 gnum4 m4
|
||||
}
|
||||
|
||||
test -n "$M4" || func_fatal_error "\
|
||||
Please install GNU M4, or 'export M4=/path/to/gnu/m4'."
|
||||
|
||||
func_verbose "export M4='$M4'"
|
||||
|
||||
# Make sure the search result is visible to subshells
|
||||
export M4
|
||||
|
||||
require_gnu_m4=:
|
||||
}
|
||||
|
||||
|
||||
## --------------- ##
|
||||
## Core functions. ##
|
||||
## --------------- ##
|
||||
|
||||
# This section contains the high level functions used when calling this
|
||||
# file as a script. 'func_extract_trace' is probably the only one that you
|
||||
# won't want to replace if you source this file into your own script.
|
||||
|
||||
|
||||
# func_extract_trace MACRO_NAMES [FILENAME]...
|
||||
# --------------------------------------------
|
||||
# set '$func_extract_trace_result' to a colon delimited list of arguments
|
||||
# to any of the comma separated list of MACRO_NAMES in FILENAME. If no
|
||||
# FILENAME is given, then '$configure_ac' is assumed.
|
||||
func_extract_trace ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
$require_configure_ac
|
||||
$require_gnu_m4
|
||||
|
||||
_G_m4_traces=`$ECHO "--trace=$1" |$SED 's%,% --trace=%g'`
|
||||
_G_re_macros=`$ECHO "($1)" |$SED 's%,%|%g'`
|
||||
_G_macros="$1"; shift
|
||||
test $# -gt 0 || {
|
||||
set dummy $configure_ac
|
||||
shift
|
||||
}
|
||||
|
||||
# Generate an error if the first file is missing
|
||||
<"$1"
|
||||
|
||||
# Sadly, we can't use 'autom4te' tracing to extract macro arguments,
|
||||
# because it complains about things we want to ignore at bootstrap
|
||||
# time - like missing m4_include files; AC_PREREQ being newer than
|
||||
# the installed autoconf; and returns nothing when tracing
|
||||
# 'AM_INIT_AUTOMAKE' when aclocal hasn't been generated yet.
|
||||
#
|
||||
# The following tries to emulate a less persnickety version of (and
|
||||
# due to not having to wait for Perl startup on every invocation,
|
||||
# it's probably faster too):
|
||||
#
|
||||
# autom4te --language=Autoconf --trace=$my_macro:\$% "$@"
|
||||
#
|
||||
# First we give a minimal set of macro declarations to M4 to prime
|
||||
# it for reading Autoconf macros, while still providing some of the
|
||||
# functionality generally used at m4-time to supply dynamic
|
||||
# arguments to Autocof functions, but without following
|
||||
# 'm4_s?include' files.
|
||||
_G_mini='
|
||||
# Initialisation.
|
||||
m4_changequote([,])
|
||||
m4_define([m4_copy], [m4_define([$2], m4_defn([$1]))])
|
||||
m4_define([m4_rename], [m4_copy([$1], [$2])m4_undefine([$1])])
|
||||
|
||||
# Disable these macros.
|
||||
m4_undefine([m4_dnl])
|
||||
m4_undefine([m4_include])
|
||||
m4_undefine([m4_m4exit])
|
||||
m4_undefine([m4_m4wrap])
|
||||
m4_undefine([m4_maketemp])
|
||||
|
||||
# Copy and rename macros not handled by "m4 --prefix".
|
||||
m4_define([dnl], [m4_builtin([dnl])])
|
||||
m4_copy([m4_define], [m4_defun])
|
||||
m4_rename([m4_ifelse], [m4_if])
|
||||
m4_ifdef([m4_mkstemp], [m4_undefine([m4_mkstemp])])
|
||||
m4_rename([m4_patsubst], [m4_bpatsubst])
|
||||
m4_rename([m4_regexp], [m4_bregexp])
|
||||
|
||||
# "m4sugar.mini" - useful m4-time macros for dynamic arguments.
|
||||
# If we discover packages that need more m4 macros defined in
|
||||
# order to bootstrap correctly, add them here:
|
||||
m4_define([m4_bmatch],
|
||||
[m4_if([$#], 0, [], [$#], 1, [], [$#], 2, [$2],
|
||||
[m4_if(m4_bregexp([$1], [$2]), -1,
|
||||
[$0([$1], m4_shift3($@))], [$3])])])
|
||||
m4_define([m4_ifndef], [m4_ifdef([$1], [$3], [$2])])
|
||||
m4_define([m4_ifset],
|
||||
[m4_ifdef([$1], [m4_ifval(m4_defn([$1]), [$2], [$3])], [$3])])
|
||||
m4_define([m4_require], [$1])
|
||||
m4_define([m4_shift3], [m4_shift(m4shift(m4shift($@)))])
|
||||
|
||||
# "autoconf.mini" - things from autoconf macros we care about.
|
||||
m4_copy([m4_defun], [AC_DEFUN])
|
||||
|
||||
# Dummy definitions for the macros we want to trace.
|
||||
# AM_INIT_AUTOMAKE at least produces no trace without this.
|
||||
'
|
||||
|
||||
_G_save=$IFS
|
||||
IFS=,
|
||||
for _G_macro in $_G_macros; do
|
||||
IFS=$_G_save
|
||||
func_append _G_mini "AC_DEFUN([$_G_macro])$nl"
|
||||
done
|
||||
IFS=$_G_save
|
||||
|
||||
# We discard M4's stdout, but the M4 trace output from reading our
|
||||
# "autoconf.mini" followed by any other files passed to this
|
||||
# function is then scanned by sed to transform it into a colon
|
||||
# delimited argument list assigned to a shell variable.
|
||||
_G_transform='s|#.*$||; s|^dnl .*$||; s| dnl .*$||;'
|
||||
|
||||
# Unfortunately, alternation in regexp addresses doesn't work in at
|
||||
# least BSD (and hence Mac OS X) sed, so we have to append a capture
|
||||
# and print block for each traced macro to the sed transform script.
|
||||
_G_save=$IFS
|
||||
IFS=,
|
||||
for _G_macro in $_G_macros; do
|
||||
IFS=$_G_save
|
||||
func_append _G_transform '
|
||||
/^m4trace: -1- '"$_G_macro"'/ {
|
||||
s|^m4trace: -1- '"$_G_macro"'[([]*||
|
||||
s|], [[]|:|g
|
||||
s|[])]*$|:|
|
||||
s|\(.\):$|\1|
|
||||
p
|
||||
}'
|
||||
done
|
||||
IFS=$_G_save
|
||||
|
||||
# Save the command pipeline results for further use by callers of
|
||||
# this function.
|
||||
func_extract_trace_result=`$ECHO "$_G_mini" \
|
||||
|$M4 -daq --prefix $_G_m4_traces - "$@" 2>&1 1>/dev/null \
|
||||
|$SED -n -e "$_G_transform"`
|
||||
}
|
||||
|
||||
|
||||
# func_extract_trace_first MACRO_NAMES [FILENAME]...
|
||||
# --------------------------------------------------
|
||||
# Exactly like func_extract_trace, except that only the first argument
|
||||
# to the first invocation of one of the comma separated MACRO_NAMES is
|
||||
# returned in '$func_extract_trace_first_result'.
|
||||
func_extract_trace_first ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
func_extract_trace ${1+"$@"}
|
||||
func_extract_trace_first_result=`$ECHO "$func_extract_trace_result" \
|
||||
|$SED -e 's|:.*$||g' -e 1q`
|
||||
}
|
||||
|
||||
|
||||
# func_main [ARG]...
|
||||
# ------------------
|
||||
func_main ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
# Configuration.
|
||||
usage='$progname MACRO_NAME FILE [...]'
|
||||
|
||||
long_help_message='
|
||||
The first argument to this program is the name of an autotools macro
|
||||
whose arguments you want to extract by examining the files listed in the
|
||||
remaining arguments using the same tool that Autoconf and Automake use,
|
||||
GNU M4.
|
||||
|
||||
The arguments are returned separated by colons, with each traced call
|
||||
on a separate line.'
|
||||
|
||||
# Option processing.
|
||||
func_options "$@"
|
||||
eval set dummy "$func_options_result"; shift
|
||||
|
||||
# Validate remaining non-option arguments.
|
||||
test $# -gt 1 \
|
||||
|| func_fatal_help "not enough arguments"
|
||||
|
||||
# Pass non-option arguments to extraction function.
|
||||
func_extract_trace "$@"
|
||||
|
||||
# Display results.
|
||||
test -n "$func_extract_trace_result" \
|
||||
&& $ECHO "$func_extract_trace_result"
|
||||
|
||||
# The End.
|
||||
exit $EXIT_SUCCESS
|
||||
}
|
||||
|
||||
|
||||
## --------------------------- ##
|
||||
## Actually perform the trace. ##
|
||||
## --------------------------- ##
|
||||
|
||||
# Only call 'func_main' if this script was called directly.
|
||||
test extract-trace = "$progname" && func_main "$@"
|
||||
|
||||
# Local variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
# time-stamp-pattern: "20/scriptversion=%:y-%02m-%02d.%02H; # UTC"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# End:
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,83 +0,0 @@
|
||||
diff --git a/build-aux/gitlog-to-changelog b/build-aux/gitlog-to-changelog
|
||||
index e02d34c..aeae458 100755
|
||||
--- a/build-aux/gitlog-to-changelog
|
||||
+++ b/build-aux/gitlog-to-changelog
|
||||
@@ -99,6 +99,8 @@ at the beginning of a log message line. They are not copied to the output.
|
||||
Co-authored-by: Joe User <user\@example.com>
|
||||
List the specified name and email address on a second
|
||||
ChangeLog header, denoting a co-author.
|
||||
+ Omit-from-ChangeLog: Yes
|
||||
+ No ChangeLog entry is made for this commit.
|
||||
Signed-off-by: Joe User <user\@example.com>
|
||||
These lines are simply elided.
|
||||
|
||||
@@ -323,10 +325,14 @@ sub git_dir_option($)
|
||||
strftime ("%F", localtime ($1)), $2;
|
||||
|
||||
my @coauthors = grep /^Co-authored-by:.*$/, @line;
|
||||
+
|
||||
+ my $omit = grep /^Omit-from-ChangeLog:\s+[Yy]es$/, @line;
|
||||
+
|
||||
# Omit meta-data lines we've already interpreted.
|
||||
@line = grep !/^(?:Signed-off-by:[ ].*>$
|
||||
|Co-authored-by:[ ]
|
||||
|Copyright-paperwork-exempt:[ ]
|
||||
+ |Omit-from-ChangeLog:[ ]
|
||||
)/x, @line;
|
||||
|
||||
# Remove leading and trailing blank lines.
|
||||
@@ -351,33 +357,33 @@ sub git_dir_option($)
|
||||
. substr ($_, 5) . "\n";
|
||||
}
|
||||
|
||||
- # If clustering of commit messages has been disabled, if this header
|
||||
- # would be different from the previous date/name/email/coauthors header,
|
||||
- # or if this or the previous entry consists of two or more paragraphs,
|
||||
- # then print the header.
|
||||
- if ( ! $cluster
|
||||
- || $date_line ne $prev_date_line
|
||||
- || "@coauthors" ne "@prev_coauthors"
|
||||
- || $multi_paragraph
|
||||
- || $prev_multi_paragraph)
|
||||
- {
|
||||
- $prev_date_line eq ''
|
||||
- or print "\n";
|
||||
- print $date_line;
|
||||
- @coauthors
|
||||
- and print join ("\n", @coauthors), "\n";
|
||||
- }
|
||||
- $prev_date_line = $date_line;
|
||||
- @prev_coauthors = @coauthors;
|
||||
- $prev_multi_paragraph = $multi_paragraph;
|
||||
-
|
||||
# If there were any lines
|
||||
if (@line == 0)
|
||||
{
|
||||
warn "$ME: warning: empty commit message:\n $date_line\n";
|
||||
}
|
||||
- else
|
||||
+ elsif ( ! $omit )
|
||||
{
|
||||
+ # If clustering of commit messages has been disabled, if this header
|
||||
+ # would be different from the previous date/name/email/coauthors header,
|
||||
+ # or if this or the previous entry consists of two or more paragraphs,
|
||||
+ # then print the header.
|
||||
+ if ( ! $cluster
|
||||
+ || $date_line ne $prev_date_line
|
||||
+ || "@coauthors" ne "@prev_coauthors"
|
||||
+ || $multi_paragraph
|
||||
+ || $prev_multi_paragraph)
|
||||
+ {
|
||||
+ $prev_date_line eq ''
|
||||
+ or print "\n";
|
||||
+ print $date_line;
|
||||
+ @coauthors
|
||||
+ and print join ("\n", @coauthors), "\n";
|
||||
+ }
|
||||
+ $prev_date_line = $date_line;
|
||||
+ @prev_coauthors = @coauthors;
|
||||
+ $prev_multi_paragraph = $multi_paragraph;
|
||||
+
|
||||
if ($append_dot)
|
||||
{
|
||||
# If the first line of the message has enough room, then
|
||||
@ -1,164 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
# Output the contents of a shell script with sourced files inlined.
|
||||
# Written by Gary V. Vaughan, 2012
|
||||
|
||||
# Copyright (C) 2012-2014 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.
|
||||
|
||||
# Source required external libraries:
|
||||
. `echo "$0" |${SED-sed} 's|[^/]*$||'`"funclib.sh"
|
||||
. `echo "$0" |${SED-sed} 's|[^/]*$||'`"options-parser"
|
||||
|
||||
# Set a version string for *this* script.
|
||||
scriptversion=2014-01-03.01; # UTC
|
||||
|
||||
|
||||
# This program 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 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
|
||||
# This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Please report bugs or propose patches to bug-libtool@gnu.org.
|
||||
|
||||
|
||||
## ------ ##
|
||||
## Usage. ##
|
||||
## ------ ##
|
||||
|
||||
# Run 'build-aux/inline-source --help' for help with using this script
|
||||
# from the command line.
|
||||
|
||||
# Recursively scan through a FILE passed on the command line, replacing
|
||||
# either of the following:
|
||||
# . "relative/file"
|
||||
# . `echo "$0" |edit`"relative/file"
|
||||
# with the contents of the referenced files.
|
||||
|
||||
|
||||
## ---------------- ##
|
||||
## Options parsing. ##
|
||||
## ---------------- ##
|
||||
|
||||
usage='$progpath [OPTION]... FILE'
|
||||
|
||||
# Short help message in response to '-h'.
|
||||
usage_message='Options:
|
||||
--debug enable verbose shell tracing
|
||||
--version print version information and exit
|
||||
-h, --help print help message and exit
|
||||
'
|
||||
|
||||
long_help_message="\
|
||||
Report bugs to <bug-libtool@gnu.org>
|
||||
General help using GNU software: <http://www.gnu.org/gethelp/>."
|
||||
|
||||
func_options ${1+"$@"}
|
||||
eval set dummy "$func_options_result"; shift
|
||||
|
||||
|
||||
## -------------------- ##
|
||||
## Resource management. ##
|
||||
## -------------------- ##
|
||||
|
||||
# require_AWK
|
||||
# -----------
|
||||
# Search for a "not hopeless" awk.
|
||||
require_AWK=func_require_AWK
|
||||
func_require_AWK ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
test -n "$AWK" || {
|
||||
# Find the first executable in the list.
|
||||
for _G_prog in gawk mawk nawk awk
|
||||
do
|
||||
require_AWK_IFS=$IFS
|
||||
IFS=${PATH_SEPARATOR-:}
|
||||
for _G_dir in $PATH
|
||||
do
|
||||
IFS=$require_AWK_IFS
|
||||
if test -f "$_G_dir/$_G_prog" && test -x "$_G_dir/$_G_prog"
|
||||
then
|
||||
AWK=$_G_dir/$_G_prog
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
IFS=$require_AWK_IFS
|
||||
done
|
||||
}
|
||||
|
||||
test -n "$AWK" || func_fatal_error "\
|
||||
Please install GNU Awk, or 'export AWK=/path/to/gnu/awk'."
|
||||
|
||||
func_verbose "found '$AWK'."
|
||||
|
||||
require_AWK=:
|
||||
}
|
||||
|
||||
|
||||
## --------------- ##
|
||||
## Core functions. ##
|
||||
## --------------- ##
|
||||
|
||||
# func_include LINE
|
||||
# -----------------
|
||||
# Output the contents of file included by LINE.
|
||||
func_include ()
|
||||
{
|
||||
$require_AWK
|
||||
|
||||
test -f "$1" \
|
||||
|| func_fatal_error "file '$1' not found"
|
||||
|
||||
_G_scriptdir=`echo "$1" |$SED 's|[^/]*$||'`
|
||||
test -n "$_G_scriptdir" || _G_scriptdir="./"
|
||||
|
||||
$AWK '
|
||||
BEGIN { magic = '${_RECURSE_MAGIC-0}'; }
|
||||
|
||||
/^#!/ && magic == 0 {
|
||||
print $0;
|
||||
print "## DO NOT EDIT - This file generated from '$1'";
|
||||
print "## by '$progname' v'$scriptversion'";
|
||||
magic++;
|
||||
next;
|
||||
}
|
||||
|
||||
/^\. ['\''"].*['\''"]$/ {
|
||||
file = substr ($2, 2, length ($2) -2);
|
||||
system (sprintf ("env _RECURSE_MAGIC=%d '$progpath' %s", magic, file));
|
||||
next;
|
||||
}
|
||||
|
||||
/^\. `echo [^`]*`['\''"][^'\''"]*['\''"]$/ {
|
||||
tail = substr ($0, match ($0, /`['\''"]/));
|
||||
file = substr (tail, 3, length (tail) -3);
|
||||
system (sprintf ("env _RECURSE_MAGIC=%d '$progpath' '"$_G_scriptdir"'%s", magic, file));
|
||||
next;
|
||||
}
|
||||
|
||||
{ print; }
|
||||
' < "$1"
|
||||
}
|
||||
|
||||
func_include "$1"
|
||||
|
||||
exit 0
|
||||
|
||||
# Local variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
# time-stamp-pattern: "20/scriptversion=%:y-%02m-%02d.%02H; # UTC"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# End:
|
||||
@ -1,608 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
# Set a version string for this script.
|
||||
scriptversion=2014-01-07.03; # UTC
|
||||
|
||||
# A portable, pluggable option parser for Bourne shell.
|
||||
# Written by Gary V. Vaughan, 2010
|
||||
|
||||
# Copyright (C) 2010-2014 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.
|
||||
|
||||
# This program 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 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
|
||||
# This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Please report bugs or propose patches to gary@gnu.org.
|
||||
|
||||
|
||||
## ------ ##
|
||||
## Usage. ##
|
||||
## ------ ##
|
||||
|
||||
# This file is a library for parsing options in your shell scripts along
|
||||
# with assorted other useful supporting features that you can make use
|
||||
# of too.
|
||||
#
|
||||
# For the simplest scripts you might need only:
|
||||
#
|
||||
# #!/bin/sh
|
||||
# . relative/path/to/funclib.sh
|
||||
# . relative/path/to/options-parser
|
||||
# scriptversion=1.0
|
||||
# func_options ${1+"$@"}
|
||||
# eval set dummy "$func_options_result"; shift
|
||||
# ...rest of your script...
|
||||
#
|
||||
# In order for the '--version' option to work, you will need to have a
|
||||
# suitably formatted comment like the one at the top of this file
|
||||
# starting with '# Written by ' and ending with '# warranty; '.
|
||||
#
|
||||
# For '-h' and '--help' to work, you will also need a one line
|
||||
# description of your script's purpose in a comment directly above the
|
||||
# '# Written by ' line, like the one at the top of this file.
|
||||
#
|
||||
# The default options also support '--debug', which will turn on shell
|
||||
# execution tracing (see the comment above debug_cmd below for another
|
||||
# use), and '--verbose' and the func_verbose function to allow your script
|
||||
# to display verbose messages only when your user has specified
|
||||
# '--verbose'.
|
||||
#
|
||||
# After sourcing this file, you can plug processing for additional
|
||||
# options by amending the variables from the 'Configuration' section
|
||||
# below, and following the instructions in the 'Option parsing'
|
||||
# section further down.
|
||||
|
||||
## -------------- ##
|
||||
## Configuration. ##
|
||||
## -------------- ##
|
||||
|
||||
# You should override these variables in your script after sourcing this
|
||||
# file so that they reflect the customisations you have added to the
|
||||
# option parser.
|
||||
|
||||
# The usage line for option parsing errors and the start of '-h' and
|
||||
# '--help' output messages. You can embed shell variables for delayed
|
||||
# expansion at the time the message is displayed, but you will need to
|
||||
# quote other shell meta-characters carefully to prevent them being
|
||||
# expanded when the contents are evaled.
|
||||
usage='$progpath [OPTION]...'
|
||||
|
||||
# Short help message in response to '-h' and '--help'. Add to this or
|
||||
# override it after sourcing this library to reflect the full set of
|
||||
# options your script accepts.
|
||||
usage_message="\
|
||||
--debug enable verbose shell tracing
|
||||
-W, --warnings=CATEGORY
|
||||
report the warnings falling in CATEGORY [all]
|
||||
-v, --verbose verbosely report processing
|
||||
--version print version information and exit
|
||||
-h, --help print short or long help message and exit
|
||||
"
|
||||
|
||||
# Additional text appended to 'usage_message' in response to '--help'.
|
||||
long_help_message="
|
||||
Warning categories include:
|
||||
'all' show all warnings
|
||||
'none' turn off all the warnings
|
||||
'error' warnings are treated as fatal errors"
|
||||
|
||||
# Help message printed before fatal option parsing errors.
|
||||
fatal_help="Try '\$progname --help' for more information."
|
||||
|
||||
|
||||
|
||||
## ------------------------- ##
|
||||
## Hook function management. ##
|
||||
## ------------------------- ##
|
||||
|
||||
# This section contains functions for adding, removing, and running hooks
|
||||
# to the main code. A hook is just a named list of of function, that can
|
||||
# be run in order later on.
|
||||
|
||||
# func_hookable FUNC_NAME
|
||||
# -----------------------
|
||||
# Declare that FUNC_NAME will run hooks added with
|
||||
# 'func_add_hook FUNC_NAME ...'.
|
||||
func_hookable ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
func_append hookable_fns " $1"
|
||||
}
|
||||
|
||||
|
||||
# func_add_hook FUNC_NAME HOOK_FUNC
|
||||
# ---------------------------------
|
||||
# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must
|
||||
# first have been declared "hookable" by a call to 'func_hookable'.
|
||||
func_add_hook ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
case " $hookable_fns " in
|
||||
*" $1 "*) ;;
|
||||
*) func_fatal_error "'$1' does not accept hook functions." ;;
|
||||
esac
|
||||
|
||||
eval func_append ${1}_hooks '" $2"'
|
||||
}
|
||||
|
||||
|
||||
# func_remove_hook FUNC_NAME HOOK_FUNC
|
||||
# ------------------------------------
|
||||
# Remove HOOK_FUNC from the list of functions called by FUNC_NAME.
|
||||
func_remove_hook ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`'
|
||||
}
|
||||
|
||||
|
||||
# func_run_hooks FUNC_NAME [ARG]...
|
||||
# ---------------------------------
|
||||
# Run all hook functions registered to FUNC_NAME.
|
||||
# It is assumed that the list of hook functions contains nothing more
|
||||
# than a whitespace-delimited list of legal shell function names, and
|
||||
# no effort is wasted trying to catch shell meta-characters or preserve
|
||||
# whitespace.
|
||||
func_run_hooks ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
case " $hookable_fns " in
|
||||
*" $1 "*) ;;
|
||||
*) func_fatal_error "'$1' does not support hook funcions.n" ;;
|
||||
esac
|
||||
|
||||
eval _G_hook_fns=\$$1_hooks; shift
|
||||
|
||||
for _G_hook in $_G_hook_fns; do
|
||||
eval $_G_hook '"$@"'
|
||||
|
||||
# store returned options list back into positional
|
||||
# parameters for next 'cmd' execution.
|
||||
eval _G_hook_result=\$${_G_hook}_result
|
||||
eval set dummy "$_G_hook_result"; shift
|
||||
done
|
||||
|
||||
func_quote_for_eval ${1+"$@"}
|
||||
func_run_hooks_result=$func_quote_for_eval_result
|
||||
}
|
||||
|
||||
|
||||
|
||||
## --------------- ##
|
||||
## Option parsing. ##
|
||||
## --------------- ##
|
||||
|
||||
# In order to add your own option parsing hooks, you must accept the
|
||||
# full positional parameter list in your hook function, remove any
|
||||
# options that you action, and then pass back the remaining unprocessed
|
||||
# options in '<hooked_function_name>_result', escaped suitably for
|
||||
# 'eval'. Like this:
|
||||
#
|
||||
# my_options_prep ()
|
||||
# {
|
||||
# $debug_cmd
|
||||
#
|
||||
# # Extend the existing usage message.
|
||||
# usage_message=$usage_message'
|
||||
# -s, --silent don'\''t print informational messages
|
||||
# '
|
||||
#
|
||||
# func_quote_for_eval ${1+"$@"}
|
||||
# my_options_prep_result=$func_quote_for_eval_result
|
||||
# }
|
||||
# func_add_hook func_options_prep my_options_prep
|
||||
#
|
||||
#
|
||||
# my_silent_option ()
|
||||
# {
|
||||
# $debug_cmd
|
||||
#
|
||||
# # Note that for efficiency, we parse as many options as we can
|
||||
# # recognise in a loop before passing the remainder back to the
|
||||
# # caller on the first unrecognised argument we encounter.
|
||||
# while test $# -gt 0; do
|
||||
# opt=$1; shift
|
||||
# case $opt in
|
||||
# --silent|-s) opt_silent=: ;;
|
||||
# # Separate non-argument short options:
|
||||
# -s*) func_split_short_opt "$_G_opt"
|
||||
# set dummy "$func_split_short_opt_name" \
|
||||
# "-$func_split_short_opt_arg" ${1+"$@"}
|
||||
# shift
|
||||
# ;;
|
||||
# *) set dummy "$_G_opt" "$*"; shift; break ;;
|
||||
# esac
|
||||
# done
|
||||
#
|
||||
# func_quote_for_eval ${1+"$@"}
|
||||
# my_silent_option_result=$func_quote_for_eval_result
|
||||
# }
|
||||
# func_add_hook func_parse_options my_silent_option
|
||||
#
|
||||
#
|
||||
# my_option_validation ()
|
||||
# {
|
||||
# $debug_cmd
|
||||
#
|
||||
# $opt_silent && $opt_verbose && func_fatal_help "\
|
||||
# '--silent' and '--verbose' options are mutually exclusive."
|
||||
#
|
||||
# func_quote_for_eval ${1+"$@"}
|
||||
# my_option_validation_result=$func_quote_for_eval_result
|
||||
# }
|
||||
# func_add_hook func_validate_options my_option_validation
|
||||
#
|
||||
# You'll alse need to manually amend $usage_message to reflect the extra
|
||||
# options you parse. It's preferable to append if you can, so that
|
||||
# multiple option parsing hooks can be added safely.
|
||||
|
||||
|
||||
# func_options [ARG]...
|
||||
# ---------------------
|
||||
# All the functions called inside func_options are hookable. See the
|
||||
# individual implementations for details.
|
||||
func_hookable func_options
|
||||
func_options ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
func_options_prep ${1+"$@"}
|
||||
eval func_parse_options \
|
||||
${func_options_prep_result+"$func_options_prep_result"}
|
||||
eval func_validate_options \
|
||||
${func_parse_options_result+"$func_parse_options_result"}
|
||||
|
||||
eval func_run_hooks func_options \
|
||||
${func_validate_options_result+"$func_validate_options_result"}
|
||||
|
||||
# save modified positional parameters for caller
|
||||
func_options_result=$func_run_hooks_result
|
||||
}
|
||||
|
||||
|
||||
# func_options_prep [ARG]...
|
||||
# --------------------------
|
||||
# All initialisations required before starting the option parse loop.
|
||||
# Note that when calling hook functions, we pass through the list of
|
||||
# positional parameters. If a hook function modifies that list, and
|
||||
# needs to propogate that back to rest of this script, then the complete
|
||||
# modified list must be put in 'func_run_hooks_result' before
|
||||
# returning.
|
||||
func_hookable func_options_prep
|
||||
func_options_prep ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
# Option defaults:
|
||||
opt_verbose=false
|
||||
opt_warning_types=
|
||||
|
||||
func_run_hooks func_options_prep ${1+"$@"}
|
||||
|
||||
# save modified positional parameters for caller
|
||||
func_options_prep_result=$func_run_hooks_result
|
||||
}
|
||||
|
||||
|
||||
# func_parse_options [ARG]...
|
||||
# ---------------------------
|
||||
# The main option parsing loop.
|
||||
func_hookable func_parse_options
|
||||
func_parse_options ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
func_parse_options_result=
|
||||
|
||||
# this just eases exit handling
|
||||
while test $# -gt 0; do
|
||||
# Defer to hook functions for initial option parsing, so they
|
||||
# get priority in the event of reusing an option name.
|
||||
func_run_hooks func_parse_options ${1+"$@"}
|
||||
|
||||
# Adjust func_parse_options positional parameters to match
|
||||
eval set dummy "$func_run_hooks_result"; shift
|
||||
|
||||
# Break out of the loop if we already parsed every option.
|
||||
test $# -gt 0 || break
|
||||
|
||||
_G_opt=$1
|
||||
shift
|
||||
case $_G_opt in
|
||||
--debug|-x) debug_cmd='set -x'
|
||||
func_echo "enabling shell trace mode"
|
||||
$debug_cmd
|
||||
;;
|
||||
|
||||
--no-warnings|--no-warning|--no-warn)
|
||||
set dummy --warnings none ${1+"$@"}
|
||||
shift
|
||||
;;
|
||||
|
||||
--warnings|--warning|-W)
|
||||
test $# = 0 && func_missing_arg $_G_opt && break
|
||||
case " $warning_categories $1" in
|
||||
*" $1 "*)
|
||||
# trailing space prevents matching last $1 above
|
||||
func_append_uniq opt_warning_types " $1"
|
||||
;;
|
||||
*all)
|
||||
opt_warning_types=$warning_categories
|
||||
;;
|
||||
*none)
|
||||
opt_warning_types=none
|
||||
warning_func=:
|
||||
;;
|
||||
*error)
|
||||
opt_warning_types=$warning_categories
|
||||
warning_func=func_fatal_error
|
||||
;;
|
||||
*)
|
||||
func_fatal_error \
|
||||
"unsupported warning category: '$1'"
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
;;
|
||||
|
||||
--verbose|-v) opt_verbose=: ;;
|
||||
--version) func_version ;;
|
||||
-\?|-h) func_usage ;;
|
||||
--help) func_help ;;
|
||||
|
||||
# Separate optargs to long options (plugins may need this):
|
||||
--*=*) func_split_equals "$_G_opt"
|
||||
set dummy "$func_split_equals_lhs" \
|
||||
"$func_split_equals_rhs" ${1+"$@"}
|
||||
shift
|
||||
;;
|
||||
|
||||
# Separate optargs to short options:
|
||||
-W*)
|
||||
func_split_short_opt "$_G_opt"
|
||||
set dummy "$func_split_short_opt_name" \
|
||||
"$func_split_short_opt_arg" ${1+"$@"}
|
||||
shift
|
||||
;;
|
||||
|
||||
# Separate non-argument short options:
|
||||
-\?*|-h*|-v*|-x*)
|
||||
func_split_short_opt "$_G_opt"
|
||||
set dummy "$func_split_short_opt_name" \
|
||||
"-$func_split_short_opt_arg" ${1+"$@"}
|
||||
shift
|
||||
;;
|
||||
|
||||
--) break ;;
|
||||
-*) func_fatal_help "unrecognised option: '$_G_opt'" ;;
|
||||
*) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
|
||||
esac
|
||||
done
|
||||
|
||||
# save modified positional parameters for caller
|
||||
func_quote_for_eval ${1+"$@"}
|
||||
func_parse_options_result=$func_quote_for_eval_result
|
||||
}
|
||||
|
||||
|
||||
# func_validate_options [ARG]...
|
||||
# ------------------------------
|
||||
# Perform any sanity checks on option settings and/or unconsumed
|
||||
# arguments.
|
||||
func_hookable func_validate_options
|
||||
func_validate_options ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
# Display all warnings if -W was not given.
|
||||
test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
|
||||
|
||||
func_run_hooks func_validate_options ${1+"$@"}
|
||||
|
||||
# Bail if the options were screwed!
|
||||
$exit_cmd $EXIT_FAILURE
|
||||
|
||||
# save modified positional parameters for caller
|
||||
func_validate_options_result=$func_run_hooks_result
|
||||
}
|
||||
|
||||
|
||||
|
||||
## ----------------- ##
|
||||
## Helper functions. ##
|
||||
## ----------------- ##
|
||||
|
||||
# This section contains the helper functions used by the rest of the
|
||||
# hookable option parser framework in ascii-betical order.
|
||||
|
||||
|
||||
# func_fatal_help ARG...
|
||||
# ----------------------
|
||||
# Echo program name prefixed message to standard error, followed by
|
||||
# a help hint, and exit.
|
||||
func_fatal_help ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
eval \$ECHO \""Usage: $usage"\"
|
||||
eval \$ECHO \""$fatal_help"\"
|
||||
func_error ${1+"$@"}
|
||||
exit $EXIT_FAILURE
|
||||
}
|
||||
|
||||
|
||||
# func_help
|
||||
# ---------
|
||||
# Echo long help message to standard output and exit.
|
||||
func_help ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
func_usage_message
|
||||
$ECHO "$long_help_message"
|
||||
exit 0
|
||||
}
|
||||
|
||||
|
||||
# func_missing_arg ARGNAME
|
||||
# ------------------------
|
||||
# Echo program name prefixed message to standard error and set global
|
||||
# exit_cmd.
|
||||
func_missing_arg ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
func_error "Missing argument for '$1'."
|
||||
exit_cmd=exit
|
||||
}
|
||||
|
||||
|
||||
# func_split_equals STRING
|
||||
# ------------------------
|
||||
# Set func_split_equals_lhs and func_split_equals_rhs shell variables after
|
||||
# splitting STRING at the '=' sign.
|
||||
test -z "$_G_HAVE_XSI_OPS" \
|
||||
&& (eval 'x=a/b/c;
|
||||
test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
|
||||
&& _G_HAVE_XSI_OPS=yes
|
||||
|
||||
if test yes = "$_G_HAVE_XSI_OPS"
|
||||
then
|
||||
# This is an XSI compatible shell, allowing a faster implementation...
|
||||
eval 'func_split_equals ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
func_split_equals_lhs=${1%%=*}
|
||||
func_split_equals_rhs=${1#*=}
|
||||
test "x$func_split_equals_lhs" = "x$1" \
|
||||
&& func_split_equals_rhs=
|
||||
}'
|
||||
else
|
||||
# ...otherwise fall back to using expr, which is often a shell builtin.
|
||||
func_split_equals ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'`
|
||||
func_split_equals_rhs=
|
||||
test "x$func_split_equals_lhs" = "x$1" \
|
||||
|| func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'`
|
||||
}
|
||||
fi #func_split_equals
|
||||
|
||||
|
||||
# func_split_short_opt SHORTOPT
|
||||
# -----------------------------
|
||||
# Set func_split_short_opt_name and func_split_short_opt_arg shell
|
||||
# variables after splitting SHORTOPT after the 2nd character.
|
||||
if test yes = "$_G_HAVE_XSI_OPS"
|
||||
then
|
||||
# This is an XSI compatible shell, allowing a faster implementation...
|
||||
eval 'func_split_short_opt ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
func_split_short_opt_arg=${1#??}
|
||||
func_split_short_opt_name=${1%"$func_split_short_opt_arg"}
|
||||
}'
|
||||
else
|
||||
# ...otherwise fall back to using expr, which is often a shell builtin.
|
||||
func_split_short_opt ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'`
|
||||
func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'`
|
||||
}
|
||||
fi #func_split_short_opt
|
||||
|
||||
|
||||
# func_usage
|
||||
# ----------
|
||||
# Echo short help message to standard output and exit.
|
||||
func_usage ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
func_usage_message
|
||||
$ECHO "Run '$progname --help |${PAGER-more}' for full usage"
|
||||
exit 0
|
||||
}
|
||||
|
||||
|
||||
# func_usage_message
|
||||
# ------------------
|
||||
# Echo short help message to standard output.
|
||||
func_usage_message ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
eval \$ECHO \""Usage: $usage"\"
|
||||
echo
|
||||
$SED -n 's|^# ||
|
||||
/^Written by/{
|
||||
x;p;x
|
||||
}
|
||||
h
|
||||
/^Written by/q' < "$progpath"
|
||||
echo
|
||||
eval \$ECHO \""$usage_message"\"
|
||||
}
|
||||
|
||||
|
||||
# func_version
|
||||
# ------------
|
||||
# Echo version message to standard output and exit.
|
||||
func_version ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
printf '%s\n' "$progname $scriptversion"
|
||||
$SED -n '
|
||||
/(C)/!b go
|
||||
:more
|
||||
/\./!{
|
||||
N
|
||||
s|\n# | |
|
||||
b more
|
||||
}
|
||||
:go
|
||||
/^# Written by /,/# warranty; / {
|
||||
s|^# ||
|
||||
s|^# *$||
|
||||
s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
|
||||
p
|
||||
}
|
||||
/^# Written by / {
|
||||
s|^# ||
|
||||
p
|
||||
}
|
||||
/^warranty; /q' < "$progpath"
|
||||
|
||||
exit $?
|
||||
}
|
||||
|
||||
|
||||
# Local variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# End:
|
||||
@ -1,487 +0,0 @@
|
||||
@node Bootstrap
|
||||
@chapter Bootstrap
|
||||
|
||||
The process of executing the various tools required to bring all the
|
||||
generated files up to date in a directory freshly checked out from
|
||||
source control can be quite involved. Many GNU projects use
|
||||
@command{bootstrap} script to execute some or all of the following in the
|
||||
correct order: @command{gnulib-tool}, @command{autopoint},
|
||||
@command{libtoolize}, @command{autoreconf}. Often there's also
|
||||
additional file-processing and assorted book-keeping that also falls
|
||||
under the control of @command{bootstrap}, but it's wasteful for the
|
||||
maintainers of all these projects to manually reinvent a custom script
|
||||
on a case-by-case basis.
|
||||
|
||||
Gnulib is designed to provide a central library of exemplar
|
||||
implementations to promote the sharing of useful common code among
|
||||
GNU project maintainers. However, the bootstrapping needs of these
|
||||
projects vary enormously, so Gnulib's @command{bootstrap} needs to be
|
||||
extremely @strong{customisable} and extensible, with less effort than
|
||||
would be otherwise required to invent an ad-hoc solution.
|
||||
|
||||
@menu
|
||||
* Customisation::
|
||||
* Usage Patterns::
|
||||
* Known Bugs::
|
||||
@end menu
|
||||
|
||||
|
||||
@node Customisation
|
||||
@section Customisation
|
||||
|
||||
There are four distinct ways to customize the functionality of
|
||||
@command{bootstrap}, all requiring creation of a @file{bootstrap.conf}
|
||||
file in the same directory as the imported @command{bootstrap} script
|
||||
itself.
|
||||
|
||||
@menu
|
||||
* Configuration Variables::
|
||||
* Require Variables::
|
||||
* Hook Functions::
|
||||
* Function Replacement::
|
||||
@end menu
|
||||
|
||||
|
||||
@node Configuration Variables
|
||||
@subsection Configuration Variables
|
||||
|
||||
For all but the more complex customisations, you need only change
|
||||
the value of a selection of the following shell variables in
|
||||
@file{bootstrap.conf}, to reflect whatever is appropriate to your
|
||||
package.
|
||||
|
||||
@example
|
||||
vc_ignore=.gitignore
|
||||
@end example
|
||||
|
||||
@table @code
|
||||
|
||||
@cnindex buildreq
|
||||
@item buildreq
|
||||
A newline-delimited list of triples of @strong{programs} (that must
|
||||
accept the option @option{--version} without hanging or failing), the
|
||||
@strong{minimum version required} (or just `-' in the version field if
|
||||
any version will be sufficient) and @strong{homepage URL (to
|
||||
help users locate missing packages)
|
||||
|
||||
@smallexample
|
||||
buildreq='
|
||||
git 1.5.5 http://git-scm.com
|
||||
help2man 1.29 http://www.gnu.org/s/help2man
|
||||
'
|
||||
@end smallexample
|
||||
|
||||
If you specify a minimum version of Autoconf with @code{AC_PREREQ},
|
||||
that version will be checked automatically without needing to be
|
||||
listed in @code{buildreq}. Similarly for a minimum Automake version
|
||||
declared with @code{AM_INIT_AUTOMAKE}, Libtool version with
|
||||
@code{LT_PREREQ}, or Autopoint version with @code{AM_GNU_GETTEXT_VERSION}.
|
||||
|
||||
If @code{AB_INIT} is declared in @file{configure.ac}, then a versionless
|
||||
requirement for Autobuild is added automatically, and finally if there
|
||||
are any diff files under @code{local_gl_dir}, then a versionless
|
||||
requirement for patch is also added.
|
||||
|
||||
When there are backwards incompatibilities in a newer build-tool
|
||||
release, you can pin the version requirement for your program by
|
||||
prefixing the version number field in buildreq with a single '='
|
||||
character (no spaces).
|
||||
|
||||
When @command{bootstrap} is invoked, it will check that all the listed
|
||||
and automatically added tools are available at the given minimum version,
|
||||
or else bail out with a diagnostic.
|
||||
|
||||
|
||||
@cnindex buildreq_readme
|
||||
@item buildreq_readme
|
||||
Name of a file containing instructions on installing missing packages
|
||||
required in @code{buildreq}. Usually, the instructions at the given
|
||||
URL should be sufficient, though some projects add additional notes
|
||||
in @file{HACKING}.
|
||||
|
||||
@smallexample
|
||||
buildreq_readme=README-hacking
|
||||
@end smallexample
|
||||
|
||||
|
||||
@cnindex build_aux
|
||||
@item build_aux
|
||||
This is automatically extracted from the @code{AC_CONFIG_AUX_DIR}
|
||||
declaration in @file{configure.ac}, though you can specify it in
|
||||
@file{bootstrap.conf} if you don't otherwise want to declare
|
||||
@code{AC_CONFIG_AUX_DIR} in @file{configure.ac}.
|
||||
|
||||
@cnindex macro_dir
|
||||
@item macro_dir
|
||||
This is automatically extracted from @file{configure.ac}, or if
|
||||
neither @code{AC_CONFIG_MACRO_DIRS} nor @code{AC_CONFIG_MACRO_DIR} is
|
||||
declared there, the option immediately following the first @samp{-I}
|
||||
from @code{ACLOCAL_AMFLAGS} in @file{Makefile.am} is used as a last
|
||||
resort. If you don't want to declare the macro directory in any of
|
||||
those places, then you can specify it in @file{bootstrap.conf} by
|
||||
using the @code{macro_dir} variable.
|
||||
|
||||
@smallexample
|
||||
macro_dir=acm4
|
||||
@end smallexample
|
||||
|
||||
|
||||
@cnindex package
|
||||
@item package
|
||||
This is automatically extracted by downcasing the first argument to
|
||||
@code{AC_INIT} in @file{configure.ac}, though you can override it here
|
||||
if you prefer.
|
||||
|
||||
@cnindex package_name
|
||||
@item package_name
|
||||
This is automatically extracted from the first argument to
|
||||
@code{AC_INIT} in @file{configure.ac}, though you can override it here
|
||||
if you prefer.
|
||||
|
||||
@cnindex package_version
|
||||
@item package_version
|
||||
This is automatically extracted from the second argument to
|
||||
@code{AC_INIT} in @file{configure.ac}, though you can override it here
|
||||
if you prefer.
|
||||
|
||||
@cnindex package_bugreport
|
||||
@item package_bugreport
|
||||
This is automatically extracted from the third argument to
|
||||
@code{AC_INIT} in @file{configure.ac} if given, though you can override
|
||||
it here if you prefer.
|
||||
|
||||
|
||||
@cnindex doc_base
|
||||
@cnindex gnulib_mk
|
||||
@cnindex gnulib_name
|
||||
@cnindex local_gl_dir
|
||||
@cnindex source_base
|
||||
@cnindex tests_base
|
||||
@item doc_base
|
||||
@itemx gnulib_mk
|
||||
@itemx gnulib_name
|
||||
@itemx local_gl_dir
|
||||
@itemx source_base
|
||||
@itemx tests_base
|
||||
These are normally extracted from @file{gnulib-cache.m4}, regardless of
|
||||
their values in @file{bootstrap.conf}.
|
||||
|
||||
When that file is not yet created, then @command{bootstrap} will
|
||||
fall-back automatically to the gnulib defaults; unless you set
|
||||
alternative values here in @file{bootstrap.conf}.
|
||||
|
||||
If you check @file{gnulib-cache.m4} into your repository, then these
|
||||
values will be extracted automatically. @xref{Usage Patterns}, for more
|
||||
details.
|
||||
|
||||
|
||||
@cnindex gnulib_modules
|
||||
@item gnulib_modules
|
||||
The list of gnulib modules required at @command{gnulib-tool} time.
|
||||
|
||||
If you check @file{gnulib-cache.m4} into your repository, then this list
|
||||
will be extracted automatically. @xref{Usage Patterns}, for more
|
||||
details.
|
||||
|
||||
|
||||
@cnindex gnulib_non_module_files
|
||||
@item gnulib_non_module_files
|
||||
Extra gnulib files that are not part of a gnulib module, but which
|
||||
override files of the same name installed by other bootstrap tools, such
|
||||
as @command{automake}.
|
||||
|
||||
@smallexample
|
||||
gnulib_non_module_files="$gnulib_non_module_files"'
|
||||
doc/COPYINGv3
|
||||
'
|
||||
@end smallexample
|
||||
|
||||
|
||||
@cnindex gnulib_path
|
||||
@cnindex gnulib_url
|
||||
@item gnulib_path
|
||||
@itemx gnulib_url
|
||||
Relative path to the local gnulib submodule, and url to the upstream
|
||||
git repository for gnulib. These are only used if a new gnulib submodule
|
||||
needs to be created, otherwise they are ignored and the values stored in
|
||||
@file{.gitmodules} are used instead.
|
||||
|
||||
Normally, you can leave these untouched, and @command{bootstrap} will
|
||||
correctly check out a gnulib submodule from the directory passed with
|
||||
@option{--gnulib-srcdir}, or else from the upstream repository at GNU
|
||||
savannah.
|
||||
|
||||
|
||||
@cnindex gnulib_tool_options
|
||||
@item gnulib_tool_options
|
||||
Additional options to pass to @command{gnulib-tool} when it is called.
|
||||
|
||||
@smallexample
|
||||
gnulib_tool_options='
|
||||
--no-changelog
|
||||
--libtool
|
||||
'
|
||||
@end smallexample
|
||||
|
||||
|
||||
@cnindex gnulib_precious
|
||||
@item gnulib_precious
|
||||
Normally, @command{bootstrap} removes any macro-files that are not
|
||||
included by @file{aclocal.m4} before it returns, except for files listed
|
||||
in this variable that are always kept.
|
||||
|
||||
@smallexample
|
||||
gnulib_precious='
|
||||
gnulib-cache.m4
|
||||
'
|
||||
@end smallexample
|
||||
|
||||
|
||||
@cnindex min_cmd_len
|
||||
@item min_cmd_len
|
||||
When truncating long commands for display at runtime, always allow at
|
||||
least this many characters before truncating.
|
||||
|
||||
|
||||
@cnindex po_download_command_format
|
||||
@item po_download_command_format
|
||||
The command to download all @samp{.po} files for a specified domain into
|
||||
a specified directory, where the first %s is filled in with the
|
||||
@emph{domain name}, and the second with the @emph{destination
|
||||
directory}. Use @command{rsync}'s @option{-L} and @option{-r} options
|
||||
because the latest @samp{/%s} directory and the @samp{.po} files within
|
||||
are all symlinks.
|
||||
|
||||
@smallexample
|
||||
po_download_command_format=\
|
||||
"rsync --delete --exclude '*.s1' -Lrtvz \
|
||||
'translationproject.org::tp/latest/%s/' '%s'"
|
||||
@end smallexample
|
||||
|
||||
This variable is only interesting to projects with NLS support, and even
|
||||
then, Usually, the default setting will be sufficient.
|
||||
|
||||
|
||||
@cnindex extra_locale_categories
|
||||
@item extra_locale_categories
|
||||
Other locale categories that need message catalogs. This variable is
|
||||
only interesting to projects with NLS support.
|
||||
|
||||
|
||||
@cnindex xgettext_options
|
||||
@item xgettext_options
|
||||
Additional @command{xgettext} options to use. Gnulib might provide you
|
||||
with an extensive list of additional options to append to this, but
|
||||
gettext 0.16.1 and newer already appends those automaticaly, so you can
|
||||
safely ignore the complaints from @command{gnulib-tool} as long as your
|
||||
@file{configure.ac} declares @code{AM_GNU_GETTEXT_VERSION([0.16.1])}.
|
||||
|
||||
@smallexample
|
||||
xgettext_options='
|
||||
--flag=_:1:pass-c-format
|
||||
--flag=N_:1:pass-c-format
|
||||
'
|
||||
@end smallexample
|
||||
|
||||
As with the previous two variables, you can safely ignore this one if
|
||||
your project does not have NLS support.
|
||||
|
||||
|
||||
@cnindex copyright_holder
|
||||
@item copyright_holder
|
||||
Package copyright holder for gettext files. Defaults to @samp{FSF} if
|
||||
unset.
|
||||
|
||||
@cnindex checkout_only_file
|
||||
@item checkout_only_file
|
||||
If you want @command{bootstrap} to abort if it is executed outside of
|
||||
a version controlled tree, this variable must hold the name of some file
|
||||
that is present only in a checked out tree, and is not in a distribution
|
||||
tarball.
|
||||
|
||||
@smallexample
|
||||
checkout_only_file=HACKING
|
||||
@end smallexample
|
||||
|
||||
@cnindex copy
|
||||
@item copy
|
||||
If set to @samp{true}, then make copies when adding files to this
|
||||
package, otherwise make symlinks by default. If set to @samp{true},
|
||||
then the @option{--copy} option to @command{bootstrap} will have no
|
||||
further effect.
|
||||
|
||||
|
||||
@cnindex vc_ignore
|
||||
@item vc_ignore
|
||||
Set this to @samp{.cvsignore .gitignore} if you want both of those files
|
||||
to be generated in directories such as @file{lib/}, @file{m4/}, and
|
||||
@file{po/}, or set it to @samp{auto} to make @command{bootstrap} select
|
||||
what to use based on what version control system (if any) is used in
|
||||
the source directory. Or set it to @samp{none} to disregard VCS ignore
|
||||
files entirely. Default is @samp{auto}.
|
||||
|
||||
@smallexample
|
||||
vc_ignore='.cvsignore .gitignore'
|
||||
@end smallexample
|
||||
|
||||
@end itemize
|
||||
|
||||
|
||||
@node Require Variables
|
||||
@subsection Require Variables
|
||||
|
||||
Many of the functions in @command{bootstrap} should not be executed more
|
||||
than once, which is achieved by storing the name of that function in a
|
||||
variable and then calling it with:
|
||||
|
||||
@smallexample
|
||||
$require_gnulib_tool
|
||||
@end smallexample
|
||||
|
||||
At this stage, the value of the variable is interpreted as a function
|
||||
call by the shell, and the named function then runs. Under normal
|
||||
circumstances, functions that are called in this way always set their
|
||||
associated variable name to simply @samp{:} so that subsequent
|
||||
occurrences of, in this instance, @code{$require_gnulib_tool} have no
|
||||
further effect.
|
||||
|
||||
That means you can easily skip any functions that are called like this
|
||||
by unconditionally setting the require variable to @samp{:} in your
|
||||
@file{bootstrap.conf}. So, for example, if your package makes no use of
|
||||
@command{gnulib-tool}, you can add the following to your
|
||||
@file{bootstrap.conf}:
|
||||
|
||||
@smallexample
|
||||
require_gnulib_tool=:
|
||||
@end smallexample
|
||||
|
||||
You should be aware, however, that the function calls managed by this
|
||||
mechanism are designed to be called one time to ensure that some
|
||||
resource is available for use by the rest of any function that uses a
|
||||
@code{$require_some_resource} call. Be careful to ensure that you
|
||||
remove any code paths that try to use that resource if you have
|
||||
effectively disabled it by setting its variable to @samp{:} early on.
|
||||
|
||||
|
||||
@node Hook Functions
|
||||
@subsection Hook Functions
|
||||
|
||||
Many of the key functions in @command{bootstrap} will run one or more hook
|
||||
functions before they return. Essentially, all that the entire script
|
||||
does is to define a lot of functions (some of which will run hooks),
|
||||
then source the contents of your @file{bootstrap.conf} customisations,
|
||||
and then finally run the @code{func_bootstrap} function. Read the
|
||||
doc-comments above @code{func_bootstrap} in the @command{bootstrap} file,
|
||||
as well as the functions that it calls to find where you can hook your
|
||||
own functions, in order to be called during your customised execution of
|
||||
@command{bootstrap}.
|
||||
|
||||
One of the trickier hook functions is set up to allow you to add
|
||||
additional arguments to the option parser for @command{bootstrap} without
|
||||
having to replace @code{func_parse_options} in its entirety:
|
||||
|
||||
@smallexample
|
||||
my_silent_option ()
|
||||
@{
|
||||
$debug_cmd
|
||||
|
||||
case $1 in
|
||||
--silent|-s) opt_silent=:; shift ;;
|
||||
esac
|
||||
|
||||
# return modified option list
|
||||
func_quote_for_eval $@{1+"$@@"@}
|
||||
func_run_hooks_result=$func_quote_for_eval_result
|
||||
@}
|
||||
func_add_hook func_parse_options my_silent_option
|
||||
@end smallexample
|
||||
|
||||
|
||||
@node Function Replacement
|
||||
@subsection Function Replacement
|
||||
|
||||
In a few complex packages, you might find that some selection of
|
||||
functions called during the normal execution of @command{bootstrap} are
|
||||
wholly inappropriate for your project, where simply disabling
|
||||
@code{$require_some_resource} functions and hooking in additional code
|
||||
is not powerful enough to avoid or radically alter the parts of
|
||||
@command{bootstrap} you do not want.
|
||||
|
||||
In that case you can simply write an entirely custom implementation of
|
||||
whatever function(s) you want to replace inside your
|
||||
@file{bootstrap.conf}, so that by the time @code{func_bootstrap} is
|
||||
called at the end of @command{bootstrap}, your new implementation is
|
||||
already in place.
|
||||
|
||||
@example
|
||||
func_echo ()
|
||||
@{
|
||||
# respect new --silent option
|
||||
$opt_silent || echo "$progname: $*"
|
||||
@}
|
||||
@end example
|
||||
|
||||
|
||||
@node Usage Patterns
|
||||
@section Usage Patterns
|
||||
|
||||
There are two ways to incorporate gnulib into your package, which are
|
||||
both supported by the @command{bootstrap} script. Be sure that everyone
|
||||
working on your package is employing the same usage pattern, or things
|
||||
will turn bad!
|
||||
|
||||
@menu
|
||||
* Configuration all kept in @file{bootstrap.conf}
|
||||
* Gnulib configuration stored in @file{gnulib-cache.m4}
|
||||
@end menu
|
||||
|
||||
|
||||
@node Configuration all kept in @file{bootstrap.conf}
|
||||
@subsection Configuration all kept in @file{bootstrap.conf}
|
||||
|
||||
All the parameters for running @command{gnulib-tool} and other bootstrap-
|
||||
time commands are maintained in @file{bootstrap.conf}. This is the
|
||||
default usage pattern.
|
||||
|
||||
In order for this to work, when you wish to add or remove a gnulib
|
||||
module from your package, amend the value of @var{gnulib_modules} in
|
||||
@file{bootstrap.conf} (and similarly for any other parameters) and rerun
|
||||
@command{bootstrap} to import everything anew.
|
||||
|
||||
To avoid things getting out of sync, you should never run
|
||||
@command{gnulib-tool} directly.
|
||||
|
||||
|
||||
@node Gnulib configuration stored in @file{gnulib-cache.m4}
|
||||
@subsection Gnulib configuration stored in @file{gnulib-cache.m4}
|
||||
|
||||
To implement this usage pattern, leave the value of @var{gnulib_modules}
|
||||
and the various @var{gl_xxx} variables empty in @file{bootstrap.conf}
|
||||
and call @command{gnulib-tool --import ...} from your shell, checking
|
||||
that @file{gnulib-cache.m4} reflects the values you wanted. From now on
|
||||
you can either call @command{gnulib-tool --update} or rerun
|
||||
@command{bootstrap} whenever you want to resync the package modules with
|
||||
your local gnulib checkout.
|
||||
|
||||
If you wish to add or remove a gnulib module from your package, call
|
||||
@command{gnulib-tool --import-add ...} or @command{gnulib-tool --import-
|
||||
remove} respectively.
|
||||
|
||||
@node Known Bugs
|
||||
@section Known Bugs
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
gnulib-tool has no @option{--force} option, so sometimes symlinks are
|
||||
left pointing to an old gnulib tree (even with @command{./bootstrap
|
||||
--force}):
|
||||
|
||||
@smallexample
|
||||
$ ./bootstrap --skip-git --gnulib-srcdir=../gnulib
|
||||
$ ./bootstrap --gnulib-srcdir=../gnulib --force
|
||||
@end smallexample
|
||||
|
||||
Note that now, plenty of symlinks still point to @file{../gnulib}
|
||||
instead of having being retargeted to the submodule in @file{./gnulib}.
|
||||
@end item
|
||||
@end itemize
|
||||
@ -1,23 +0,0 @@
|
||||
Description:
|
||||
Bootstrap an Autotooled package from checked-out sources.
|
||||
|
||||
Files:
|
||||
build-aux/bootstrap.in
|
||||
|
||||
Depends-on:
|
||||
extract-trace
|
||||
funclib.sh
|
||||
inline-source
|
||||
options-parser
|
||||
|
||||
configure.ac:
|
||||
|
||||
Makefile.am:
|
||||
|
||||
Include:
|
||||
|
||||
License:
|
||||
GPLed build tool
|
||||
|
||||
Maintainer:
|
||||
Gary V. Vaughan <gary@gnu.org>
|
||||
@ -1,21 +0,0 @@
|
||||
Description:
|
||||
Extract macro arguments from autotools input with GNU M4.
|
||||
|
||||
Files:
|
||||
build-aux/extract-trace
|
||||
|
||||
Depends-on:
|
||||
options-parser
|
||||
funclib.sh
|
||||
|
||||
configure.ac:
|
||||
|
||||
Makefile.am:
|
||||
|
||||
Include:
|
||||
|
||||
License:
|
||||
GPLed build tool
|
||||
|
||||
Maintainer:
|
||||
Gary V. Vaughan <gary@gnu.org>
|
||||
@ -1,19 +0,0 @@
|
||||
Description:
|
||||
General shell script boiler plate, and helper functions.
|
||||
|
||||
Files:
|
||||
build-aux/funclib.sh
|
||||
|
||||
Depends-on:
|
||||
|
||||
configure.ac:
|
||||
|
||||
Makefile.am:
|
||||
|
||||
Include:
|
||||
|
||||
License:
|
||||
GPLv2+
|
||||
|
||||
Maintainer:
|
||||
Gary V. Vaughan <gary@gnu.org>
|
||||
@ -1,21 +0,0 @@
|
||||
Description:
|
||||
Output the contents of a shell script with sourced files inlined.
|
||||
|
||||
Files:
|
||||
build-aux/inline-source
|
||||
|
||||
Depends-on:
|
||||
options-parser
|
||||
funclib.sh
|
||||
|
||||
configure.ac:
|
||||
|
||||
Makefile.am:
|
||||
|
||||
Include:
|
||||
|
||||
License:
|
||||
GPLed build tool
|
||||
|
||||
Maintainer:
|
||||
Gary V. Vaughan <gary@gnu.org>
|
||||
@ -1,20 +0,0 @@
|
||||
Description:
|
||||
A portable, pluggable option parser for Bourne shell.
|
||||
|
||||
Files:
|
||||
build-aux/options-parser
|
||||
|
||||
Depends-on:
|
||||
funclib.sh
|
||||
|
||||
configure.ac:
|
||||
|
||||
Makefile.am:
|
||||
|
||||
Include:
|
||||
|
||||
License:
|
||||
GPLed build tool
|
||||
|
||||
Maintainer:
|
||||
Gary V. Vaughan <gary@gnu.org>
|
||||
@ -1,5 +1,5 @@
|
||||
--- gnulib/top/README-release 2013-01-01 16:56:11.111973500 +0100
|
||||
+++ gl/top/README-release 2013-01-01 16:55:31.423573500 +0100
|
||||
--- gnulib/top/README-release
|
||||
+++ README-release
|
||||
@@ -1,5 +1,9 @@
|
||||
Here are most of the steps we (maintainers) follow when making a release.
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
* Start from a clean, up-to-date git directory on "master":
|
||||
|
||||
make -k maintainer-clean || { ./configure && make maintainer-clean; }
|
||||
@@ -27,9 +31,24 @@
|
||||
@@ -27,10 +31,25 @@ Here are most of the steps we (maintainers) follow when making a release.
|
||||
|
||||
./bootstrap && ./configure
|
||||
|
||||
@ -23,15 +23,29 @@
|
||||
+
|
||||
+* Run "./bootstrap && ./configure".
|
||||
+
|
||||
* Pre-release testing: ensure that the following command succeeds:
|
||||
* Pre-release testing: ensure that the following commands succeed:
|
||||
|
||||
make check syntax-check distcheck
|
||||
c=check ve=check-very-expensive; git grep -q "^$ve:\$" && c=$ve
|
||||
make $c syntax-check distcheck
|
||||
+ make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install
|
||||
+ make distcheck DISTCHECK_CONFIGURE_FLAGS=--program-prefix=g
|
||||
+ make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-shared
|
||||
+ make distcheck CC=g++
|
||||
+ make distcheck CXX=g++
|
||||
+
|
||||
+ If there are any problems, fix them and start again.
|
||||
|
||||
* To (i) set the date, version number, and release TYPE on line 3 of
|
||||
NEWS, (ii) commit that, and (iii) tag the release, run
|
||||
@@ -98,4 +115,12 @@
|
||||
|
||||
to update the on-line manual accessible at
|
||||
|
||||
https://www.gnu.org/software/@PACKAGE@/manual/
|
||||
+
|
||||
+ Ensure that the on-line documentation links to the latest stable release:
|
||||
+
|
||||
+ https://www.gnu.org/software/@PACKAGE@/
|
||||
+
|
||||
+ On-line documentation is updated through the CVS repository:
|
||||
+
|
||||
+ https://savannah.gnu.org/cvs/?group=@PACKAGE@
|
||||
|
||||
2
gnulib
2
gnulib
@ -1 +1 @@
|
||||
Subproject commit 1b6c775c6b9c8054afcadc0aeb0ae39e81dc6387
|
||||
Subproject commit e93789db7e86c51d6cb9683ea508e676a55cdefa
|
||||
@ -9,7 +9,8 @@ It supports the following dlopen interfaces:
|
||||
* dyld (darwin/Mac OS X)
|
||||
* libtool's dlpreopen
|
||||
--
|
||||
Copyright (C) 1999, 2003, 2011-2014 Free Software Foundation, Inc.
|
||||
Copyright (C) 1999, 2003, 2011-2019, 2021-2026 Free Software
|
||||
Foundation, Inc.
|
||||
Written by Thomas Tanner, 1999
|
||||
|
||||
This file is part of GNU Libtool.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
# Process this file with autoconf to create configure. -*- autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004-2005, 2007-2008, 2011-2014 Free Software
|
||||
# Foundation, Inc.
|
||||
# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2026 Free
|
||||
# Software Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
# NOTE: The canonical source of this file is maintained with the
|
||||
@ -23,10 +23,7 @@
|
||||
# GNU Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU LesserGeneral Public
|
||||
# License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
# copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
# or obtained by writing to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
# License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
####
|
||||
|
||||
# This configure.ac is not used at all by the libtool bootstrap, but
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
/* lt__alloc.h -- internal memory management interface
|
||||
|
||||
Copyright (C) 2004, 2011-2014 Free Software Foundation, Inc.
|
||||
Copyright (C) 2004, 2011-2019, 2021-2026 Free Software Foundation,
|
||||
Inc.
|
||||
Written by Gary V. Vaughan, 2004
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -22,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#if !defined LT__ALLOC_H
|
||||
@ -37,11 +35,11 @@ LT_BEGIN_C_DECLS
|
||||
|
||||
#define MALLOC(tp, n) (tp*) lt__malloc((n) * sizeof(tp))
|
||||
#define REALLOC(tp, mem, n) (tp*) lt__realloc((mem), (n) * sizeof(tp))
|
||||
#define FREE(mem) LT_STMT_START { \
|
||||
free (mem); mem = NULL; } LT_STMT_END
|
||||
#define MEMREASSIGN(p, q) LT_STMT_START { \
|
||||
#define FREE(mem) LT_STMT_START \
|
||||
free (mem); mem = NULL; LT_STMT_END
|
||||
#define MEMREASSIGN(p, q) LT_STMT_START \
|
||||
if ((p) != (q)) { free (p); (p) = (q); (q) = 0; } \
|
||||
} LT_STMT_END
|
||||
LT_STMT_END
|
||||
|
||||
/* If set, this function is called when memory allocation has failed. */
|
||||
LT_SCOPE void (*lt__alloc_die) (void);
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/* lt__argz.h -- internal argz interface for non-glibc systems
|
||||
|
||||
Copyright (C) 2004, 2007-2008, 2011-2014 Free Software Foundation,
|
||||
Inc.
|
||||
Copyright (C) 2004, 2007-2008, 2011-2019, 2021-2026 Free Software
|
||||
Foundation, Inc.
|
||||
Written by Gary V. Vaughan, 2004
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -23,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#if !defined LT__ARGZ_H
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/* lt__dirent.h -- internal directory entry scanning interface
|
||||
|
||||
Copyright (C) 2001, 2004, 2006, 2011-2014 Free Software Foundation,
|
||||
Inc.
|
||||
Copyright (C) 2001, 2004, 2006, 2011-2019, 2021-2026 Free Software
|
||||
Foundation, Inc.
|
||||
Written by Bob Friesenhahn, 2001
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -23,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#if !defined LT__DIRENT_H
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/* lt__glibc.h -- support for non glibc environments
|
||||
|
||||
Copyright (C) 2004, 2006-2007, 2011-2014 Free Software Foundation,
|
||||
Inc.
|
||||
Copyright (C) 2004, 2006-2007, 2011-2019, 2021-2026 Free Software
|
||||
Foundation, Inc.
|
||||
Written by Gary V. Vaughan, 2004
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -23,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#if !defined LT__GLIBC_H
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
/* lt__private.h -- internal apis for libltdl
|
||||
|
||||
Copyright (C) 2004-2008, 2011-2014 Free Software Foundation, Inc.
|
||||
Copyright (C) 2004-2008, 2011-2019, 2021-2026 Free Software
|
||||
Foundation, Inc.
|
||||
Written by Gary V. Vaughan, 2004
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -22,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy con be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#if !defined LT__PRIVATE_H
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
/* lt__strl.h -- size-bounded string copying and concatenation
|
||||
|
||||
Copyright (C) 2004, 2006, 2011-2014 Free Software Foundation, Inc.
|
||||
Copyright (C) 2004, 2006, 2011-2019, 2021-2026 Free Software
|
||||
Foundation, Inc.
|
||||
Written by Bob Friesenhahn, 2004
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -22,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#if !defined LT__STRL_H
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/* lt_dlloader.h -- dynamic library loader interface
|
||||
|
||||
Copyright (C) 2004, 2007-2008, 2011-2014 Free Software Foundation,
|
||||
Inc.
|
||||
Copyright (C) 2004, 2007-2008, 2011-2019, 2021-2026 Free Software
|
||||
Foundation, Inc.
|
||||
Written by Gary V. Vaughan, 2004
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -23,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#if !defined LT_DLLOADER_H
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/* lt_error.h -- error propagation interface
|
||||
|
||||
Copyright (C) 1999-2001, 2004, 2007, 2011-2014 Free Software
|
||||
Foundation, Inc.
|
||||
Copyright (C) 1999-2001, 2004, 2007, 2011-2019, 2021-2026 Free
|
||||
Software Foundation, Inc.
|
||||
Written by Thomas Tanner, 1999
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -23,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/* Only include this header file once. */
|
||||
@ -41,7 +38,7 @@ LT_BEGIN_C_DECLS
|
||||
this way allows us to expand the macro in different contexts with
|
||||
confidence that the enumeration of symbolic names will map correctly
|
||||
onto the table of error strings. \0 is appended to the strings to
|
||||
expilicitely initialize the string terminator. */
|
||||
explicitly initialize the string terminator. */
|
||||
#define lt_dlerror_table \
|
||||
LT_ERROR(UNKNOWN, "unknown error\0") \
|
||||
LT_ERROR(DLOPEN_NOT_SUPPORTED, "dlopen support not available\0") \
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
/* lt_system.h -- system portability abstraction layer
|
||||
|
||||
Copyright (C) 2004, 2007, 2010-2014 Free Software Foundation, Inc.
|
||||
Copyright (C) 2004, 2007, 2010-2019, 2021-2026 Free Software
|
||||
Foundation, Inc.
|
||||
Written by Gary V. Vaughan, 2004
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -22,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#if !defined LT_SYSTEM_H
|
||||
@ -64,15 +62,15 @@ or obtained by writing to the Free Software Foundation, Inc.,
|
||||
/* LT_STMT_START/END are used to create macros that expand to a
|
||||
a single compound statement in a portable way. */
|
||||
#if defined __GNUC__ && !defined __STRICT_ANSI__ && !defined __cplusplus
|
||||
# define LT_STMT_START (void)(
|
||||
# define LT_STMT_END )
|
||||
# define LT_STMT_START (void)({
|
||||
# define LT_STMT_END })
|
||||
#else
|
||||
# if (defined sun || defined __sun__)
|
||||
# define LT_STMT_START if (1)
|
||||
# define LT_STMT_END else (void)0
|
||||
# define LT_STMT_START if (1){
|
||||
# define LT_STMT_END }else (void)0
|
||||
# else
|
||||
# define LT_STMT_START do
|
||||
# define LT_STMT_END while (0)
|
||||
# define LT_STMT_START do{
|
||||
# define LT_STMT_END }while (0)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/* slist.h -- generalised singly linked lists
|
||||
|
||||
Copyright (C) 2000, 2004, 2009, 2011-2014 Free Software Foundation,
|
||||
Inc.
|
||||
Copyright (C) 2000, 2004, 2009, 2011-2019, 2021-2026 Free Software
|
||||
Foundation, Inc.
|
||||
Written by Gary V. Vaughan, 2000
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -23,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/* A generalised list. This is deliberately transparent so that you
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/* loader-dld_link.c -- dynamic linking with dld
|
||||
|
||||
Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2014 Free Software
|
||||
Foundation, Inc.
|
||||
Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2019, 2021-2026 Free
|
||||
Software Foundation, Inc.
|
||||
Written by Thomas Tanner, 1998
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -23,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "lt__private.h"
|
||||
@ -97,7 +94,7 @@ get_vtable (lt_user_data loader_data)
|
||||
/* A function called through the vtable when this loader is no
|
||||
longer needed by the application. */
|
||||
static int
|
||||
vl_exit (lt_user_data LT__UNUSED loader_data)
|
||||
vl_exit (lt_user_data loader_data LT__UNUSED)
|
||||
{
|
||||
vtable = NULL;
|
||||
return 0;
|
||||
@ -107,12 +104,12 @@ vl_exit (lt_user_data LT__UNUSED loader_data)
|
||||
loader. Returns an opaque representation of the newly opened
|
||||
module for processing with this loader's other vtable functions. */
|
||||
static lt_module
|
||||
vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
|
||||
lt_dladvise LT__UNUSED advise)
|
||||
vm_open (lt_user_data loader_data LT__UNUSED, const char *filename,
|
||||
lt_dladvise advise LT__UNUSED)
|
||||
{
|
||||
lt_module module = lt__strdup (filename);
|
||||
|
||||
if (dld_link (filename) != 0)
|
||||
if (module && dld_link (filename) != 0)
|
||||
{
|
||||
LT__SETERROR (CANNOT_OPEN);
|
||||
FREE (module);
|
||||
@ -124,7 +121,7 @@ vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
|
||||
/* A function called through the vtable when a particular module
|
||||
should be unloaded. */
|
||||
static int
|
||||
vm_close (lt_user_data LT__UNUSED loader_data, lt_module module)
|
||||
vm_close (lt_user_data loader_data LT__UNUSED, lt_module module)
|
||||
{
|
||||
int errors = 0;
|
||||
|
||||
@ -144,7 +141,7 @@ vm_close (lt_user_data LT__UNUSED loader_data, lt_module module)
|
||||
/* A function called through the vtable to get the address of
|
||||
a symbol loaded from a particular module. */
|
||||
static void *
|
||||
vm_sym (lt_user_data LT__UNUSED loader_data, lt_module LT__UNUSED module,
|
||||
vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module LT__UNUSED,
|
||||
const char *name)
|
||||
{
|
||||
void *address = dld_get_func (name);
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/* loader-dlopen.c -- dynamic linking with dlopen/dlsym
|
||||
|
||||
Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2014 Free Software
|
||||
Foundation, Inc.
|
||||
Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2019, 2021-2026 Free
|
||||
Software Foundation, Inc.
|
||||
Written by Thomas Tanner, 1998
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -23,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "lt__private.h"
|
||||
@ -152,7 +149,7 @@ get_vtable (lt_user_data loader_data)
|
||||
/* A function called through the vtable when this loader is no
|
||||
longer needed by the application. */
|
||||
static int
|
||||
vl_exit (lt_user_data LT__UNUSED loader_data)
|
||||
vl_exit (lt_user_data loader_data LT__UNUSED)
|
||||
{
|
||||
vtable = NULL;
|
||||
return 0;
|
||||
@ -163,7 +160,7 @@ vl_exit (lt_user_data LT__UNUSED loader_data)
|
||||
loader. Returns an opaque representation of the newly opened
|
||||
module for processing with this loader's other vtable functions. */
|
||||
static lt_module
|
||||
vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
|
||||
vm_open (lt_user_data loader_data LT__UNUSED, const char *filename,
|
||||
lt_dladvise advise)
|
||||
{
|
||||
int module_flags = LT_LAZY_OR_NOW;
|
||||
@ -245,7 +242,7 @@ vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
|
||||
/* A function called through the vtable when a particular module
|
||||
should be unloaded. */
|
||||
static int
|
||||
vm_close (lt_user_data LT__UNUSED loader_data, lt_module module)
|
||||
vm_close (lt_user_data loader_data LT__UNUSED, lt_module module)
|
||||
{
|
||||
int errors = 0;
|
||||
|
||||
@ -262,7 +259,7 @@ vm_close (lt_user_data LT__UNUSED loader_data, lt_module module)
|
||||
/* A function called through the vtable to get the address of
|
||||
a symbol loaded from a particular module. */
|
||||
static void *
|
||||
vm_sym (lt_user_data LT__UNUSED loader_data, lt_module module, const char *name)
|
||||
vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name)
|
||||
{
|
||||
void *address = dlsym (module, name);
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/* loader-dyld.c -- dynamic linking on darwin and OS X
|
||||
|
||||
Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2014 Free Software
|
||||
Foundation, Inc.
|
||||
Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2019, 2021-2026 Free
|
||||
Software Foundation, Inc.
|
||||
Written by Peter O'Gorman, 1998
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -23,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "lt__private.h"
|
||||
@ -185,7 +182,7 @@ static int dyld_cannot_close = 0;
|
||||
/* A function called through the vtable when this loader is no
|
||||
longer needed by the application. */
|
||||
static int
|
||||
vl_exit (lt_user_data LT__UNUSED loader_data)
|
||||
vl_exit (lt_user_data loader_data LT__UNUSED)
|
||||
{
|
||||
vtable = NULL;
|
||||
return 0;
|
||||
@ -226,7 +223,7 @@ vl_init (lt_user_data loader_data)
|
||||
module for processing with this loader's other vtable functions. */
|
||||
static lt_module
|
||||
vm_open (lt_user_data loader_data, const char *filename,
|
||||
lt_dladvise LT__UNUSED advise)
|
||||
lt_dladvise advise LT__UNUSED)
|
||||
{
|
||||
lt_module module = 0;
|
||||
NSObjectFileImage ofi = 0;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/* loader-load_add_on.c -- dynamic linking for BeOS
|
||||
|
||||
Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2014 Free Software
|
||||
Foundation, Inc.
|
||||
Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2019, 2021-2026 Free
|
||||
Software Foundation, Inc.
|
||||
Written by Thomas Tanner, 1998
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -23,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "lt__private.h"
|
||||
@ -95,7 +92,7 @@ get_vtable (lt_user_data loader_data)
|
||||
/* A function called through the vtable when this loader is no
|
||||
longer needed by the application. */
|
||||
static int
|
||||
vl_exit (lt_user_data LT__UNUSED loader_data)
|
||||
vl_exit (lt_user_data loader_data LT__UNUSED)
|
||||
{
|
||||
vtable = NULL;
|
||||
return 0;
|
||||
@ -105,8 +102,8 @@ vl_exit (lt_user_data LT__UNUSED loader_data)
|
||||
loader. Returns an opaque representation of the newly opened
|
||||
module for processing with this loader's other vtable functions. */
|
||||
static lt_module
|
||||
vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
|
||||
lt_dladvise LT__UNUSED advise)
|
||||
vm_open (lt_user_data loader_data LT__UNUSED, const char *filename,
|
||||
lt_dladvise advise LT__UNUSED)
|
||||
{
|
||||
image_id image = 0;
|
||||
|
||||
@ -135,7 +132,7 @@ vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
|
||||
/* A function called through the vtable when a particular module
|
||||
should be unloaded. */
|
||||
static int
|
||||
vm_close (lt_user_data LT__UNUSED loader_data, lt_module module)
|
||||
vm_close (lt_user_data loader_data LT__UNUSED, lt_module module)
|
||||
{
|
||||
int errors = 0;
|
||||
|
||||
@ -152,7 +149,7 @@ vm_close (lt_user_data LT__UNUSED loader_data, lt_module module)
|
||||
/* A function called through the vtable to get the address of
|
||||
a symbol loaded from a particular module. */
|
||||
static void *
|
||||
vm_sym (lt_user_data LT__UNUSED loader_data, lt_module module, const char *name)
|
||||
vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name)
|
||||
{
|
||||
void *address = 0;
|
||||
image_id image = (image_id) module;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/* loader-loadlibrary.c -- dynamic linking for Win32
|
||||
|
||||
Copyright (C) 1998-2000, 2004-2008, 2010-2014 Free Software
|
||||
Foundation, Inc.
|
||||
Copyright (C) 1998-2000, 2004-2008, 2010-2019, 2021-2026 Free
|
||||
Software Foundation, Inc.
|
||||
Written by Thomas Tanner, 1998
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -23,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "lt__private.h"
|
||||
@ -98,8 +95,8 @@ get_vtable (lt_user_data loader_data)
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
#define LOCALFREE(mem) LT_STMT_START { \
|
||||
if (mem) { LocalFree ((void *)mem); mem = NULL; } } LT_STMT_END
|
||||
#define LOCALFREE(mem) LT_STMT_START \
|
||||
if (mem) { LocalFree ((void *)mem); mem = NULL; } LT_STMT_END
|
||||
#define LOADLIB__SETERROR(errmsg) LT__SETERRORSTR (loadlibraryerror (errmsg))
|
||||
#define LOADLIB_SETERROR(errcode) LOADLIB__SETERROR (LT__STRERROR (errcode))
|
||||
|
||||
@ -120,7 +117,7 @@ static char *error_message = 0;
|
||||
/* A function called through the vtable when this loader is no
|
||||
longer needed by the application. */
|
||||
static int
|
||||
vl_exit (lt_user_data LT__UNUSED loader_data)
|
||||
vl_exit (lt_user_data loader_data LT__UNUSED)
|
||||
{
|
||||
vtable = NULL;
|
||||
LOCALFREE (error_message);
|
||||
@ -131,8 +128,8 @@ vl_exit (lt_user_data LT__UNUSED loader_data)
|
||||
loader. Returns an opaque representation of the newly opened
|
||||
module for processing with this loader's other vtable functions. */
|
||||
static lt_module
|
||||
vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
|
||||
lt_dladvise LT__UNUSED advise)
|
||||
vm_open (lt_user_data loader_data LT__UNUSED, const char *filename,
|
||||
lt_dladvise advise LT__UNUSED)
|
||||
{
|
||||
lt_module module = 0;
|
||||
char *ext;
|
||||
@ -245,7 +242,7 @@ vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
|
||||
/* A function called through the vtable when a particular module
|
||||
should be unloaded. */
|
||||
static int
|
||||
vm_close (lt_user_data LT__UNUSED loader_data, lt_module module)
|
||||
vm_close (lt_user_data loader_data LT__UNUSED, lt_module module)
|
||||
{
|
||||
int errors = 0;
|
||||
|
||||
@ -262,7 +259,7 @@ vm_close (lt_user_data LT__UNUSED loader_data, lt_module module)
|
||||
/* A function called through the vtable to get the address of
|
||||
a symbol loaded from a particular module. */
|
||||
static void *
|
||||
vm_sym (lt_user_data LT__UNUSED loader_data, lt_module module, const char *name)
|
||||
vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name)
|
||||
{
|
||||
void *address = (void *) GetProcAddress ((HMODULE) module, name);
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/* loader-preopen.c -- emulate dynamic linking using preloaded_symbols
|
||||
|
||||
Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2014 Free Software
|
||||
Foundation, Inc.
|
||||
Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2019, 2021-2026 Free
|
||||
Software Foundation, Inc.
|
||||
Written by Thomas Tanner, 1998
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -23,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "lt__private.h"
|
||||
@ -113,7 +110,7 @@ static const lt_dlsymlist *default_preloaded_symbols = 0;
|
||||
|
||||
/* A function called through the vtable to initialise this loader. */
|
||||
static int
|
||||
vl_init (lt_user_data LT__UNUSED loader_data)
|
||||
vl_init (lt_user_data loader_data LT__UNUSED)
|
||||
{
|
||||
int errors = 0;
|
||||
|
||||
@ -130,7 +127,7 @@ vl_init (lt_user_data LT__UNUSED loader_data)
|
||||
/* A function called through the vtable when this loader is no
|
||||
longer needed by the application. */
|
||||
static int
|
||||
vl_exit (lt_user_data LT__UNUSED loader_data)
|
||||
vl_exit (lt_user_data loader_data LT__UNUSED)
|
||||
{
|
||||
vtable = NULL;
|
||||
free_symlists ();
|
||||
@ -142,8 +139,8 @@ vl_exit (lt_user_data LT__UNUSED loader_data)
|
||||
loader. Returns an opaque representation of the newly opened
|
||||
module for processing with this loader's other vtable functions. */
|
||||
static lt_module
|
||||
vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
|
||||
lt_dladvise LT__UNUSED advise)
|
||||
vm_open (lt_user_data loader_data LT__UNUSED, const char *filename,
|
||||
lt_dladvise advise LT__UNUSED)
|
||||
{
|
||||
symlist_chain *lists;
|
||||
lt_module module = 0;
|
||||
@ -195,7 +192,7 @@ vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
|
||||
/* A function called through the vtable when a particular module
|
||||
should be unloaded. */
|
||||
static int
|
||||
vm_close (lt_user_data LT__UNUSED loader_data, lt_module LT__UNUSED module)
|
||||
vm_close (lt_user_data loader_data LT__UNUSED, lt_module module LT__UNUSED)
|
||||
{
|
||||
/* Just to silence gcc -Wall */
|
||||
module = 0;
|
||||
@ -206,7 +203,7 @@ vm_close (lt_user_data LT__UNUSED loader_data, lt_module LT__UNUSED module)
|
||||
/* A function called through the vtable to get the address of
|
||||
a symbol loaded from a particular module. */
|
||||
static void *
|
||||
vm_sym (lt_user_data LT__UNUSED loader_data, lt_module module, const char *name)
|
||||
vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name)
|
||||
{
|
||||
lt_dlsymlist *symbol = (lt_dlsymlist*) module;
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/* loader-shl_load.c -- dynamic linking with shl_load (HP-UX)
|
||||
|
||||
Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2014 Free Software
|
||||
Foundation, Inc.
|
||||
Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2019, 2021-2026 Free
|
||||
Software Foundation, Inc.
|
||||
Written by Thomas Tanner, 1998
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -23,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "lt__private.h"
|
||||
@ -138,7 +135,7 @@ get_vtable (lt_user_data loader_data)
|
||||
/* A function called through the vtable when this loader is no
|
||||
longer needed by the application. */
|
||||
static int
|
||||
vl_exit (lt_user_data LT__UNUSED loader_data)
|
||||
vl_exit (lt_user_data loader_data LT__UNUSED)
|
||||
{
|
||||
vtable = NULL;
|
||||
return 0;
|
||||
@ -148,8 +145,8 @@ vl_exit (lt_user_data LT__UNUSED loader_data)
|
||||
loader. Returns an opaque representation of the newly opened
|
||||
module for processing with this loader's other vtable functions. */
|
||||
static lt_module
|
||||
vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
|
||||
lt_dladvise LT__UNUSED advise)
|
||||
vm_open (lt_user_data loader_data LT__UNUSED, const char *filename,
|
||||
lt_dladvise advise LT__UNUSED)
|
||||
{
|
||||
static shl_t self = (shl_t) 0;
|
||||
lt_module module = shl_load (filename, LT_BIND_FLAGS, 0L);
|
||||
@ -184,7 +181,7 @@ vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
|
||||
/* A function called through the vtable when a particular module
|
||||
should be unloaded. */
|
||||
static int
|
||||
vm_close (lt_user_data LT__UNUSED loader_data, lt_module module)
|
||||
vm_close (lt_user_data loader_data LT__UNUSED, lt_module module)
|
||||
{
|
||||
int errors = 0;
|
||||
|
||||
@ -201,7 +198,7 @@ vm_close (lt_user_data LT__UNUSED loader_data, lt_module module)
|
||||
/* A function called through the vtable to get the address of
|
||||
a symbol loaded from a particular module. */
|
||||
static void *
|
||||
vm_sym (lt_user_data LT__UNUSED loader_data, lt_module module, const char *name)
|
||||
vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name)
|
||||
{
|
||||
void *address = 0;
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/* lt__alloc.c -- internal memory management interface
|
||||
|
||||
Copyright (C) 2004, 2006-2007, 2011-2014 Free Software Foundation,
|
||||
Inc.
|
||||
Copyright (C) 2004, 2006-2007, 2011-2019, 2021-2026 Free Software
|
||||
Foundation, Inc.
|
||||
Written by Gary V. Vaughan, 2004
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -23,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "lt__private.h"
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/* lt__argz.c -- argz implementation for non-glibc systems
|
||||
|
||||
Copyright (C) 2004, 2006-2008, 2011-2014 Free Software Foundation,
|
||||
Inc.
|
||||
Copyright (C) 2004, 2006-2008, 2011-2019, 2021-2026 Free Software
|
||||
Foundation, Inc.
|
||||
Written by Gary V. Vaughan, 2004
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -23,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#if defined LTDL && defined LT_CONFIG_H
|
||||
@ -156,7 +153,7 @@ argz_insert (char **pargz, size_t *pargz_len, char *before, const char *entry)
|
||||
return ENOMEM;
|
||||
|
||||
/* Make BEFORE point to the equivalent offset in ARGZ that it
|
||||
used to have in *PARGZ incase realloc() moved the block. */
|
||||
used to have in *PARGZ in case realloc() moved the block. */
|
||||
before = argz + offset;
|
||||
|
||||
/* Move the ARGZ entries starting at BEFORE up into the new
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
/* lt__dirent.c -- internal directory entry scanning interface
|
||||
|
||||
Copyright (C) 2001, 2004, 2011-2014 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001, 2004, 2011-2019, 2021-2026 Free Software
|
||||
Foundation, Inc.
|
||||
Written by Bob Friesenhahn, 2001
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -22,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "lt__private.h"
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
/* lt__strl.c -- size-bounded string copying and concatenation
|
||||
|
||||
Copyright (C) 2004, 2011-2014 Free Software Foundation, Inc.
|
||||
Copyright (C) 2004, 2011-2019, 2021-2026 Free Software Foundation,
|
||||
Inc.
|
||||
Written by Bob Friesenhahn, 2004
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -22,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/* lt_dlloader.c -- dynamic library loader interface
|
||||
|
||||
Copyright (C) 2004, 2007-2008, 2011-2014 Free Software Foundation,
|
||||
Inc.
|
||||
Copyright (C) 2004, 2007-2008, 2011-2019, 2021-2026 Free Software
|
||||
Foundation, Inc.
|
||||
Written by Gary V. Vaughan, 2004
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -23,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "lt__private.h"
|
||||
@ -168,6 +165,10 @@ lt_dlloader_remove (const char *name)
|
||||
|
||||
/* Fail if there are any open modules that use this loader. */
|
||||
iface = lt_dlinterface_register (id_string, NULL);
|
||||
if (!iface)
|
||||
/* No memory, error is already set. */
|
||||
return 0;
|
||||
|
||||
while ((handle = lt_dlhandle_iterate (iface, handle)))
|
||||
{
|
||||
lt_dlhandle cur = handle;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/* lt_error.c -- error propagation interface
|
||||
|
||||
Copyright (C) 1999-2001, 2004-2005, 2007, 2011-2014 Free Software
|
||||
Foundation, Inc.
|
||||
Copyright (C) 1999-2001, 2004-2005, 2007, 2011-2019, 2021-2026 Free
|
||||
Software Foundation, Inc.
|
||||
Written by Thomas Tanner, 1999
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -23,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "lt__private.h"
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/* ltdl.c -- system independent dlopen wrapper
|
||||
|
||||
Copyright (C) 1998-2000, 2004-2008, 2011-2014 Free Software
|
||||
Foundation, Inc.
|
||||
Copyright (C) 1998-2000, 2004-2008, 2011-2019, 2021-2026 Free
|
||||
Software Foundation, Inc.
|
||||
Written by Thomas Tanner, 1998
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -23,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "lt__private.h"
|
||||
@ -91,7 +88,6 @@ static const char sys_dlsearch_path[] = LT_DLSEARCH_PATH;
|
||||
|
||||
|
||||
|
||||
|
||||
/* --- DYNAMIC MODULE LOADING --- */
|
||||
|
||||
|
||||
@ -789,10 +785,9 @@ find_handle_callback (char *filename, void *data, void *data2)
|
||||
if (notfound)
|
||||
return 0;
|
||||
|
||||
/* Try to dlopen the file, but do not continue searching in any
|
||||
case. */
|
||||
/* Try to dlopen the file. */
|
||||
if (tryall_dlopen (phandle, filename, advise, 0) != 0)
|
||||
*phandle = 0;
|
||||
return 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
@ -815,7 +810,7 @@ find_handle (const char *search_path, const char *base_name,
|
||||
|
||||
#if !defined LTDL_DLOPEN_DEPLIBS
|
||||
static int
|
||||
load_deplibs (lt_dlhandle handle, char * LT__UNUSED deplibs)
|
||||
load_deplibs (lt_dlhandle handle, char * deplibs LT__UNUSED)
|
||||
{
|
||||
handle->depcount = 0;
|
||||
return 0;
|
||||
@ -1372,9 +1367,12 @@ try_dlopen (lt_dlhandle *phandle, const char *filename, const char *ext,
|
||||
}
|
||||
#endif
|
||||
#if defined LT_DLSEARCH_PATH
|
||||
if (!file && *sys_dlsearch_path)
|
||||
if (!file)
|
||||
{
|
||||
file = find_file (sys_dlsearch_path, base_name, &dir);
|
||||
if (*sys_dlsearch_path)
|
||||
{
|
||||
file = find_file (sys_dlsearch_path, base_name, &dir);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@ -1666,7 +1664,7 @@ lt_dlopenadvise (const char *filename, lt_dladvise advise)
|
||||
|| !advise->try_ext
|
||||
|| has_library_ext (filename))
|
||||
{
|
||||
/* Just incase we missed a code path in try_dlopen() that reports
|
||||
/* Just in case we missed a code path in try_dlopen() that reports
|
||||
an error, but forgot to reset handle... */
|
||||
if (try_dlopen (&handle, filename, NULL, advise) != 0)
|
||||
return 0;
|
||||
@ -1921,24 +1919,27 @@ lt_dlforeachfile (const char *search_path,
|
||||
is_done = foreach_dirinpath (user_search_path, 0,
|
||||
foreachfile_callback, fpptr, data);
|
||||
if (!is_done)
|
||||
{
|
||||
is_done = foreach_dirinpath (getenv(LTDL_SEARCHPATH_VAR), 0,
|
||||
{
|
||||
is_done = foreach_dirinpath (getenv(LTDL_SEARCHPATH_VAR), 0,
|
||||
foreachfile_callback, fpptr, data);
|
||||
}
|
||||
}
|
||||
|
||||
#if defined LT_MODULE_PATH_VAR
|
||||
if (!is_done)
|
||||
{
|
||||
is_done = foreach_dirinpath (getenv(LT_MODULE_PATH_VAR), 0,
|
||||
foreachfile_callback, fpptr, data);
|
||||
}
|
||||
{
|
||||
is_done = foreach_dirinpath (getenv(LT_MODULE_PATH_VAR), 0,
|
||||
foreachfile_callback, fpptr, data);
|
||||
}
|
||||
#endif
|
||||
#if defined LT_DLSEARCH_PATH
|
||||
if (!is_done && *sys_dlsearch_path)
|
||||
{
|
||||
is_done = foreach_dirinpath (sys_dlsearch_path, 0,
|
||||
foreachfile_callback, fpptr, data);
|
||||
}
|
||||
if (!is_done)
|
||||
{
|
||||
if (*sys_dlsearch_path)
|
||||
{
|
||||
is_done = foreach_dirinpath (sys_dlsearch_path, 0,
|
||||
foreachfile_callback, fpptr, data);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -1970,7 +1971,7 @@ lt_dlclose (lt_dlhandle handle)
|
||||
cur->info.ref_count--;
|
||||
|
||||
/* Note that even with resident modules, we must track the ref_count
|
||||
correctly incase the user decides to reset the residency flag
|
||||
correctly in case the user decides to reset the residency flag
|
||||
later (even though the API makes no provision for that at the
|
||||
moment). */
|
||||
if (cur->info.ref_count <= 0 && !LT_DLIS_RESIDENT (cur))
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/* ltdl.h -- generic dlopen functions
|
||||
|
||||
Copyright (C) 1998-2000, 2004-2005, 2007-2008, 2011-2014 Free
|
||||
Software Foundation, Inc.
|
||||
Copyright (C) 1998-2000, 2004-2005, 2007-2008, 2011-2019, 2021-2026
|
||||
Free Software Foundation, Inc.
|
||||
Written by Thomas Tanner, 1998
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -23,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/* Only include this header file once. */
|
||||
@ -37,13 +34,16 @@ or obtained by writing to the Free Software Foundation, Inc.,
|
||||
#include <libltdl/lt_error.h>
|
||||
#include <libltdl/lt_dlloader.h>
|
||||
|
||||
#if defined _WIN32 && !defined __CYGWIN__
|
||||
#include <io.h>
|
||||
#endif
|
||||
|
||||
LT_BEGIN_C_DECLS
|
||||
|
||||
|
||||
/* LT_STRLEN can be used safely on NULL pointers. */
|
||||
#define LT_STRLEN(s) (((s) && (s)[0]) ? strlen (s) : 0)
|
||||
|
||||
|
||||
/* --- DYNAMIC MODULE LOADING API --- */
|
||||
|
||||
|
||||
@ -110,7 +110,6 @@ extern LT_DLSYM_CONST lt_dlsymlist lt__PROGRAM__LTX_preloaded_symbols[];
|
||||
|
||||
|
||||
|
||||
|
||||
/* --- MODULE INFORMATION --- */
|
||||
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
## ltdl.mk -- includable Makefile snippet
|
||||
##
|
||||
## Copyright (C) 2003-2005, 2007, 2011-2014 Free Software Foundation,
|
||||
## Inc.
|
||||
## Copyright (C) 2003-2005, 2007, 2011-2019, 2021-2026 Free Software
|
||||
## Foundation, Inc.
|
||||
## Written by Gary V. Vaughan, 2003
|
||||
##
|
||||
## NOTE: The canonical source of this file is maintained with the
|
||||
@ -23,10 +23,7 @@
|
||||
## GNU Lesser General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU LesserGeneral Public
|
||||
## License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
## copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
## or obtained by writing to the Free Software Foundation, Inc.,
|
||||
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
## License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
#####
|
||||
|
||||
## DO NOT REMOVE THIS LINE -- make depends on it
|
||||
@ -34,11 +31,11 @@
|
||||
# -I$(srcdir) is needed for user that built libltdl with a sub-Automake
|
||||
# (not as a sub-package!) using 'nostdinc':
|
||||
AM_CPPFLAGS += -DLT_CONFIG_H='<$(LT_CONFIG_H)>' \
|
||||
-DLTDL -I. -I$(srcdir) \
|
||||
-Ilibltdl -I$(srcdir)/libltdl \
|
||||
-Ilibltdl/libltdl -I$(srcdir)/libltdl/libltdl
|
||||
-DLTDL -I. -I$(srcdir) -Ilibltdl \
|
||||
-I$(srcdir)/libltdl -Ilibltdl/libltdl \
|
||||
-I$(srcdir)/libltdl/libltdl
|
||||
AM_LDFLAGS += -no-undefined
|
||||
LTDL_VERSION_INFO = -version-info 10:1:3
|
||||
LTDL_VERSION_INFO = -version-info 10:5:3
|
||||
|
||||
noinst_LTLIBRARIES += $(LT_DLLOADERS)
|
||||
|
||||
@ -134,7 +131,9 @@ EXTRA_DIST += libltdl/COPYING.LIB \
|
||||
## Gnulib Makefile.am snippets ##
|
||||
## --------------------------- ##
|
||||
|
||||
if LTARGZH_EXISTS
|
||||
BUILT_SOURCES += libltdl/libltdl/$(LT_ARGZ_H)
|
||||
endif
|
||||
EXTRA_DIST += libltdl/libltdl/lt__argz_.h \
|
||||
libltdl/lt__argz.c
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/* slist.c -- generalised singly linked lists
|
||||
|
||||
Copyright (C) 2000, 2004, 2007-2009, 2011-2014 Free Software
|
||||
Foundation, Inc.
|
||||
Copyright (C) 2000, 2004, 2007-2009, 2011-2019, 2021-2026 Free
|
||||
Software Foundation, Inc.
|
||||
Written by Gary V. Vaughan, 2000
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
@ -23,10 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
297
libtool-next-version.in
Normal file
297
libtool-next-version.in
Normal file
@ -0,0 +1,297 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# Copyright (C) 2019-2026 Free Software Foundation, Inc.
|
||||
#
|
||||
# This program 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 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# This program is a wizard that helps a maintainer update the libtool
|
||||
# version of a shared library, according to the documentation section
|
||||
# 'Updating version info'
|
||||
# <https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html>.
|
||||
#
|
||||
# Let's call the three parts of the version
|
||||
# LTV_CURRENT
|
||||
# LTV_REVISION
|
||||
# LTV_AGE
|
||||
#
|
||||
# The list of steps given in this documentation section
|
||||
# - If the library source code has changed at all since the last update,
|
||||
# then increment LTV_REVISION.
|
||||
# - If any interfaces have been added, removed, or changed since the last
|
||||
# update, increment LTV_CURRENT and set LTV_REVISION to 0.
|
||||
# - If any interfaces have been added since the last public release, then
|
||||
# increment LTV_AGE.
|
||||
# - If any interfaces have been removed or changed since the last public
|
||||
# release, then set LTV_AGE to 0.
|
||||
# leads to mistakes, because
|
||||
# - It does not say what "interfaces" are.
|
||||
# - It does not enforce that applying the second, third, or fourth rule
|
||||
# is only possible after applying the first rule.
|
||||
# - It does not enforce that applying the third or fourth rule is only
|
||||
# possible after applying the second rule.
|
||||
|
||||
# func_usage
|
||||
# outputs to stdout the --help usage message.
|
||||
func_usage ()
|
||||
{
|
||||
echo "\
|
||||
Usage: libtool-next-version [OPTION]... PREVIOUS-LIBRARY CURRENT-LIBRARY
|
||||
|
||||
Determines the next version to use for a libtool library.
|
||||
|
||||
PREVIOUS-LIBRARY is the installed library (in .a or .so format) of the
|
||||
previous release.
|
||||
|
||||
CURRENT-LIBRARY is the installed library (in .a or .so format) of the current
|
||||
release candidate.
|
||||
|
||||
Options:
|
||||
--help print this help and exit
|
||||
--version print version information and exit
|
||||
|
||||
Send patches and bug reports to <@PACKAGE_BUGREPORT@>."
|
||||
}
|
||||
|
||||
# func_version
|
||||
# outputs to stdout the --version message.
|
||||
func_version ()
|
||||
{
|
||||
sed_extract_copyright_year='/Copyright (C)/{
|
||||
s/.*\([0-9][0-9][0-9][0-9]\).*/\1/p
|
||||
q
|
||||
}'
|
||||
copyright_year=`sed -n -e "$sed_extract_copyright_year" < "$0"`
|
||||
echo "libtool-next-version (GNU @PACKAGE@) @VERSION@"
|
||||
echo "Copyright (C) $copyright_year Free Software Foundation, Inc.
|
||||
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
|
||||
This is free software: you are free to change and redistribute it.
|
||||
There is NO WARRANTY, to the extent permitted by law."
|
||||
echo
|
||||
printf 'Written by %s.\n' "Bruno Haible"
|
||||
}
|
||||
|
||||
# func_fatal_error message
|
||||
# outputs to stderr a fatal error message, and terminates the program.
|
||||
func_fatal_error ()
|
||||
{
|
||||
echo "libtool-next-version: *** $1" 1>&2
|
||||
echo "libtool-next-version: *** Stop." 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
# func_tmpdir
|
||||
# creates a temporary directory.
|
||||
# Sets variable
|
||||
# - tmp pathname of freshly created temporary directory
|
||||
func_tmpdir ()
|
||||
{
|
||||
# Use the environment variable TMPDIR, falling back to /tmp. This allows
|
||||
# users to specify a different temporary directory, for example, if their
|
||||
# /tmp is filled up or too small.
|
||||
: "${TMPDIR=/tmp}"
|
||||
{
|
||||
# Use the mktemp program if available. If not available, hide the error
|
||||
# message.
|
||||
tmp=`(umask 077 && mktemp -d -q "$TMPDIR/gtXXXXXX") 2>/dev/null` &&
|
||||
test -n "$tmp" && test -d "$tmp"
|
||||
} ||
|
||||
{
|
||||
# Use a simple mkdir command. It is guaranteed to fail if the directory
|
||||
# already exists. $RANDOM is bash specific and expands to empty in shells
|
||||
# other than bash, ksh and zsh. Its use does not increase security;
|
||||
# rather, it minimizes the probability of failure in a very cluttered /tmp
|
||||
# directory.
|
||||
tmp=$TMPDIR/gt$$-$RANDOM
|
||||
(umask 077 && mkdir "$tmp")
|
||||
} ||
|
||||
{
|
||||
echo "$0: cannot create a temporary directory in $TMPDIR" >&2
|
||||
{ (exit 1); exit 1; }
|
||||
}
|
||||
}
|
||||
|
||||
# func_read_yesno
|
||||
# reads an answer (yes or no).
|
||||
# Sets variable
|
||||
# - ans yes or no
|
||||
func_read_yesno ()
|
||||
{
|
||||
while true; do
|
||||
read ans
|
||||
if test yes = "$ans" || test no = "$ans"; then
|
||||
break
|
||||
fi
|
||||
echo "Invalid answer. Please answer yes or no."
|
||||
done
|
||||
}
|
||||
|
||||
# Command-line option processing.
|
||||
while test $# -gt 0; do
|
||||
case $1 in
|
||||
--help | --hel | --he | --h )
|
||||
func_usage
|
||||
exit 0 ;;
|
||||
--version | --versio | --versi | --vers | --ver | --ve | --v )
|
||||
func_version
|
||||
exit 0 ;;
|
||||
-- ) # Stop option processing
|
||||
shift; break ;;
|
||||
-* )
|
||||
func_fatal_error "unrecognized option: $option"
|
||||
;;
|
||||
* )
|
||||
break ;;
|
||||
esac
|
||||
done
|
||||
|
||||
test $# = 2 || {
|
||||
if test $# -gt 2; then
|
||||
func_fatal_error "too many arguments"
|
||||
else
|
||||
func_fatal_error "Usage: libtool-next-version [OPTION]... PREVIOUS-LIBRARY CURRENT-LIBRARY"
|
||||
fi
|
||||
}
|
||||
|
||||
test -f "$1" || func_fatal_error "file $1 not found"
|
||||
test -f "$2" || func_fatal_error "file $2 not found"
|
||||
|
||||
(type nm) >/dev/null || func_fatal_error "program 'nm' not found"
|
||||
# Determine how to extract a symbol list from the 'nm' output.
|
||||
case `uname -s` in
|
||||
Linux | FreeBSD | NetBSD | OpenBSD) nm_filter="sed -n -e 's/^.* [TWDRB] //p'" ;;
|
||||
Darwin) nm_filter="sed -n -e 's/^.* [TWDRB] _//p'" ;;
|
||||
Minix) nm_filter="sed -n -e 's/^.* [TDC] _//p'" ;;
|
||||
AIX) nm_filter="sed -n -e 's/ *[UD] .*//p' | sed -e 's/^\\.//'" ;;
|
||||
HP-UX) nm_filter="grep '|extern|\\(code\\|data\\) |' | sed -e 's/|.*//' | sed -e 's/ *$//'" ;;
|
||||
IRIX) nm_filter="grep '|\\(GLOB\\|WEAK\\)' | sed -e 's/^.*|//'" ;;
|
||||
SunOS)
|
||||
case `uname -r` in
|
||||
5.10) nm_filter="sed -n -e 's/^.* [ATWDRBV] //p'" ;;
|
||||
*) nm_filter="grep '|\\(GLOB\\|WEAK\\)' | grep -v '|UNDEF' | grep -v '|SUNW' | sed -e 's/^.*|//'" ;;
|
||||
esac
|
||||
;;
|
||||
CYGWIN*) nm_filter="sed -n -e 's/^.* T _//p'" ;;
|
||||
*) func_fatal_error "unknown OS - don't know how to interpret the 'nm' output" ;;
|
||||
esac
|
||||
nm_filter="$nm_filter | LC_ALL=C sort -u"
|
||||
|
||||
func_tmpdir
|
||||
eval "nm '$1' | $nm_filter > '$tmp/symlist1'"
|
||||
eval "nm '$2' | $nm_filter > '$tmp/symlist2'"
|
||||
|
||||
echo "Please enter the libtool version of the library in the previous release."
|
||||
|
||||
printf "LTV_CURRENT="; read current
|
||||
nondigits=`echo "$current" | tr -d '0123456789'`
|
||||
{ test -n "$current" && test -z "$nondigits"; } \
|
||||
|| func_fatal_error "LTV_CURRENT is invalid. It should be a nonnegative integer."
|
||||
|
||||
printf "LTV_REVISION="; read revision
|
||||
nondigits=`echo "$revision" | tr -d '0123456789'`
|
||||
{ test -n "$revision" && test -z "$nondigits"; } \
|
||||
|| func_fatal_error "LTV_REVISION is invalid. It should be a nonnegative integer."
|
||||
|
||||
printf "LTV_AGE="; read age
|
||||
nondigits=`echo "$age" | tr -d '0123456789'`
|
||||
{ test -n "$age" && test -z "$nondigits"; } \
|
||||
|| func_fatal_error "LTV_AGE is invalid. It should be a nonnegative integer."
|
||||
|
||||
echo
|
||||
echo "-------------------------------------------------------------------------------"
|
||||
echo "Did the library's code change at all since the previous version?"
|
||||
echo "You can usually detect this by looking at the source code changes in git;"
|
||||
echo "don't forget source code that is imported from other projects."
|
||||
if cmp "$tmp/symlist1" "$tmp/symlist2" >/dev/null; then
|
||||
echo "Please answer yes or no."
|
||||
else
|
||||
echo "The symbol list changed. Here are the differences:"
|
||||
(cd "$tmp" && diff symlist1 symlist2 | grep '^[<>]' | sed -e 's/^/ /')
|
||||
echo "Please answer yes or no (probably yes)."
|
||||
fi
|
||||
func_read_yesno
|
||||
if test yes = "$ans"; then
|
||||
|
||||
revision=`expr $revision + 1`
|
||||
|
||||
echo
|
||||
echo "-------------------------------------------------------------------------------"
|
||||
echo "Have any interfaces (functions, variables, classes) been removed since the"
|
||||
echo "previous release? What matters here are interfaces at the linker level;"
|
||||
echo "whether macros have been removed from the include files does not matter."
|
||||
if diff "$tmp/symlist1" "$tmp/symlist2" | grep '^< ' >/dev/null; then
|
||||
echo "Some symbols have been removed:"
|
||||
diff "$tmp/symlist1" "$tmp/symlist2" | grep '^< ' | sed -e 's/^< / /'
|
||||
echo "Please answer yes or no (probably yes)."
|
||||
else
|
||||
echo "Please answer yes or no."
|
||||
fi
|
||||
func_read_yesno
|
||||
|
||||
if test yes = "$ans"; then
|
||||
|
||||
current=`expr $current + 1`
|
||||
revision=0
|
||||
age=0
|
||||
|
||||
else
|
||||
|
||||
echo
|
||||
echo "-------------------------------------------------------------------------------"
|
||||
echo "Have any interfaces (functions, variables, classes) been changed since the"
|
||||
echo "previous release? This includes signature changes. It includes also details of"
|
||||
echo "how functions produce their results and the values of variables, IF AND ONLY IF"
|
||||
echo "users of the library are likely use these details in their test suite."
|
||||
echo "Please answer yes or no."
|
||||
func_read_yesno
|
||||
|
||||
if test yes = "$ans"; then
|
||||
|
||||
current=`expr $current + 1`
|
||||
revision=0
|
||||
age=0
|
||||
|
||||
else
|
||||
|
||||
echo
|
||||
echo "-------------------------------------------------------------------------------"
|
||||
echo "Have any interfaces (functions, variables, classes) been added since the"
|
||||
echo "previous release? What matters here are interfaces at the linker level;"
|
||||
echo "whether macros have been added to the include files does not matter."
|
||||
if diff "$tmp/symlist1" "$tmp/symlist2" | grep '^> ' >/dev/null; then
|
||||
echo "Some symbols have been added:"
|
||||
diff "$tmp/symlist1" "$tmp/symlist2" | grep '^> ' | sed -e 's/^> / /'
|
||||
echo "Please answer yes or no (probably yes)."
|
||||
else
|
||||
echo "Please answer yes or no."
|
||||
fi
|
||||
func_read_yesno
|
||||
|
||||
if test yes = "$ans"; then
|
||||
|
||||
current=`expr $current + 1`
|
||||
revision=0
|
||||
age=`expr $age + 1`
|
||||
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "-------------------------------------------------------------------------------"
|
||||
echo "This is the libtool version of the library for the new release:"
|
||||
echo "LTV_CURRENT=$current"
|
||||
echo "LTV_REVISION=$revision"
|
||||
echo "LTV_AGE=$age"
|
||||
102
libtoolize.in
102
libtoolize.in
@ -1,9 +1,9 @@
|
||||
#! /bin/sh
|
||||
#! /usr/bin/env sh
|
||||
|
||||
# Prepare a package to use libtool.
|
||||
# Written by Gary V. Vaughan <gary@gnu.org>, 2003
|
||||
|
||||
# Copyright (C) 2003-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2003-2019, 2021-2026 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.
|
||||
|
||||
@ -63,6 +63,27 @@
|
||||
# Set a version string.
|
||||
scriptversion='(GNU @PACKAGE@) @VERSION@'
|
||||
|
||||
# func_version
|
||||
# ------------
|
||||
# Echo version message to standard output and exit.
|
||||
func_version ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
year=`date +%Y`
|
||||
|
||||
cat <<EOF
|
||||
$progname $scriptversion
|
||||
Copyright (C) $year Free Software Foundation, Inc.
|
||||
License GPLv2+: GNU GPL version 2 or later <https://gnu.org/licenses/gpl.html>
|
||||
This is free software: you are free to change and redistribute it.
|
||||
There is NO WARRANTY, to the extent permitted by law.
|
||||
|
||||
Written by Gary V. Vaughan <gary@gnu.org>, 2003
|
||||
EOF
|
||||
|
||||
exit $?
|
||||
}
|
||||
|
||||
## ---------------- ##
|
||||
## Options parsing. ##
|
||||
@ -94,7 +115,12 @@ usage_message="Options:
|
||||
"
|
||||
|
||||
# Additional text appended to 'usage_message' in response to '--help'.
|
||||
long_help_message=$long_help_message"
|
||||
func_help ()
|
||||
{
|
||||
$debug_cmd
|
||||
|
||||
func_usage_message
|
||||
$ECHO "$long_help_message
|
||||
'environment' show warnings about LIBTOOLIZE_OPTIONS content
|
||||
'file' show warnings about file copying and linking
|
||||
|
||||
@ -114,14 +140,15 @@ When reporting a bug, please describe a test case to reproduce it and
|
||||
include the following information:
|
||||
|
||||
host-triplet: @host_triplet@
|
||||
version: $progname (GNU @PACKAGE@) @VERSION@
|
||||
version: $progname $scriptversion
|
||||
automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
|
||||
autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
|
||||
|
||||
Report bugs to <@PACKAGE_BUGREPORT@>.
|
||||
GNU @PACKAGE@ home page: <@PACKAGE_URL@>.
|
||||
General help using GNU software: <http://www.gnu.org/gethelp/>.
|
||||
"
|
||||
General help using GNU software: <https://www.gnu.org/gethelp/>."
|
||||
exit 0
|
||||
}
|
||||
|
||||
warning_categories='environment file'
|
||||
|
||||
@ -151,11 +178,11 @@ libtoolize_environment_options ()
|
||||
|
||||
# Pass back the updated list of options.
|
||||
if test -n "$envopts"; then
|
||||
func_quote_for_eval "$envopts" ${1+"$@"}
|
||||
func_quote eval "$envopts" ${1+"$@"}
|
||||
else
|
||||
func_quote_for_eval ${1+"$@"}
|
||||
func_quote eval ${1+"$@"}
|
||||
fi
|
||||
libtoolize_environment_options_result=$func_quote_for_eval_result
|
||||
libtoolize_environment_options_result=$func_quote_result
|
||||
}
|
||||
func_add_hook func_options_prep libtoolize_environment_options
|
||||
|
||||
@ -179,10 +206,6 @@ libtoolize_options_prep ()
|
||||
opt_subproject=false
|
||||
|
||||
ltdl_mode=
|
||||
|
||||
# Pass back the list of options.
|
||||
func_quote_for_eval ${1+"$@"}
|
||||
libtoolize_options_prep_result=$func_quote_for_eval_result
|
||||
}
|
||||
func_add_hook func_options_prep libtoolize_options_prep
|
||||
|
||||
@ -252,8 +275,8 @@ libtoolize_parse_options ()
|
||||
done
|
||||
|
||||
# save modified positional parameters for caller
|
||||
func_quote_for_eval ${1+"$@"}
|
||||
libtoolize_parse_options_result=$func_quote_for_eval_result
|
||||
func_quote eval ${1+"$@"}
|
||||
libtoolize_parse_options_result=$func_quote_result
|
||||
}
|
||||
func_add_hook func_parse_options libtoolize_parse_options
|
||||
|
||||
@ -286,8 +309,8 @@ libtoolize_validate_options ()
|
||||
func_fatal_help "unknown additional arguments: '${1+$@}'"
|
||||
|
||||
# Pass back the empty argument list
|
||||
func_quote_for_eval ${1+"$@"}
|
||||
libtoolize_validate_options_result=$func_quote_for_eval_result
|
||||
func_quote eval ${1+"$@"}
|
||||
libtoolize_validate_options_result=$func_quote_result
|
||||
}
|
||||
func_add_hook func_validate_options libtoolize_validate_options
|
||||
|
||||
@ -414,6 +437,33 @@ func_copy ()
|
||||
else
|
||||
my_copycmd=$LN_S
|
||||
my_copy_type=linking
|
||||
|
||||
# The Windows linker, mklink, swaps link_name and target.
|
||||
case $my_copycmd in
|
||||
*mklink*)
|
||||
my_temp=$my_destfile
|
||||
my_destfile=$my_srcfile
|
||||
my_srcfile=$my_temp
|
||||
|
||||
my_copy_msg="$my_copy_type file '$my_destfile'"
|
||||
$opt_verbose && my_copy_msg="$my_copycmd $my_srcfile $my_destdir"
|
||||
|
||||
my_destfile=`cygpath -aw "$my_destfile"`
|
||||
my_srcfile=`cygpath -aw "$my_srcfile"`
|
||||
|
||||
if test -d "$my_destfile"; then
|
||||
case $host_os,$build_os in
|
||||
mingw*,cygwin*)
|
||||
my_copycmd="$my_copycmd /d" ;;
|
||||
mingw*,*) # MSYS
|
||||
my_copycmd="$my_copycmd //d" ;;
|
||||
*)
|
||||
my_copycmd="$my_copycmd /d" ;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
*) ;;
|
||||
esac
|
||||
fi
|
||||
my_copy_msg="$my_copy_type file '$my_destfile'"
|
||||
$opt_verbose && my_copy_msg="$my_copycmd $my_srcfile $my_destdir"
|
||||
@ -514,7 +564,7 @@ func_serial_max ()
|
||||
my_sed_rest='s/^[0-9][1-9]*\.*//'
|
||||
my_sed_digits='s/[^0-9.]//g'
|
||||
|
||||
# Incase they turn out to be the same, we'll set it to empty
|
||||
# In case they turn out to be the same, we'll set it to empty
|
||||
func_serial_max_result=
|
||||
|
||||
test "X$1$2" = X`$ECHO "$1$2" | $SED "$my_sed_digits"` || {
|
||||
@ -655,6 +705,8 @@ func_serial_update ()
|
||||
|
||||
test -f "$my_srcfile" || func_fatal_error "'$my_srcfile' does not exist."
|
||||
|
||||
my_src_serial=
|
||||
my_dest_serial=
|
||||
if test -f "$my_destfile"; then
|
||||
my_src_serial=`func_serial "$my_srcfile" "$my_macro_regex"`
|
||||
my_dest_serial=`func_serial "$my_destfile" "$my_macro_regex"`
|
||||
@ -680,7 +732,7 @@ func_serial_update ()
|
||||
func_notquiet_hdr "$my_msg_var" "'$my_destfile' is already up to date."
|
||||
fi
|
||||
|
||||
# Do this after the copy for hand maintained 'aclocal.m4', incase
|
||||
# Do this after the copy for hand maintained 'aclocal.m4', in case
|
||||
# it has 'm4_include([DESTFILE])', so the copy effectively already
|
||||
# updated 'aclocal.m4'.
|
||||
my_included_files=`func_included_files aclocal.m4`
|
||||
@ -694,7 +746,7 @@ func_serial_update ()
|
||||
# serial tags, so the update message will be correctly given
|
||||
# if aclocal.m4 contains an untagged --i.e older-- macro file):
|
||||
*)
|
||||
if test -f aclocal.m4; then
|
||||
if test -f aclocal.m4 && test '' != "$my_src_serial"; then
|
||||
func_serial_max \
|
||||
"$my_src_serial" `func_serial aclocal.m4 "$my_macro_regex"`
|
||||
if test "X$my_src_serial" = "X$func_serial_max_result"; then
|
||||
@ -945,7 +997,15 @@ func_install_pkgltdl_files ()
|
||||
;;
|
||||
|
||||
config-h.in)
|
||||
test subproject = "$ltdl_mode" || continue
|
||||
test subproject = "$ltdl_mode" && {
|
||||
# Always copy config-h.in, otherwise automake's autoheader rules
|
||||
# will change the destination's timestamp if it is symlinked.
|
||||
( opt_copy=:
|
||||
func_copy "$file" "$pkgltdldir" "$ltdl_dir" \
|
||||
pkgltdl_header "$my_copy_filter"
|
||||
)
|
||||
}
|
||||
continue
|
||||
;;
|
||||
|
||||
configure)
|
||||
|
||||
2
m4/.gitignore
vendored
2
m4/.gitignore
vendored
@ -4,3 +4,5 @@
|
||||
/gnulib-comp.m4
|
||||
/gnulib-tool.m4
|
||||
/ltversion.m4
|
||||
/zzgnulib.m4
|
||||
/init-package-version.m4
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
# autobuild.m4 serial 7
|
||||
dnl Copyright (C) 2004, 2006-2014 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 2004, 2006-2019, 2021-2026 Free Software Foundation,
|
||||
dnl Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
1424
m4/libtool.m4
vendored
1424
m4/libtool.m4
vendored
File diff suppressed because it is too large
Load Diff
@ -1,15 +1,18 @@
|
||||
# Portability macros for glibc argz. -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004-2007, 2011-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2004-2007, 2011-2019, 2021-2026 Free Software
|
||||
# Foundation, Inc.
|
||||
# Written by Gary V. Vaughan <gary@gnu.org>
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 1 ltargz.m4
|
||||
# serial 2 ltargz.m4
|
||||
|
||||
AC_DEFUN([LT_FUNC_ARGZ], [
|
||||
dnl Required for use of '$SED' in Cygwin configuration.
|
||||
AC_REQUIRE([AC_PROG_SED])dnl
|
||||
AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT])
|
||||
|
||||
AC_CHECK_TYPES([error_t],
|
||||
@ -48,7 +51,7 @@ AS_IF([test -z "$LT_ARGZ_H"],
|
||||
lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/'
|
||||
save_IFS=$IFS
|
||||
IFS=-.
|
||||
set x `uname -r | sed -e "$lt_sed_extract_leading_digits"`
|
||||
set x `uname -r | $SED -e "$lt_sed_extract_leading_digits"`
|
||||
IFS=$save_IFS
|
||||
lt_os_major=${2-0}
|
||||
lt_os_minor=${3-0}
|
||||
|
||||
26
m4/ltdl.m4
26
m4/ltdl.m4
@ -1,13 +1,14 @@
|
||||
# ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 1999-2008, 2011-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1999-2008, 2011-2019, 2021-2026 Free Software
|
||||
# Foundation, Inc.
|
||||
# Written by Thomas Tanner, 1999
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 20 LTDL_INIT
|
||||
# serial 24 LTDL_INIT
|
||||
|
||||
# LT_CONFIG_LTDL_DIR(DIRECTORY, [LTDL-MODE])
|
||||
# ------------------------------------------
|
||||
@ -335,7 +336,7 @@ AC_CONFIG_COMMANDS_PRE([
|
||||
if test -n "$_LT_LIBOBJS"; then
|
||||
# Remove the extension.
|
||||
_lt_sed_drop_objext='s/\.o$//;s/\.obj$//'
|
||||
for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$_lt_sed_drop_objext" | sort -u`; do
|
||||
for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | $SED "$_lt_sed_drop_objext" | sort -u`; do
|
||||
_ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext"
|
||||
_ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo"
|
||||
done
|
||||
@ -434,7 +435,8 @@ esac
|
||||
|
||||
m4_ifdef([AM_CONDITIONAL],
|
||||
[AM_CONDITIONAL(INSTALL_LTDL, test no != "${enable_ltdl_install-no}")
|
||||
AM_CONDITIONAL(CONVENIENCE_LTDL, test no != "${enable_ltdl_convenience-no}")])
|
||||
AM_CONDITIONAL(CONVENIENCE_LTDL, test no != "${enable_ltdl_convenience-no}")
|
||||
AM_CONDITIONAL(LTARGZH_EXISTS, test -n "$LT_ARGZ_H")])
|
||||
])# _LT_ENABLE_INSTALL
|
||||
|
||||
|
||||
@ -465,15 +467,12 @@ AC_CACHE_CHECK([whether deplibs are loaded by dlopen],
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
bitrig*)
|
||||
lt_cv_sys_dlopen_deplibs=yes
|
||||
;;
|
||||
darwin*)
|
||||
# Assuming the user has installed a libdl from somewhere, this is true
|
||||
# If you are looking for one http://www.opendarwin.org/projects/dlcompat
|
||||
lt_cv_sys_dlopen_deplibs=yes
|
||||
;;
|
||||
freebsd* | dragonfly*)
|
||||
freebsd* | dragonfly* | midnightbsd*)
|
||||
lt_cv_sys_dlopen_deplibs=yes
|
||||
;;
|
||||
gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu)
|
||||
@ -496,7 +495,10 @@ AC_CACHE_CHECK([whether deplibs are loaded by dlopen],
|
||||
# at 6.2 and later dlopen does load deplibs.
|
||||
lt_cv_sys_dlopen_deplibs=yes
|
||||
;;
|
||||
netbsd*)
|
||||
*-mlibc)
|
||||
lt_cv_sys_dlopen_deplibs=yes
|
||||
;;
|
||||
netbsd* | netbsdelf*-gnu)
|
||||
lt_cv_sys_dlopen_deplibs=yes
|
||||
;;
|
||||
openbsd*)
|
||||
@ -712,7 +714,7 @@ darwin[[1567]].*)
|
||||
beos*)
|
||||
LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la"
|
||||
;;
|
||||
cygwin* | mingw* | pw32*)
|
||||
cygwin* | mingw* | windows* | pw32*)
|
||||
AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include <sys/cygwin.h>]])
|
||||
LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la"
|
||||
;;
|
||||
@ -760,7 +762,7 @@ AC_CACHE_CHECK([for _ prefix in compiled symbols],
|
||||
[lt_cv_sys_symbol_underscore=no
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
void nm_test_func(){}
|
||||
int main(){nm_test_func;return 0;}
|
||||
int main(void){nm_test_func;return 0;}
|
||||
_LT_EOF
|
||||
if AC_TRY_EVAL(ac_compile); then
|
||||
# Now try to grab the symbols.
|
||||
@ -864,7 +866,7 @@ _LT_EOF
|
||||
# define RTLD_NOW 0
|
||||
# endif
|
||||
#endif
|
||||
int main () {
|
||||
int main (void) {
|
||||
void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW);
|
||||
int status = $libltdl_dlunknown;
|
||||
if (handle) {
|
||||
|
||||
162
m4/ltoptions.m4
vendored
162
m4/ltoptions.m4
vendored
@ -1,14 +1,14 @@
|
||||
# Helper functions for option handling. -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004-2005, 2007-2009, 2011-2014 Free Software
|
||||
# Foundation, Inc.
|
||||
# Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2026 Free
|
||||
# Software Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 8 ltoptions.m4
|
||||
# serial 12 ltoptions.m4
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
|
||||
@ -80,6 +80,7 @@ m4_if([$1],[LT_INIT],[
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [cxx-stdlib no-cxx-stdlib], [_LT_ENABLE_CXX_STDLIB])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
|
||||
[_LT_ENABLE_FAST_INSTALL])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
|
||||
@ -128,7 +129,7 @@ LT_OPTION_DEFINE([LT_INIT], [win32-dll],
|
||||
[enable_win32_dll=yes
|
||||
|
||||
case $host in
|
||||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
|
||||
*-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-cegcc*)
|
||||
AC_CHECK_TOOL(AS, as, false)
|
||||
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
|
||||
AC_CHECK_TOOL(OBJDUMP, objdump, false)
|
||||
@ -323,29 +324,39 @@ dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
|
||||
|
||||
# _LT_WITH_AIX_SONAME([DEFAULT])
|
||||
# ----------------------------------
|
||||
# implement the --with-aix-soname flag, and support the `aix-soname=aix'
|
||||
# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
|
||||
# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'.
|
||||
# implement the --enable-aix-soname configure option, and support the
|
||||
# `aix-soname=aix' and `aix-soname=both' and `aix-soname=svr4' LT_INIT options.
|
||||
# DEFAULT is either `aix', `both', or `svr4'. If omitted, it defaults to `aix'.
|
||||
m4_define([_LT_WITH_AIX_SONAME],
|
||||
[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
|
||||
shared_archive_member_spec=
|
||||
case $host,$enable_shared in
|
||||
power*-*-aix[[5-9]]*,yes)
|
||||
AC_MSG_CHECKING([which variant of shared library versioning to provide])
|
||||
AC_ARG_WITH([aix-soname],
|
||||
[AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
|
||||
AC_ARG_ENABLE([aix-soname],
|
||||
[AS_HELP_STRING([--enable-aix-soname=aix|svr4|both],
|
||||
[shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
|
||||
[case $withval in
|
||||
aix|svr4|both)
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR([Unknown argument to --with-aix-soname])
|
||||
;;
|
||||
esac
|
||||
lt_cv_with_aix_soname=$with_aix_soname],
|
||||
[AC_CACHE_VAL([lt_cv_with_aix_soname],
|
||||
[lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
|
||||
with_aix_soname=$lt_cv_with_aix_soname])
|
||||
[case $enableval in
|
||||
aix|svr4|both)
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR([Unknown argument to --enable-aix-soname])
|
||||
;;
|
||||
esac
|
||||
lt_cv_with_aix_soname=$enable_aix_soname],
|
||||
[_AC_ENABLE_IF([with], [aix-soname],
|
||||
[case $withval in
|
||||
aix|svr4|both)
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR([Unknown argument to --with-aix-soname])
|
||||
;;
|
||||
esac
|
||||
lt_cv_with_aix_soname=$with_aix_soname],
|
||||
[AC_CACHE_VAL([lt_cv_with_aix_soname],
|
||||
[lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)])
|
||||
enable_aix_soname=$lt_cv_with_aix_soname])
|
||||
with_aix_soname=$enable_aix_soname
|
||||
AC_MSG_RESULT([$with_aix_soname])
|
||||
if test aix != "$with_aix_soname"; then
|
||||
# For the AIX way of multilib, we name the shared archive member
|
||||
@ -360,8 +371,16 @@ power*-*-aix[[5-9]]*,yes)
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
power*-*-aix[[5-9]]*,'')
|
||||
AC_MSG_WARN([for $host, specify if building shared libraries for versioning (svr4|both)])
|
||||
AC_MSG_CHECKING([which variant of shared library versioning to provide])
|
||||
with_aix_soname=aix
|
||||
AC_MSG_RESULT([(default) $with_aix_soname])
|
||||
;;
|
||||
*)
|
||||
AC_MSG_CHECKING([which variant of shared library versioning to provide])
|
||||
with_aix_soname=aix
|
||||
AC_MSG_RESULT([(default) $with_aix_soname])
|
||||
;;
|
||||
esac
|
||||
|
||||
@ -376,30 +395,50 @@ LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
|
||||
|
||||
# _LT_WITH_PIC([MODE])
|
||||
# --------------------
|
||||
# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
|
||||
# implement the --enable-pic flag, and support the 'pic-only' and 'no-pic'
|
||||
# LT_INIT options.
|
||||
# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'.
|
||||
m4_define([_LT_WITH_PIC],
|
||||
[AC_ARG_WITH([pic],
|
||||
[AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
|
||||
[AC_ARG_ENABLE([pic],
|
||||
[AS_HELP_STRING([--enable-pic@<:@=PKGS@:>@],
|
||||
[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
|
||||
[lt_p=${PACKAGE-default}
|
||||
case $withval in
|
||||
yes|no) pic_mode=$withval ;;
|
||||
*)
|
||||
pic_mode=default
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
|
||||
for lt_pkg in $withval; do
|
||||
IFS=$lt_save_ifs
|
||||
if test "X$lt_pkg" = "X$lt_p"; then
|
||||
pic_mode=yes
|
||||
fi
|
||||
done
|
||||
IFS=$lt_save_ifs
|
||||
;;
|
||||
esac],
|
||||
[pic_mode=m4_default([$1], [default])])
|
||||
case $enableval in
|
||||
yes|no) pic_mode=$enableval ;;
|
||||
*)
|
||||
pic_mode=default
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
|
||||
for lt_pkg in $enableval; do
|
||||
IFS=$lt_save_ifs
|
||||
if test "X$lt_pkg" = "X$lt_p"; then
|
||||
pic_mode=yes
|
||||
fi
|
||||
done
|
||||
IFS=$lt_save_ifs
|
||||
;;
|
||||
esac],
|
||||
[dnl Continue to support --with-pic and --without-pic, for backward
|
||||
dnl compatibility.
|
||||
_AC_ENABLE_IF([with], [pic],
|
||||
[lt_p=${PACKAGE-default}
|
||||
case $withval in
|
||||
yes|no) pic_mode=$withval ;;
|
||||
*)
|
||||
pic_mode=default
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
|
||||
for lt_pkg in $withval; do
|
||||
IFS=$lt_save_ifs
|
||||
if test "X$lt_pkg" = "X$lt_p"; then
|
||||
pic_mode=yes
|
||||
fi
|
||||
done
|
||||
IFS=$lt_save_ifs
|
||||
;;
|
||||
esac],
|
||||
[pic_mode=m4_default([$1], [default])])]
|
||||
)
|
||||
|
||||
_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
|
||||
])# _LT_WITH_PIC
|
||||
@ -418,6 +457,49 @@ put the 'pic-only' option into LT_INIT's first parameter.])
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
|
||||
|
||||
|
||||
# _LT_ENABLE_CXX_STDLIB([MODE])
|
||||
# --------------------
|
||||
# implement the --enable-cxx-stdlib flag, and support the 'cxx-stdlib' and 'no-cxx-stdlib'
|
||||
# LT_INIT options.
|
||||
# MODE is either 'yes' or 'no'. If omitted, it defaults to 'no'.
|
||||
m4_define([_LT_ENABLE_CXX_STDLIB],
|
||||
[m4_define([_LT_ENABLE_CXX_STDLIB_DEFAULT], [m4_if($1, yes, yes, no)])dnl
|
||||
stdlibflag=-nostdlib
|
||||
AC_ARG_ENABLE([cxx-stdlib],
|
||||
[AS_HELP_STRING([--enable-cxx-stdlib@<:@=PKGS@:>@],
|
||||
[let the compiler frontend decide what standard libraries to link when building C++ shared libraries and modules @<:@default=]_LT_ENABLE_CXX_STDLIB_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_cxx_stdlib=yes ;;
|
||||
no) enable_cxx_stdlib=no ;;
|
||||
*)
|
||||
enable_cxx_stdlib=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
|
||||
for pkg in $enableval; do
|
||||
IFS=$lt_save_ifs
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_cxx_stdlib=yes
|
||||
fi
|
||||
done
|
||||
IFS=$lt_save_ifs
|
||||
;;
|
||||
esac],
|
||||
[enable_cxx_stdlib=]_LT_ENABLE_CXX_STDLIB_DEFAULT)
|
||||
|
||||
if test yes = "$enable_cxx_stdlib"; then
|
||||
stdlibflag=
|
||||
fi
|
||||
|
||||
_LT_DECL([], [enable_cxx_stdlib], [0], [Whether to let the compiler frontend decide what standard libraries to link when building C++ shared libraries and modules])dnl
|
||||
_LT_DECL([], [stdlibflag], [0], [Flag used for specifying not to link standard libraries])dnl
|
||||
])# _LT_ENABLE_CXX_STDLIB
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [cxx-stdlib], [_LT_ENABLE_CXX_STDLIB([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [no-cxx-stdlib], [_LT_ENABLE_CXX_STDLIB([no])])
|
||||
|
||||
|
||||
## ----------------- ##
|
||||
## LTDL_INIT Options ##
|
||||
## ----------------- ##
|
||||
|
||||
2
m4/ltsugar.m4
vendored
2
m4/ltsugar.m4
vendored
@ -1,6 +1,6 @@
|
||||
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2004-2005, 2007-2008, 2011-2014 Free Software
|
||||
# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2026 Free Software
|
||||
# Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
# ltversion.m4 -- version numbers -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004, 2011-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2004, 2011-2019, 2021-2026 Free Software Foundation,
|
||||
# Inc.
|
||||
# Written by Scott James Remnant, 2004
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
|
||||
4
m4/lt~obsolete.m4
vendored
4
m4/lt~obsolete.m4
vendored
@ -1,7 +1,7 @@
|
||||
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2004-2005, 2007, 2009, 2011-2014 Free Software
|
||||
# Foundation, Inc.
|
||||
# Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2026 Free
|
||||
# Software Foundation, Inc.
|
||||
# Written by Scott James Remnant, 2004.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
|
||||
83
m4/m4.m4
Normal file
83
m4/m4.m4
Normal file
@ -0,0 +1,83 @@
|
||||
# m4.m4 serial 12
|
||||
|
||||
# Copyright (C) 2000, 2006-2019, 2021-2026 Free Software Foundation,
|
||||
# Inc.
|
||||
|
||||
# Copying and distribution of this file, with or without modification,
|
||||
# are permitted in any medium without royalty provided the copyright
|
||||
# notice and this notice are preserved. This file is offered as-is,
|
||||
# without warranty of any kind.
|
||||
|
||||
# AC_PROG_GNU_M4
|
||||
# --------------
|
||||
# Check for GNU M4, at least 1.4.6 (all earlier versions had bugs in
|
||||
# trace support and regexp support):
|
||||
# http://lists.gnu.org/archive/html/bug-gnu-utils/2006-11/msg00096.html
|
||||
# http://lists.gnu.org/archive/html/bug-autoconf/2009-07/msg00023.html
|
||||
# Also, check whether --error-output (through 1.4.x) or --debugfile (2.0)
|
||||
# is supported, and AC_SUBST M4_DEBUGFILE accordingly.
|
||||
# Also avoid versions of m4 that trigger strstr bugs.
|
||||
AC_DEFUN([AC_PROG_GNU_M4],
|
||||
[AC_ARG_VAR([M4], [Location of GNU M4 1.4.6 or later. Defaults to the first
|
||||
program of 'm4', 'gm4', or 'gnum4' on PATH that meets Autoconf needs.])
|
||||
AC_CACHE_CHECK([for GNU M4 that supports accurate traces], [ac_cv_path_M4],
|
||||
[rm -f conftest.m4f
|
||||
ac_had_posixly_correct=${POSIXLY_CORRECT:+yes}
|
||||
AS_UNSET([POSIXLY_CORRECT])
|
||||
AC_PATH_PROGS_FEATURE_CHECK([M4], [m4 gm4 gnum4],
|
||||
[dnl Creative quoting here to avoid raw dnl and ifdef in configure.
|
||||
# Root out GNU M4 1.4.5, as well as non-GNU m4 that ignore -t, -F.
|
||||
# Root out GNU M4 1.4.15 with buggy false negative replacement strstr.
|
||||
# Root out Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 with buggy
|
||||
# false positive strstr.
|
||||
ac_snippet=change'quote(<,>)in''dir(<if''def>,mac,bug)'
|
||||
ac_snippet=${ac_snippet}pat'subst(a,\(b\)\|\(a\),\1)d'nl
|
||||
ac_snippet=$ac_snippet${as_nl}if'else(in''dex(..wi.d.,.d.),-1,bug)'
|
||||
ac_snippet=$ac_snippet${as_nl}if'else(in''dex(dnl
|
||||
;:11-:12-:12-:12-:12-:12-:12-:12-:12.:12.:12.:12.:12.:12.:12.:12.:12-,dnl
|
||||
:12-:12-:12-:12-:12-:12-:12-:12-),-1,,strstr-bug2)'
|
||||
test -z "`$ac_path_M4 -F conftest.m4f </dev/null 2>&1`" \
|
||||
&& test -z "`AS_ECHO([$ac_snippet]) | $ac_path_M4 --trace=mac 2>&1`" \
|
||||
&& test -f conftest.m4f \
|
||||
&& ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=:
|
||||
rm -f conftest.m4f],
|
||||
[AC_MSG_ERROR([no acceptable m4 could be found in \$PATH.
|
||||
GNU M4 1.4.6 or later is required; 1.4.16 or newer is recommended.
|
||||
GNU M4 1.4.15 uses a buggy replacement strstr on some systems.
|
||||
Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 have another strstr bug.])])])
|
||||
M4=$ac_cv_path_M4
|
||||
AC_CACHE_CHECK([whether $ac_cv_path_M4 accepts --gnu],
|
||||
[ac_cv_prog_gnu_m4_gnu],
|
||||
[case `$M4 --help < /dev/null 2>&1` in
|
||||
*--gnu*) ac_cv_prog_gnu_m4_gnu=yes ;;
|
||||
*) ac_cv_prog_gnu_m4_gnu=no ;;
|
||||
esac])
|
||||
if test yes = "$ac_cv_prog_gnu_m4_gnu"; then
|
||||
M4_GNU=--gnu
|
||||
else
|
||||
M4_GNU=
|
||||
fi
|
||||
AC_SUBST([M4_GNU])
|
||||
if test yes = "$ac_had_posixly_correct"; then
|
||||
POSIXLY_CORRECT=:
|
||||
if test no = $ac_cv_prog_gnu_m4_gnu; then
|
||||
AC_MSG_WARN([the version of M4 that was found does not support -g])
|
||||
AC_MSG_WARN([using it with POSIXLY_CORRECT set may cause problems])
|
||||
fi
|
||||
fi
|
||||
AC_CACHE_CHECK([how m4 supports trace files], [ac_cv_prog_gnu_m4_debugfile],
|
||||
[case `$M4 --help < /dev/null 2>&1` in
|
||||
*debugfile*) ac_cv_prog_gnu_m4_debugfile=--debugfile ;;
|
||||
*) ac_cv_prog_gnu_m4_debugfile=--error-output ;;
|
||||
esac])
|
||||
AC_SUBST([M4_DEBUGFILE], [$ac_cv_prog_gnu_m4_debugfile])
|
||||
])
|
||||
|
||||
# Compatibility for bootstrapping with Autoconf 2.61.
|
||||
dnl FIXME - replace this with AC_PREREQ([2.62]) after the release.
|
||||
# AC_PATH_PROGS_FEATURE_CHECK was added the same time the slightly broken,
|
||||
# undocumented _AC_PATH_PROG_FEATURE_CHECK was deleted.
|
||||
m4_ifndef([AC_PATH_PROGS_FEATURE_CHECK],
|
||||
[m4_define([AC_PATH_PROGS_FEATURE_CHECK],
|
||||
[_AC_PATH_PROG_FEATURE_CHECK([$1], [$2], [$3], [$5])
|
||||
])])
|
||||
@ -1,6 +1,7 @@
|
||||
# am-subdir.at -- libtool subdir-objects support -*- Autotest -*-
|
||||
|
||||
# Copyright (C) 2004, 2008, 2011-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2004, 2008, 2011-2019, 2021-2026 Free Software
|
||||
# Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
# This file is part of GNU Libtool.
|
||||
@ -16,10 +17,7 @@
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Libtool; see the file COPYING. If not, a copy
|
||||
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
||||
# or obtained by writing to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
# along with GNU Libtool. If not, see <https://www.gnu.org/licenses/>.
|
||||
####
|
||||
|
||||
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
# dmacks.at -- test for dmacks bug -*- Autotest -*-
|
||||
#
|
||||
# Copyright (C) 2007-2008, 2010-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2007-2008, 2010-2019, 2021-2026 Free Software
|
||||
# Foundation, Inc.
|
||||
# Written by Peter O'Gorman, 2007
|
||||
#
|
||||
# This file is part of GNU Libtool.
|
||||
@ -16,10 +17,7 @@
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Libtool; see the file COPYING. If not, a copy
|
||||
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
||||
# or obtained by writing to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
# along with GNU Libtool. If not, see <https://www.gnu.org/licenses/>.
|
||||
####
|
||||
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# bindir.at - Test the -bindir option
|
||||
#
|
||||
# Copyright (C) 2009-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2009-2019, 2021-2026 Free Software Foundation, Inc.
|
||||
# Written by Dave Korn, 2009
|
||||
#
|
||||
# This file is part of GNU Libtool.
|
||||
@ -16,10 +16,7 @@
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Libtool; see the file COPYING. If not, a copy
|
||||
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
||||
# or obtained by writing to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
# along with GNU Libtool. If not, see <https://www.gnu.org/licenses/>.
|
||||
####
|
||||
|
||||
####
|
||||
@ -65,7 +62,7 @@ AT_SETUP([bindir basic lib test])
|
||||
|
||||
bindirneeded=:
|
||||
case $host_os in
|
||||
cygwin*|mingw*|cegcc*)
|
||||
cygwin*|mingw*|windows*|cegcc*)
|
||||
;;
|
||||
*)
|
||||
bindirneeded=false
|
||||
@ -174,7 +171,7 @@ AT_SETUP([bindir install tests])
|
||||
|
||||
bindirneeded=:
|
||||
case $host_os in
|
||||
cygwin*|mingw*|cegcc*)
|
||||
cygwin*|mingw*|windows*|cegcc*)
|
||||
;;
|
||||
*)
|
||||
bindirneeded=false
|
||||
|
||||
61
tests/bug_42313.at
Normal file
61
tests/bug_42313.at
Normal file
@ -0,0 +1,61 @@
|
||||
# bug_42313.at -- bug 42313 -*- Autotest -*-
|
||||
|
||||
# Copyright (C) 2024-2026 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of GNU Libtool.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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, see <https://www.gnu.org/licenses/>.
|
||||
####
|
||||
|
||||
AT_BANNER([Testing bug 42313:])
|
||||
|
||||
AT_SETUP([verify no autoscan AC_PROG_RANLIB warning])
|
||||
|
||||
AT_DATA([configure.ac],
|
||||
[[
|
||||
AC_PREREQ([2.69])
|
||||
AC_INIT([testcase], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[)
|
||||
LT_INIT
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
AC_OUTPUT
|
||||
]])
|
||||
|
||||
LT_AT_LIBTOOLIZE([--install])
|
||||
LT_AT_AUTORECONF([--install])
|
||||
AT_CHECK([autoscan || exit 77], [0], [stdout], [stderr])
|
||||
AT_CHECK([$GREP -- 'AC_PROG_RANLIB' stderr], [1], [ignore])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
AT_SETUP([check AC_PROG_RANLIB declaration has warning])
|
||||
|
||||
AT_DATA([configure.ac],
|
||||
[[
|
||||
AC_PREREQ([2.69])
|
||||
AC_INIT([testcase], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[)
|
||||
LT_INIT
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
AC_PROG_CPP
|
||||
AC_PROG_CXX
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_MAKE_SET
|
||||
AC_PROG_RANLIB
|
||||
AC_OUTPUT
|
||||
]])
|
||||
|
||||
LT_AT_LIBTOOLIZE([--install])
|
||||
LT_AT_AUTORECONF([--install])
|
||||
AT_CHECK([$GREP -- 'obsolete' stdout], [0], [ignore])
|
||||
|
||||
AT_CLEANUP
|
||||
67
tests/bug_62343.at
Normal file
67
tests/bug_62343.at
Normal file
@ -0,0 +1,67 @@
|
||||
# bug_62343.at -- bug 62343 -*- Autotest -*-
|
||||
|
||||
# Copyright (C) 2024-2026 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of GNU Libtool.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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, see <https://www.gnu.org/licenses/>.
|
||||
####
|
||||
|
||||
AT_BANNER([Testing bug 62343:])
|
||||
|
||||
AT_SETUP([Use -no-canonical-prefixes flag])
|
||||
|
||||
AT_CHECK([$LIBTOOL --config | $EGREP '^build_libtool_libs=no' && (exit 77)], 1)
|
||||
|
||||
AT_DATA([x.cpp],
|
||||
[[
|
||||
#include <iostream>
|
||||
|
||||
int main() {
|
||||
std::cout << "Hello, World!" << std::endl;
|
||||
return 0;
|
||||
}
|
||||
]])
|
||||
|
||||
# The -no-canonical-prefixes flag sometimes fails at the compiler level
|
||||
# depending on how the environment is set up, or which other flags have to be passed.
|
||||
# So first try to compile without libtool first to test if the current environment
|
||||
# supports the -no-canonical-prefixes flag. If it doesn't, skip the test.
|
||||
|
||||
$CXX -no-canonical-prefixes -c x.cpp
|
||||
|
||||
result=$?
|
||||
|
||||
if test 0 -ne "$result"; then
|
||||
AT_SKIP_IF([:])
|
||||
fi
|
||||
|
||||
AT_CHECK([$LIBTOOL --mode=compile --tag=CXX $CXX -no-canonical-prefixes -c x.cpp], [0], [stdout], [stderr])
|
||||
|
||||
AT_CHECK([$GREP -- '-no-canonical-prefixes' stdout], [0], [ignore])
|
||||
|
||||
host_flags=:
|
||||
case $host_os in
|
||||
cygwin* | mingw* | windows*)
|
||||
host_flags=-no-undefined
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
AT_CHECK([$LIBTOOL --mode=link --tag=CXX $CXX -no-canonical-prefixes $host_flags -o libx.la -rpath /usr/lib64/ x.lo], [0], [stdout], [stderr])
|
||||
|
||||
AT_CHECK([$GREP -- '-no-canonical-prefixes' stdout], [0], [ignore])
|
||||
|
||||
AT_CLEANUP
|
||||
420
tests/bug_71489.at
Normal file
420
tests/bug_71489.at
Normal file
@ -0,0 +1,420 @@
|
||||
# bug_71489.at test local version of installed program is used
|
||||
|
||||
# Copyright (C) 2024-2026 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of GNU Libtool.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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, see <https://www.gnu.org/licenses/>.
|
||||
####
|
||||
## --------------------- ##
|
||||
## Bug testing ##
|
||||
## --------------------- ##
|
||||
|
||||
AT_BANNER([Testing bug 71489:])
|
||||
|
||||
AT_SETUP([Local version of program with local library])
|
||||
|
||||
AT_KEYWORDS([bug_71489])
|
||||
|
||||
# Create root test directory.
|
||||
top_dir=test71489_1
|
||||
mkdir $top_dir
|
||||
top_dir=$(cd $top_dir; pwd)
|
||||
|
||||
# Create the libtool library that the program will depend on.
|
||||
lib=$top_dir/lib
|
||||
mkdir $lib
|
||||
|
||||
# Create the external library. This is a very simple autotools program, which
|
||||
# contains one function.
|
||||
AT_DATA([[$lib/Makefile.am]],
|
||||
[[
|
||||
lib_LTLIBRARIES = libltb1.la
|
||||
libltb1_la_SOURCES = libltb1.c
|
||||
libltb1_la_CPPFLAGS=-I$(top_srcdir)
|
||||
]])
|
||||
|
||||
AT_DATA([["$lib/libltb1.c"]],
|
||||
[[
|
||||
#include <stdio.h>
|
||||
|
||||
void
|
||||
ltb_version (void)
|
||||
{
|
||||
printf ("ltbug: %s\n", LTBUG_ID);
|
||||
}
|
||||
]])
|
||||
|
||||
# Create src directory, which is linked to the library created above.
|
||||
src=$top_dir/src
|
||||
mkdir $src
|
||||
|
||||
AT_DATA([["$src/Makefile.am"]],
|
||||
[[
|
||||
bin_PROGRAMS = ltb1
|
||||
ltb1_SOURCES = main.c
|
||||
ltb1_LDFLAGS = $(CF_LIB_FLAGS)
|
||||
ltb1_LDADD = ../lib/libltb1.la
|
||||
AM_CPPFLAGS = -I$(top_srcdir)
|
||||
]])
|
||||
|
||||
AT_DATA([["$src/main.c"]],
|
||||
[[
|
||||
#include <ltb1.h>
|
||||
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
ltb_version ();
|
||||
return 0;
|
||||
}
|
||||
]])
|
||||
|
||||
# Create root autotools files and code.
|
||||
AT_DATA([["$top_dir/Makefile.am"]],
|
||||
[[
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
SUBDIRS = lib src
|
||||
noinst_HEADERS = ltb1.h
|
||||
EXTRA_DIST = test.sh
|
||||
]])
|
||||
|
||||
AT_DATA([["$top_dir/configure.ac"]],
|
||||
[[
|
||||
AC_PREREQ([2.69])
|
||||
AC_INIT([ltbug], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[)AC_CONFIG_SRCDIR([src/main.c])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
|
||||
AM_INIT_AUTOMAKE([foreign])
|
||||
|
||||
# Checks for programs.
|
||||
AC_PROG_CC
|
||||
LT_PREREQ([2.4.6])
|
||||
LT_INIT
|
||||
|
||||
AC_ARG_VAR([LTBUG_ID],[Identifier of the bug case])
|
||||
if test -z "$LTBUG_ID"; then
|
||||
LTBUG_ID=local
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED([LTBUG_ID],["$LTBUG_ID"],
|
||||
[Text string identifying the library])
|
||||
|
||||
AC_SUBST([CF_LIB_FLAGS],['-L$(libdir) -rpath $(libdir)'])
|
||||
|
||||
AC_CONFIG_FILES([Makefile lib/Makefile src/Makefile])
|
||||
|
||||
AC_OUTPUT
|
||||
]])
|
||||
|
||||
AT_DATA([["$top_dir/ltb1.h"]],
|
||||
[[
|
||||
extern void ltb_version (void);
|
||||
extern void ltb2_version (void);
|
||||
]])
|
||||
|
||||
echo "Running autoreconf on project directory"
|
||||
(
|
||||
cd $top_dir
|
||||
pwd
|
||||
LT_AT_LIBTOOLIZE([--install])
|
||||
LT_AT_AUTORECONF([-i])
|
||||
)
|
||||
|
||||
# Create two directories, one which has the local copy and one which has
|
||||
# the installed copy.
|
||||
mkdir build_inst build_local prefix_dir
|
||||
|
||||
prefix=$(cd prefix_dir; pwd)
|
||||
|
||||
echo "Building and installing library"
|
||||
(
|
||||
cd build_inst
|
||||
LT_AT_CONFIGURE([--prefix=$prefix LTBUG_ID='installed'], [$top_dir/configure])
|
||||
LT_AT_MAKE([])
|
||||
LT_AT_MAKE([install])
|
||||
)
|
||||
|
||||
echo "Building local copy of the project"
|
||||
(
|
||||
cd build_local
|
||||
LT_AT_CONFIGURE([--prefix=$prefix], [$top_dir/configure])
|
||||
LT_AT_MAKE([])
|
||||
LT_AT_MAKE([install])
|
||||
)
|
||||
|
||||
# Although we have installed ltbug, we still expect that we are using the local version.
|
||||
cat > expout <<EOF
|
||||
ltbug: local
|
||||
EOF
|
||||
|
||||
case $host_os in
|
||||
mingw* | windows*)
|
||||
awk '{printf ("%s\r\n", [$]0);}' < expout > expout.t && mv -f expout.t expout
|
||||
;;
|
||||
cygwin*)
|
||||
awk '{printf ("%s\n", [$]0);}' < expout > expout.t && mv -f expout.t expout
|
||||
;;
|
||||
esac
|
||||
|
||||
build_local/src/ltb1 > stdout
|
||||
|
||||
echo "Comparing expout to the build binary"
|
||||
AT_CHECK([cmp -s stdout expout], [0])
|
||||
AT_CLEANUP
|
||||
|
||||
|
||||
AT_SETUP([Local version of program with external library])
|
||||
|
||||
# Test local version of installed program is used with external library.
|
||||
|
||||
# Create root test directory.
|
||||
top_dir=test71489_2
|
||||
mkdir $top_dir
|
||||
top_dir=$(cd $top_dir; pwd)
|
||||
|
||||
ext_lib_dir=$top_dir/ltb2dep
|
||||
ltb2=$top_dir/ltb2
|
||||
|
||||
# Create ltb2 directory. This will contain two libraries,
|
||||
# liba and libb. liba will depend on an external libtool library.
|
||||
mkdir $ltb2
|
||||
|
||||
# Create the directory which will contain the external dependency liba relies on.
|
||||
mkdir $ext_lib_dir
|
||||
|
||||
# Create the external library. This is a very simple autotools program, which
|
||||
# contains one function.
|
||||
AT_DATA([[$ext_lib_dir/configure.ac]],
|
||||
[[
|
||||
AC_PREREQ([2.69])
|
||||
AC_INIT([libltb2dep], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[)
|
||||
AC_CONFIG_SRCDIR([main.c])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
|
||||
AM_INIT_AUTOMAKE([foreign])
|
||||
|
||||
AC_PROG_CC
|
||||
LT_PREREQ([2.4.6])
|
||||
LT_INIT
|
||||
|
||||
AC_ARG_VAR([LTBUG_ID],[Identifier of the bug case])
|
||||
if test -z "$LTBUG_ID"; then
|
||||
LTBUG_ID="local version"
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED([LTBUG_ID],["$LTBUG_ID"],
|
||||
[Text string identifying the library])
|
||||
|
||||
AC_CONFIG_FILES([Makefile])
|
||||
|
||||
AC_OUTPUT
|
||||
]])
|
||||
|
||||
|
||||
AT_DATA([["$ext_lib_dir/Makefile.am"]],
|
||||
[[
|
||||
lib_LTLIBRARIES = libltb2dep.la
|
||||
libltb2dep_la_SOURCES = main.c
|
||||
]])
|
||||
|
||||
AT_DATA([["$ext_lib_dir/main.c"]],
|
||||
[[
|
||||
#include <stdio.h>
|
||||
void
|
||||
dummy (void)
|
||||
{
|
||||
}
|
||||
]])
|
||||
|
||||
# Create liba, which is linked to the external library created above.
|
||||
mkdir "$ltb2/liba"
|
||||
|
||||
AT_DATA([["$ltb2/liba/Makefile.am"]],
|
||||
[[
|
||||
lib_LTLIBRARIES = libltb2a.la
|
||||
libltb2a_la_SOURCES = libltb2a.c
|
||||
libltb2a_la_LIBADD = -L$(libdir) -lltb2dep
|
||||
]])
|
||||
|
||||
# Print out the flag LTBUG_ID. This will show if we are using the installed version
|
||||
# of this library or the local version.
|
||||
AT_DATA([["$ltb2/liba/libltb2a.c"]],
|
||||
[[
|
||||
#include <stdio.h>
|
||||
void
|
||||
ltb2a_version (void)
|
||||
{
|
||||
printf ("ltb2a: %s\n", LTBUG_ID);
|
||||
}
|
||||
]])
|
||||
|
||||
# Create libb, which is NOT linked to the external library.
|
||||
mkdir "$ltb2/libb"
|
||||
|
||||
AT_DATA([["$ltb2/libb/Makefile.am"]],
|
||||
[[
|
||||
lib_LTLIBRARIES = libltb2b.la
|
||||
libltb2b_la_SOURCES = libltb2b.c
|
||||
]])
|
||||
|
||||
# The same as for libltb2a.c. Print out the LTBUG_ID flag and see if the local or
|
||||
# installed version is used.
|
||||
AT_DATA([["$ltb2/libb/libltb2b.c"]],
|
||||
[[
|
||||
#include <stdio.h>
|
||||
void
|
||||
ltb2b_version (void)
|
||||
{
|
||||
printf ("ltb2b: %s\n", LTBUG_ID);
|
||||
}
|
||||
]])
|
||||
|
||||
mkdir $ltb2/src
|
||||
|
||||
AT_DATA([["$ltb2/src/Makefile.am"]],
|
||||
[[
|
||||
bin_PROGRAMS = ltb2
|
||||
ltb2_SOURCES = main.c
|
||||
ltb2_LDADD = ../liba/libltb2a.la ../libb/libltb2b.la
|
||||
AM_CPPFLAGS = -I$(top_srcdir)
|
||||
]])
|
||||
|
||||
# Create a program which outputs the version, local or installed, for both
|
||||
# liba and libb.
|
||||
AT_DATA([["$ltb2/src/main.c"]],
|
||||
[[
|
||||
#include <ltb2.h>
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
ltb2a_version ();
|
||||
ltb2b_version ();
|
||||
return 0;
|
||||
}
|
||||
]])
|
||||
|
||||
AT_DATA([["$ltb2/Makefile.am"]],
|
||||
[[
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
SUBDIRS = liba libb src
|
||||
noinst_HEADERS = ltb2.h
|
||||
]])
|
||||
|
||||
AT_DATA([["$ltb2/configure.ac"]],
|
||||
[[
|
||||
# -*- Autoconf -*-
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ([2.69])
|
||||
AC_INIT([ltb2], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[)
|
||||
|
||||
AC_CONFIG_SRCDIR([src/main.c])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
|
||||
AM_INIT_AUTOMAKE([foreign])
|
||||
|
||||
AC_PROG_CC
|
||||
LT_PREREQ([2.4.6])
|
||||
LT_INIT
|
||||
|
||||
AC_ARG_VAR([LTBUG_ID],[Identifier of the bug case])
|
||||
if test -z "$LTBUG_ID"; then
|
||||
LTBUG_ID=local
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED([LTBUG_ID],["$LTBUG_ID"],
|
||||
[Text string identifying the library])
|
||||
|
||||
AC_CONFIG_FILES([Makefile liba/Makefile libb/Makefile src/Makefile])
|
||||
|
||||
AC_OUTPUT
|
||||
]])
|
||||
|
||||
AT_DATA([["$ltb2/ltb2.h"]],
|
||||
[[
|
||||
extern void ltb2a_version (void);
|
||||
extern void ltb2b_version (void);
|
||||
]])
|
||||
|
||||
echo "Running autoreconf on dependency library and project directory"
|
||||
(
|
||||
cd $ext_lib_dir
|
||||
LT_AT_LIBTOOLIZE([--install])
|
||||
LT_AT_AUTORECONF([-i])
|
||||
cd -
|
||||
cd $ltb2
|
||||
LT_AT_LIBTOOLIZE([--install])
|
||||
LT_AT_AUTORECONF([-i])
|
||||
)
|
||||
|
||||
mkdir build_dep build_inst build_local prefix_dir
|
||||
|
||||
prefix=$(cd prefix_dir; pwd)
|
||||
|
||||
echo "Building dependency library"
|
||||
(
|
||||
cd build_dep
|
||||
LT_AT_CONFIGURE([--prefix=$prefix], [$ext_lib_dir/configure])
|
||||
LT_AT_MAKE([])
|
||||
LT_AT_MAKE([install])
|
||||
)
|
||||
|
||||
echo "Building and installing project"
|
||||
(
|
||||
cd build_inst
|
||||
LT_AT_CONFIGURE([--prefix=$prefix LTBUG_ID='installed'], [$ltb2/configure])
|
||||
LT_AT_MAKE([])
|
||||
LT_AT_MAKE([install])
|
||||
)
|
||||
|
||||
echo "Building local copy of the project"
|
||||
(
|
||||
cd build_local
|
||||
LT_AT_CONFIGURE([--prefix=$prefix], [$ltb2/configure])
|
||||
LT_AT_MAKE([])
|
||||
|
||||
case $host_os in
|
||||
openbsd*)
|
||||
build_local_dir=$(pwd)
|
||||
AT_CHECK(
|
||||
[
|
||||
$LIBTOOL --reorder-cache="$build_local_dir/liba/.libs:$build_local_dir/libb/.libs"
|
||||
], 0, ignore, ignore);;
|
||||
*) ;;
|
||||
esac
|
||||
)
|
||||
|
||||
# Although we have installed ltb2, we still expect that we are using the local
|
||||
# version of ltb2a and ltb2b.
|
||||
cat > expout <<EOF
|
||||
ltb2a: local
|
||||
ltb2b: local
|
||||
EOF
|
||||
|
||||
case $host_os in
|
||||
mingw* | windows*)
|
||||
awk '{printf ("%s\r\n", [$]0);}' < expout > expout.t && mv -f expout.t expout
|
||||
;;
|
||||
cygwin*)
|
||||
awk '{printf ("%s\n", [$]0);}' < expout > expout.t && mv -f expout.t expout
|
||||
;;
|
||||
esac
|
||||
|
||||
build_local/src/ltb2 > stdout
|
||||
|
||||
echo "Comparing expout to the build binary"
|
||||
AT_CHECK([cmp -s stdout expout], [0])
|
||||
|
||||
AT_CLEANUP
|
||||
@ -1,6 +1,7 @@
|
||||
# cdemo.at -- Using Automake to build a program and library -*- Autotest -*-
|
||||
#
|
||||
# Copyright (C) 2003-2004, 2011-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2003-2004, 2011-2019, 2021-2026 Free Software
|
||||
# Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2003
|
||||
#
|
||||
# This file is part of GNU Libtool.
|
||||
@ -16,10 +17,7 @@
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Libtool; see the file COPYING. If not, a copy
|
||||
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
||||
# or obtained by writing to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
# along with GNU Libtool. If not, see <https://www.gnu.org/licenses/>.
|
||||
####
|
||||
|
||||
|
||||
@ -183,7 +181,7 @@ _LT_SETUP
|
||||
|
||||
LT_AT_CHECK_CONFIG([--disable-static])
|
||||
|
||||
AT_CHECK([$EGREP "^allow_undefined_flag=.\{0,1\}unsupported.\{0,1\}$" libtool && (exit 77)],
|
||||
AT_CHECK([$EGREP "^allow_undefined_flag=.\{0,1}unsupported.\{0,1}$" libtool && (exit 77)],
|
||||
1, [ignore])
|
||||
|
||||
$SED 's|allow_undefined=no|allow_undefined=yes|g' libtool > ltnew && mv -f ltnew libtool
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
# cmdline_wrap.at -- run tests with low max_cmd_len -*- Autotest -*-
|
||||
|
||||
# Copyright (C) 2007, 2009, 2011-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2007, 2009, 2011-2019, 2021-2026 Free Software
|
||||
# Foundation, Inc.
|
||||
# Written by Ralf Wildenhues, 2007
|
||||
#
|
||||
# This file is part of GNU Libtool.
|
||||
@ -16,10 +17,7 @@
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Libtool; see the file COPYING. If not, a copy
|
||||
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
||||
# or obtained by writing to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
# along with GNU Libtool. If not, see <https://www.gnu.org/licenses/>.
|
||||
####
|
||||
|
||||
# Make sure libtool works when it needs to wrap command lines.
|
||||
|
||||
67
tests/configure-funcs.at
Normal file
67
tests/configure-funcs.at
Normal file
@ -0,0 +1,67 @@
|
||||
# configure-functions.at -- shared shell functions. -*- Autotest -*-
|
||||
#
|
||||
# Copyright (C) 2015-2019, 2021-2026 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of GNU Libtool.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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, see <https://www.gnu.org/licenses/>.
|
||||
####
|
||||
|
||||
AT_BANNER([Functions shared with configure and libtool.])
|
||||
|
||||
m4_define([_AT_FUNC_SETUP], [dnl
|
||||
AT_SETUP([$1 works])dnl
|
||||
_lt_bin=$abs_top_builddir/libtool
|
||||
re_begincf='^# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE'
|
||||
re_endcf='^# ### END FUNCTIONS SHARED WITH CONFIGURE'
|
||||
|
||||
$ECHO '#!/bin/sh' > "$1"
|
||||
$ECHO '#: ${SED=sed}' >> "$1"
|
||||
$ECHO '#: ${ECHO=echo}' >> "$1"
|
||||
|
||||
sed "1,/$re_begincf/d;/$re_endcf/,\$d" < "$_lt_bin" >> "$1"
|
||||
])
|
||||
|
||||
_AT_FUNC_SETUP([func_munge_path_list])
|
||||
|
||||
cat <<\EOF >> func_munge_path_list
|
||||
for orig in "/usr/lib" " /lib /usr/lib "; do
|
||||
$ECHO "'$orig':"
|
||||
for path in "/p1:" "/p3:/p2:" ":/a1" ":/a2:/a3" "/p4::/a4" "/p6:/p5::/a5:/a6"; do
|
||||
old=$orig
|
||||
func_munge_path_list orig "$path" || exit 1
|
||||
$ECHO "munge ($path) = $orig"
|
||||
done
|
||||
done
|
||||
EOF
|
||||
chmod +x func_munge_path_list
|
||||
|
||||
AT_CHECK([ECHO="$ECHO" SED="$SED" ./func_munge_path_list], [0],
|
||||
['/usr/lib':
|
||||
munge (/p1:) = /p1 /usr/lib
|
||||
munge (/p3:/p2:) = /p3 /p2 /p1 /usr/lib
|
||||
munge (:/a1) = /p3 /p2 /p1 /usr/lib /a1
|
||||
munge (:/a2:/a3) = /p3 /p2 /p1 /usr/lib /a1 /a2 /a3
|
||||
munge (/p4::/a4) = /p4 /p3 /p2 /p1 /usr/lib /a1 /a2 /a3 /a4
|
||||
munge (/p6:/p5::/a5:/a6) = /p6 /p5 /p4 /p3 /p2 /p1 /usr/lib /a1 /a2 /a3 /a4 /a5 /a6
|
||||
' /lib /usr/lib ':
|
||||
munge (/p1:) = /p1 /lib /usr/lib @&t@
|
||||
munge (/p3:/p2:) = /p3 /p2 /p1 /lib /usr/lib @&t@
|
||||
munge (:/a1) = /p3 /p2 /p1 /lib /usr/lib /a1
|
||||
munge (:/a2:/a3) = /p3 /p2 /p1 /lib /usr/lib /a1 /a2 /a3
|
||||
munge (/p4::/a4) = /p4 /p3 /p2 /p1 /lib /usr/lib /a1 /a2 /a3 /a4
|
||||
munge (/p6:/p5::/a5:/a6) = /p6 /p5 /p4 /p3 /p2 /p1 /lib /usr/lib /a1 /a2 /a3 /a4 /a5 /a6
|
||||
], [])
|
||||
|
||||
AT_CLEANUP
|
||||
@ -1,6 +1,7 @@
|
||||
# configure-iface.at -- test ltdl configure interface -*- Autotest -*-
|
||||
#
|
||||
# Copyright (C) 2007-2008, 2011-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2007-2008, 2011-2019, 2021-2026 Free Software
|
||||
# Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2007
|
||||
#
|
||||
# This file is part of GNU Libtool.
|
||||
@ -16,10 +17,7 @@
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Libtool; see the file COPYING. If not, a copy
|
||||
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
||||
# or obtained by writing to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
# along with GNU Libtool. If not, see <https://www.gnu.org/licenses/>.
|
||||
####
|
||||
|
||||
AT_BANNER([configure interface to libltdl.])
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
# convenience.at -- testing C convenience archives -*- Autotest -*-
|
||||
|
||||
# Copyright (C) 2005, 2007-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2005, 2007-2019, 2021-2026 Free Software Foundation,
|
||||
# Inc.
|
||||
# Written by Ralf Wildenhues, 2005
|
||||
#
|
||||
# This file is part of GNU Libtool.
|
||||
@ -16,10 +17,7 @@
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Libtool; see the file COPYING. If not, a copy
|
||||
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
||||
# or obtained by writing to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
# along with GNU Libtool. If not, see <https://www.gnu.org/licenses/>.
|
||||
####
|
||||
|
||||
# Test that convenience archives work.
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
# ctor.at -- Test constructors via C++ -*- Autotest -*-
|
||||
#
|
||||
# Copyright (C) 2007-2008, 2011-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2007-2008, 2011-2019, 2021-2026 Free Software
|
||||
# Foundation, Inc.
|
||||
# Written by Noah Misch, 2007
|
||||
#
|
||||
# This file is part of GNU Libtool.
|
||||
@ -16,10 +17,7 @@
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Libtool; see the file COPYING. If not, a copy
|
||||
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
||||
# or obtained by writing to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
# along with GNU Libtool. If not, see <https://www.gnu.org/licenses/>.
|
||||
####
|
||||
|
||||
AT_BANNER([Constructors.])
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# cwrapper.at -- test cwrapper compliance with standards -*- Autotest -*-
|
||||
|
||||
# Copyright (C) 2009-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2009-2019, 2021-2026 Free Software Foundation, Inc.
|
||||
# Written by Charles Wilson, 2009
|
||||
#
|
||||
# This file is part of GNU Libtool.
|
||||
@ -16,10 +16,7 @@
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Libtool; see the file COPYING. If not, a copy
|
||||
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
||||
# or obtained by writing to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
# along with GNU Libtool. If not, see <https://www.gnu.org/licenses/>.
|
||||
####
|
||||
|
||||
AT_SETUP([cwrapper for uninstalled executables])
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
# darwin.at - tests specific to Mac OS X
|
||||
#
|
||||
# Copyright (C) 2008-2009, 2011-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2008-2009, 2011-2019, 2021-2026 Free Software
|
||||
# Foundation, Inc.
|
||||
# Written by Peter O'Gorman, 2008
|
||||
#
|
||||
# This file is part of GNU Libtool.
|
||||
@ -16,10 +17,7 @@
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Libtool; see the file COPYING. If not, a copy
|
||||
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
||||
# or obtained by writing to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
# along with GNU Libtool. If not, see <https://www.gnu.org/licenses/>.
|
||||
####
|
||||
|
||||
AT_BANNER([Mac OS X tests])
|
||||
@ -35,7 +33,7 @@ int main() { return 0;}
|
||||
]])
|
||||
|
||||
$noskip && {
|
||||
$CC $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 -o simple simple.c 2>&1 > /dev/null || noskip=false
|
||||
$CC $CPPFLAGS $CFLAGS -arch x86_64 -arch arm64 -o simple simple.c 2>&1 > /dev/null || noskip=false
|
||||
rm -f simple
|
||||
}
|
||||
|
||||
@ -82,19 +80,21 @@ save_PATH=$PATH
|
||||
PATH=`pwd`/bin:$PATH
|
||||
export PATH
|
||||
|
||||
AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o foo.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 foo.c],[0],[ignore],[ignore])
|
||||
AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o foo.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch arm64 foo.c],[0],[ignore],[ignore])
|
||||
|
||||
AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o baz.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 baz.c],[0],[ignore],[ignore])
|
||||
AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o foo.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch arm64 foo.c],[0],[ignore],[ignore])
|
||||
|
||||
AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS -arch x86_64 -arch i386 foo.lo baz.lo],[0],[ignore],[ignore])
|
||||
AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o baz.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch arm64 baz.c],[0],[ignore],[ignore])
|
||||
|
||||
AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o bar.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 bar.c],[0],[ignore],[ignore])
|
||||
AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS -arch x86_64 -arch arm64 foo.lo baz.lo],[0],[ignore],[ignore])
|
||||
|
||||
AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -o libbar.la $CPPFLAGS $CFLAGS $LDFLAGS -arch x86_64 -arch i386 bar.lo libfoo.la -rpath /nonexistent],[0],[ignore],[ignore])
|
||||
AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o bar.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch arm64 bar.c],[0],[ignore],[ignore])
|
||||
|
||||
AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o main.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 main.c],[0],[ignore],[ignore])
|
||||
AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -o libbar.la $CPPFLAGS $CFLAGS $LDFLAGS -arch x86_64 -arch arm64 bar.lo libfoo.la -rpath /nonexistent],[0],[ignore],[ignore])
|
||||
|
||||
AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS -arch x86_64 -arch i386 main.lo libbar.la],[0],[ignore],[ignore])
|
||||
AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o main.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch arm64 main.c],[0],[ignore],[ignore])
|
||||
|
||||
AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS -arch x86_64 -arch arm64 main.lo libbar.la],[0],[ignore],[ignore])
|
||||
|
||||
PATH=$save_PATH
|
||||
AT_CLEANUP
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
# demo.at -- Linking and loading. -*- Autotest -*-
|
||||
#
|
||||
# Copyright (C) 2003-2004, 2011-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2003-2004, 2011-2019, 2021-2026 Free Software
|
||||
# Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2003
|
||||
#
|
||||
# This file is part of GNU Libtool.
|
||||
@ -16,10 +17,7 @@
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Libtool; see the file COPYING. If not, a copy
|
||||
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
||||
# or obtained by writing to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
# along with GNU Libtool. If not, see <https://www.gnu.org/licenses/>.
|
||||
####
|
||||
|
||||
|
||||
@ -154,7 +152,7 @@ AT_DATA([foo.h],
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__
|
||||
#if (defined _WIN32 || defined _WIN32_WCE || __CYGWIN__) && !defined __GNUC__
|
||||
# ifdef BUILDING_LIBHELLO
|
||||
# ifdef DLL_EXPORT
|
||||
# define LIBHELLO_SCOPE extern __declspec (dllexport)
|
||||
@ -436,6 +434,9 @@ AT_CLEANUP
|
||||
|
||||
AT_SETUP([deplibs_check_method])
|
||||
|
||||
# Skip test if deplibs_check_method is not pass_all
|
||||
AT_CHECK([$LIBTOOL --config | $EGREP '^deplibs_check_method="pass_all' || exit 77], [], [ignore], [ignore])
|
||||
|
||||
_LT_DEMO_SETUP
|
||||
|
||||
AT_DATA([demo.mk],
|
||||
@ -497,6 +498,16 @@ AT_SETUP([force PIC objects])
|
||||
|
||||
_LT_DEMO_SETUP
|
||||
|
||||
LT_AT_CHECK_CONFIG([--enable-pic])
|
||||
_LT_CHECK_EXECUTE
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
|
||||
AT_SETUP([force PIC objects (old option name)])
|
||||
|
||||
_LT_DEMO_SETUP
|
||||
|
||||
LT_AT_CHECK_CONFIG([--with-pic])
|
||||
_LT_CHECK_EXECUTE
|
||||
|
||||
@ -510,7 +521,7 @@ AT_CLEANUP
|
||||
AT_SETUP([force non-PIC objects])
|
||||
|
||||
AT_CHECK([case $host in
|
||||
hppa*|x86_64*|s390*)
|
||||
hppa*|amd64*|x86_64*|s390*)
|
||||
# These hosts cannot use non-PIC shared libs
|
||||
exit 77 ;;
|
||||
*-solaris*|*-sunos*)
|
||||
@ -535,7 +546,7 @@ fi
|
||||
])
|
||||
|
||||
_LT_DEMO_SETUP
|
||||
LT_AT_CHECK_CONFIG([--with-pic=no])
|
||||
LT_AT_CHECK_CONFIG([--disable-pic])
|
||||
_LT_CHECK_EXECUTE
|
||||
|
||||
AT_CLEANUP
|
||||
@ -623,6 +634,10 @@ LT_AT_MAKE([hardcode])
|
||||
eval "`$LIBTOOL --config | $EGREP '^hardcode_(direct|minus_L|shlibpath_var|libdir_flag_spec)='`"
|
||||
|
||||
AT_CHECK([[exit_status=0
|
||||
func_hardcode_filter_fp ()
|
||||
{
|
||||
$FGREP -v "LT_OBJDIR \"$objdir/\"" 2>/dev/null
|
||||
}
|
||||
for file in hc-*; do
|
||||
case $file in
|
||||
hc-direct) expected="$hardcode_direct" ;;
|
||||
@ -662,10 +677,10 @@ for file in hc-*; do
|
||||
# AIX fgrep also has a limited line length, so we turn unprintable
|
||||
# characters into newlines.
|
||||
elif cat $file | (tr '\000-\037\200-\377' '\n' || cat) 2>/dev/null \
|
||||
| $FGREP "$objdir" > /dev/null 2>&1; then
|
||||
| func_hardcode_filter_fp | $FGREP "$objdir" > /dev/null 2>&1; then
|
||||
hardcoded=yes
|
||||
|
||||
elif $FGREP "$objdir" $file > /dev/null 2>&1; then
|
||||
elif cat $file | func_hardcode_filter_fp | $FGREP "$objdir" > /dev/null 2>&1; then
|
||||
# We retry fgrep without tr, in case the above lead to a false negative.
|
||||
hardcoded=yes
|
||||
elif ($SED -e '1!d' $file | $GREP 'unsupported') >/dev/null 2>&1; then
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
# depdemo.at -- Library interdependencies -*- Autotest -*-
|
||||
#
|
||||
# Copyright (C) 2003-2004, 2011-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2003-2004, 2011-2019, 2021-2026 Free Software
|
||||
# Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2003
|
||||
#
|
||||
# This file is part of GNU Libtool.
|
||||
@ -16,10 +17,7 @@
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Libtool; see the file COPYING. If not, a copy
|
||||
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
||||
# or obtained by writing to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
# along with GNU Libtool. If not, see <https://www.gnu.org/licenses/>.
|
||||
####
|
||||
|
||||
|
||||
@ -131,7 +129,7 @@ int main (int argc, char **argv)
|
||||
}
|
||||
]])
|
||||
|
||||
# Create 4 directorys of mostly identical files.
|
||||
# Create 4 directories of mostly identical files.
|
||||
for i in 1 2 3 4; do
|
||||
mkdir l$i
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# deplib-in-subdir.at -- -*- Autotest -*-
|
||||
|
||||
# Copyright (C) 2010-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2010-2019, 2021-2026 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of GNU Libtool.
|
||||
#
|
||||
@ -15,10 +15,7 @@
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Libtool; see the file COPYING. If not, a copy
|
||||
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
||||
# or obtained by writing to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
# along with GNU Libtool. If not, see <https://www.gnu.org/licenses/>.
|
||||
####
|
||||
|
||||
# It should be possible to use a nontrivial relative path to the output
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
# deplibs-ident.at -- detecting identical deplibs -*- Autotest -*-
|
||||
|
||||
# Copyright (C) 2005, 2007-2008, 2011-2014 Free Software Foundation,
|
||||
# Inc.
|
||||
# Copyright (C) 2005, 2007-2008, 2011-2019, 2021-2026 Free Software
|
||||
# Foundation, Inc.
|
||||
# Written by Ralf Wildenhues, 2005
|
||||
#
|
||||
# This file is part of GNU Libtool.
|
||||
@ -17,10 +17,7 @@
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Libtool; see the file COPYING. If not, a copy
|
||||
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
||||
# or obtained by writing to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
# along with GNU Libtool. If not, see <https://www.gnu.org/licenses/>.
|
||||
####
|
||||
|
||||
AT_BANNER([Detecting identical deplibs.])
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# deplibs-mingw.at -- -*- Autotest -*-
|
||||
|
||||
# Copyright (C) 2010-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2010-2019, 2021-2026 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of GNU Libtool.
|
||||
#
|
||||
@ -15,10 +15,7 @@
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Libtool; see the file COPYING. If not, a copy
|
||||
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
||||
# or obtained by writing to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
# along with GNU Libtool. If not, see <https://www.gnu.org/licenses/>.
|
||||
####
|
||||
|
||||
# Check that deplibs are detected correctly even if there is no 'file'
|
||||
@ -27,6 +24,11 @@
|
||||
AT_SETUP([deplibs without file command])
|
||||
AT_KEYWORDS([libtool])
|
||||
|
||||
# Skip failing test on MSVC
|
||||
if $LIBTOOL --config | $EGREP '^nm_interface="MS dumpbin"' >/dev/null; then
|
||||
AT_CHECK([exit 77])
|
||||
fi
|
||||
|
||||
cwd=`pwd`
|
||||
instdir=$cwd/inst
|
||||
libdir=$instdir/lib
|
||||
@ -64,7 +66,7 @@ for try in with-file without-file; do
|
||||
[], [ignore], [ignore])
|
||||
|
||||
case $host_os in
|
||||
mingw*)
|
||||
mingw* | windows*)
|
||||
if file /; then
|
||||
mkdir bin new-libtool
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user