mirror of
https://git.savannah.gnu.org/git/coreutils.git
synced 2025-09-10 07:59:52 +02:00
Compare commits
798 Commits
CPPI-1_10
...
FILEUTILS-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7d6e8efb15 | ||
|
|
a490e3f68b | ||
|
|
467828f261 | ||
|
|
d5f0bac1aa | ||
|
|
2678e964e6 | ||
|
|
2ad3aaaca2 | ||
|
|
3eba873029 | ||
|
|
5a6c247bcb | ||
|
|
c2a328bb30 | ||
|
|
af1d1e7d3d | ||
|
|
968b78491b | ||
|
|
7e1e127680 | ||
|
|
4f2e8e8b2b | ||
|
|
ef991b4aa3 | ||
|
|
dbc3f75efa | ||
|
|
8cb947f707 | ||
|
|
361446c55b | ||
|
|
93b4e4074f | ||
|
|
f1bafaa237 | ||
|
|
1941ce9f42 | ||
|
|
7b8da9264b | ||
|
|
07d71b97ce | ||
|
|
c07abd1655 | ||
|
|
71e6aca3b2 | ||
|
|
81679a0c34 | ||
|
|
3e06bb8549 | ||
|
|
a427fa83f6 | ||
|
|
594350107d | ||
|
|
d73c55e449 | ||
|
|
f8b38d358b | ||
|
|
6fa5979ccb | ||
|
|
866d4b9e59 | ||
|
|
24e2617917 | ||
|
|
533999f0fe | ||
|
|
eaa95f208b | ||
|
|
9d874c09f6 | ||
|
|
b701bf8a30 | ||
|
|
7c102d03c7 | ||
|
|
0c0ad8da77 | ||
|
|
8d503b5362 | ||
|
|
274003219b | ||
|
|
0bba57ce8c | ||
|
|
afd8381b51 | ||
|
|
76ffae0660 | ||
|
|
74b63f68dd | ||
|
|
85431d93ed | ||
|
|
186af758eb | ||
|
|
c4dbc53ec4 | ||
|
|
00fc6c9262 | ||
|
|
9e2756872d | ||
|
|
c1c9a579e3 | ||
|
|
e3f8ccf486 | ||
|
|
3eeda5b2bf | ||
|
|
09edea7381 | ||
|
|
02da289e42 | ||
|
|
6d81e0f580 | ||
|
|
1c7b8f6e85 | ||
|
|
af6ce0f12c | ||
|
|
904404bfd2 | ||
|
|
a4d1bdafd6 | ||
|
|
e922107a25 | ||
|
|
8e763221fd | ||
|
|
df5b9c4dc3 | ||
|
|
cda8d2a9af | ||
|
|
58b5f108f2 | ||
|
|
93a207af8d | ||
|
|
fd77bc4a78 | ||
|
|
1e2d216c9e | ||
|
|
df1b3c4948 | ||
|
|
0b765fd547 | ||
|
|
8229e0dbef | ||
|
|
05c446084e | ||
|
|
e28263f673 | ||
|
|
b96c3e6a5d | ||
|
|
ddd7e2a0b8 | ||
|
|
b7bf622acb | ||
|
|
48cab72bd1 | ||
|
|
e735c8f6e0 | ||
|
|
7436273688 | ||
|
|
79e188a2ec | ||
|
|
17232a74f2 | ||
|
|
7af1f21709 | ||
|
|
b9bda3c30d | ||
|
|
bd0070c191 | ||
|
|
a43c0607ac | ||
|
|
2a1279c26d | ||
|
|
9ff208503c | ||
|
|
c73398fa51 | ||
|
|
25839c6c48 | ||
|
|
9d8ec0121c | ||
|
|
9c0e765d5a | ||
|
|
8f67d26ec0 | ||
|
|
b96446bf59 | ||
|
|
7d6185f0f5 | ||
|
|
ad2abcb447 | ||
|
|
df8f50e9bc | ||
|
|
b5501a398e | ||
|
|
baef38bda1 | ||
|
|
dc421733a1 | ||
|
|
968956b998 | ||
|
|
8458d3c376 | ||
|
|
7cdce2075e | ||
|
|
891d094b56 | ||
|
|
c8445f75e0 | ||
|
|
8afe15dd9b | ||
|
|
5cfcfdc5c7 | ||
|
|
9a40ef44fb | ||
|
|
54a8b24b6e | ||
|
|
f2d0d9bda9 | ||
|
|
30b904e1f3 | ||
|
|
8a385c1588 | ||
|
|
493d1adca1 | ||
|
|
6a03579aa4 | ||
|
|
b564762ef5 | ||
|
|
a7870f9997 | ||
|
|
37af708d04 | ||
|
|
279d3ae95e | ||
|
|
321db91227 | ||
|
|
99a1b10d2e | ||
|
|
39f15c676a | ||
|
|
af51884dac | ||
|
|
e3eb136b93 | ||
|
|
a810608d0d | ||
|
|
d78d5d448f | ||
|
|
8f28cc8708 | ||
|
|
0dc71387d4 | ||
|
|
ed759a47cb | ||
|
|
a5f6a3dc40 | ||
|
|
8429ee57dd | ||
|
|
95cc4c0984 | ||
|
|
ef549ef73e | ||
|
|
6d334f8f62 | ||
|
|
da73a665f0 | ||
|
|
72695161da | ||
|
|
66372e29eb | ||
|
|
b604e6b1f1 | ||
|
|
039d440f50 | ||
|
|
f40532072e | ||
|
|
b9f3b0ed92 | ||
|
|
35e2136e59 | ||
|
|
209557e03a | ||
|
|
d225261a77 | ||
|
|
0f14bad291 | ||
|
|
f4e8ba6beb | ||
|
|
1afc458839 | ||
|
|
629576ece4 | ||
|
|
b729ec75ca | ||
|
|
4d390a18ba | ||
|
|
fc3429bc45 | ||
|
|
06ab933220 | ||
|
|
61b95dac69 | ||
|
|
3cff443b59 | ||
|
|
38e11fdc5d | ||
|
|
94eb7340ec | ||
|
|
79476921ef | ||
|
|
d34280f171 | ||
|
|
c8987dca56 | ||
|
|
ccdb1b0215 | ||
|
|
bf0b70f10d | ||
|
|
adac7cd0e3 | ||
|
|
de879011f3 | ||
|
|
f275d7ae99 | ||
|
|
f5b2352264 | ||
|
|
110190e4d9 | ||
|
|
e1b81c9b74 | ||
|
|
3dfa4910e2 | ||
|
|
706a45c0b8 | ||
|
|
7bdd841fd2 | ||
|
|
6d64ac8442 | ||
|
|
175e677c82 | ||
|
|
8b856a3132 | ||
|
|
a97b7f61ff | ||
|
|
0b9c7cac74 | ||
|
|
32852d9825 | ||
|
|
63b6a548e1 | ||
|
|
f27c09a303 | ||
|
|
fb4a9133ed | ||
|
|
11691bf911 | ||
|
|
034781fc4f | ||
|
|
2fa9e8e2d9 | ||
|
|
565b41ed31 | ||
|
|
2570759aa0 | ||
|
|
eb04599224 | ||
|
|
83e51f160b | ||
|
|
3bf61e47d8 | ||
|
|
1c670cbcd2 | ||
|
|
82f70b1ed9 | ||
|
|
56a2795f38 | ||
|
|
dd39ed6e81 | ||
|
|
726b66072a | ||
|
|
7bf6b048be | ||
|
|
10a482fd41 | ||
|
|
16de496c5d | ||
|
|
33e8cff715 | ||
|
|
23eb5e1acd | ||
|
|
900acbdbcb | ||
|
|
45d6772cfe | ||
|
|
fa805211ac | ||
|
|
eca1e2d890 | ||
|
|
6027bfa668 | ||
|
|
679295f1de | ||
|
|
beee918e72 | ||
|
|
9d0fbdaf36 | ||
|
|
e60f34c475 | ||
|
|
1f987f7eed | ||
|
|
5dffc8a83c | ||
|
|
c9b0d2415a | ||
|
|
9893f72169 | ||
|
|
9a8547bc45 | ||
|
|
173be61cad | ||
|
|
855fc65068 | ||
|
|
4f16f7f014 | ||
|
|
909593073d | ||
|
|
b2f1dc2045 | ||
|
|
0cf127ff5c | ||
|
|
7316ccbb5f | ||
|
|
50ab0a78e0 | ||
|
|
ea59c2ae6d | ||
|
|
8cd9be5598 | ||
|
|
dc374320b8 | ||
|
|
5f97defa02 | ||
|
|
8910e98330 | ||
|
|
a11576bb59 | ||
|
|
de7d4fdb5f | ||
|
|
ddbaad372e | ||
|
|
70729acb60 | ||
|
|
5b60bebabb | ||
|
|
29f888398d | ||
|
|
e2365ea11e | ||
|
|
681607ae07 | ||
|
|
c82b876b6f | ||
|
|
ec6cab66bf | ||
|
|
08575c4bce | ||
|
|
caa5ba0ca2 | ||
|
|
7682c7ed4b | ||
|
|
41033e8bd0 | ||
|
|
c4d9b90a58 | ||
|
|
9c1108fdea | ||
|
|
1ee0ec3463 | ||
|
|
26ebb5b5de | ||
|
|
d9ab98a19f | ||
|
|
44a8a34725 | ||
|
|
b310d2131d | ||
|
|
0f16f7e6b2 | ||
|
|
d454296098 | ||
|
|
ad094a6c52 | ||
|
|
98a0f8c36e | ||
|
|
28ecf065f8 | ||
|
|
61c83b3d22 | ||
|
|
5e7630f24f | ||
|
|
4bccf0b322 | ||
|
|
0439c570ab | ||
|
|
78d4dc2ea3 | ||
|
|
7dc3d4d8f8 | ||
|
|
cdd85ee367 | ||
|
|
9ffb6b8bb6 | ||
|
|
ee32712334 | ||
|
|
b4c4729c8f | ||
|
|
f4ab08b5ca | ||
|
|
4cedb82f6e | ||
|
|
9917b0be5a | ||
|
|
363a391db4 | ||
|
|
0d784f664b | ||
|
|
0265852ab2 | ||
|
|
d377c5bd7f | ||
|
|
77678307a5 | ||
|
|
b7b37133ac | ||
|
|
f13c461cf7 | ||
|
|
2d1b13b6d0 | ||
|
|
556a834d33 | ||
|
|
cbed45a540 | ||
|
|
bfcb6bacf8 | ||
|
|
9e82f23de4 | ||
|
|
20925d812d | ||
|
|
e8d79c1502 | ||
|
|
8d45c22c3c | ||
|
|
16aef05416 | ||
|
|
8000bd993e | ||
|
|
8751c5fc27 | ||
|
|
29955c54b8 | ||
|
|
5d461b6c45 | ||
|
|
62471a036d | ||
|
|
0ed1711755 | ||
|
|
3939790637 | ||
|
|
483977a347 | ||
|
|
b5fd786410 | ||
|
|
95ce12946b | ||
|
|
0ec82af940 | ||
|
|
c2f01a209e | ||
|
|
7b9a35951b | ||
|
|
b6baea64d1 | ||
|
|
447637fb37 | ||
|
|
2b21f12d85 | ||
|
|
5a0dcd18c4 | ||
|
|
f3eff573fc | ||
|
|
18b2abbf6c | ||
|
|
7a33a02755 | ||
|
|
3aafbfb626 | ||
|
|
0283d73512 | ||
|
|
ebc79b0b6d | ||
|
|
b6f0933da1 | ||
|
|
d6e1aff5e6 | ||
|
|
81c488fe62 | ||
|
|
b6e61f0f18 | ||
|
|
f04d7b8252 | ||
|
|
c3a2a9a1cf | ||
|
|
83ab129925 | ||
|
|
fc172101b7 | ||
|
|
22e8070d31 | ||
|
|
fb84cd1881 | ||
|
|
5b2989b22a | ||
|
|
96c32a549f | ||
|
|
4b44b870de | ||
|
|
de8600a83e | ||
|
|
c0e0779f61 | ||
|
|
989527ca9e | ||
|
|
a73c5cdedd | ||
|
|
6732d5e87e | ||
|
|
d8eba2c4de | ||
|
|
dd5500c678 | ||
|
|
e105aad760 | ||
|
|
f886ecfdcf | ||
|
|
674500658f | ||
|
|
0b0b0c10b9 | ||
|
|
74ab294e6f | ||
|
|
32317fa2be | ||
|
|
17eefced98 | ||
|
|
4d87cd7f5c | ||
|
|
1b86315413 | ||
|
|
5f5eb0cb24 | ||
|
|
00c25e46b5 | ||
|
|
28ae3f3e55 | ||
|
|
02e4c447fb | ||
|
|
fc98e3b53b | ||
|
|
6d87de19d3 | ||
|
|
8686ed3e79 | ||
|
|
ecd73385f0 | ||
|
|
c0aad8bb11 | ||
|
|
4c8c36c325 | ||
|
|
db111e12ae | ||
|
|
7161f22f6d | ||
|
|
7088e9294e | ||
|
|
e1e9b12ead | ||
|
|
7471db2e0d | ||
|
|
e1e70abfab | ||
|
|
cb40817c27 | ||
|
|
a9b3766804 | ||
|
|
6b6a9cd8c4 | ||
|
|
d929a883fc | ||
|
|
8ddf9aa30c | ||
|
|
2b87d03f50 | ||
|
|
836ab0b6f7 | ||
|
|
08e983d3df | ||
|
|
222d08dc72 | ||
|
|
099fd9e8f0 | ||
|
|
52d78f0558 | ||
|
|
72dadf240e | ||
|
|
917893f4d3 | ||
|
|
63a52bbb4c | ||
|
|
ea7b78f868 | ||
|
|
707be37f35 | ||
|
|
7ef999a43f | ||
|
|
73a5c3b847 | ||
|
|
37991cf4a9 | ||
|
|
940b6777c0 | ||
|
|
e440740bd9 | ||
|
|
8a6d80dda1 | ||
|
|
388c1a6104 | ||
|
|
484ce2d8de | ||
|
|
caa75371a8 | ||
|
|
78c5e7b7ba | ||
|
|
414207ccc7 | ||
|
|
58eeea1ac8 | ||
|
|
5ae09a5d3d | ||
|
|
8deb67d1db | ||
|
|
99eb99dc7d | ||
|
|
5d1daca135 | ||
|
|
1a282c62b7 | ||
|
|
4d6b3bb492 | ||
|
|
55a0417174 | ||
|
|
326aa5c043 | ||
|
|
ca01db1efe | ||
|
|
14c3068647 | ||
|
|
deef029135 | ||
|
|
c21b31a36f | ||
|
|
aaeb7a61c4 | ||
|
|
3a6d52861d | ||
|
|
3737902524 | ||
|
|
09026d5413 | ||
|
|
c01a38db4d | ||
|
|
1e50f47812 | ||
|
|
87261b73b3 | ||
|
|
121f936e4f | ||
|
|
a5261150bb | ||
|
|
d4cc62de24 | ||
|
|
28526f7763 | ||
|
|
beb34bac0a | ||
|
|
6ea18cc152 | ||
|
|
5aa9a43b0c | ||
|
|
f839ec4d47 | ||
|
|
279c73a725 | ||
|
|
fb18828c2c | ||
|
|
b2b3e046e7 | ||
|
|
f5d7ab79b8 | ||
|
|
c9488ff0e1 | ||
|
|
8df5a2474c | ||
|
|
cb2a0f5e50 | ||
|
|
9525a77c98 | ||
|
|
dbb27d4a36 | ||
|
|
4da3051ac3 | ||
|
|
da313bea2d | ||
|
|
0604854c16 | ||
|
|
f5a12e3c11 | ||
|
|
ae60bce16e | ||
|
|
dabc92dc12 | ||
|
|
ee5c9da57b | ||
|
|
cf346c4179 | ||
|
|
f89de05989 | ||
|
|
5a3b6381c2 | ||
|
|
cb5a1ce84b | ||
|
|
c976fc9de2 | ||
|
|
fb3d344a5b | ||
|
|
93a2f57576 | ||
|
|
4fdadc2de6 | ||
|
|
701b698712 | ||
|
|
2a36dfaa48 | ||
|
|
7d70c84f7d | ||
|
|
cd8327ce2d | ||
|
|
79a41c2f8b | ||
|
|
60d1eabd0c | ||
|
|
be53392f0a | ||
|
|
d9025b763b | ||
|
|
fadaa762b5 | ||
|
|
5c46e766b0 | ||
|
|
678bbca816 | ||
|
|
fa207c2942 | ||
|
|
9e2ed8d97a | ||
|
|
4c419b468b | ||
|
|
31555f918c | ||
|
|
1d9ccbf010 | ||
|
|
1db0824586 | ||
|
|
4d9bd13285 | ||
|
|
6fd75407f4 | ||
|
|
1d07c58db8 | ||
|
|
847d1c0da7 | ||
|
|
414d5f13be | ||
|
|
985cae59cb | ||
|
|
72ee797c44 | ||
|
|
73caa61683 | ||
|
|
ee65e66c6c | ||
|
|
48f3734b37 | ||
|
|
df08b15a80 | ||
|
|
8d10649023 | ||
|
|
c346a4e4cf | ||
|
|
9b27320468 | ||
|
|
d25d599163 | ||
|
|
5dc16bf67a | ||
|
|
dea4390e10 | ||
|
|
d77adba2d7 | ||
|
|
b6c2910a61 | ||
|
|
023c594b9b | ||
|
|
d50c8903f9 | ||
|
|
b51a19058f | ||
|
|
c1845ef979 | ||
|
|
ed3076c1e3 | ||
|
|
436ab156b1 | ||
|
|
ca9bd98b2a | ||
|
|
b20df0057f | ||
|
|
d7c291117c | ||
|
|
56478b94ae | ||
|
|
3b7a24cc92 | ||
|
|
2c63fed0e8 | ||
|
|
fab23e172d | ||
|
|
45f197087d | ||
|
|
2fb1f177d9 | ||
|
|
dc1f8d9a16 | ||
|
|
2adb484d90 | ||
|
|
46abc467c6 | ||
|
|
b1828eec81 | ||
|
|
a6ad856b3b | ||
|
|
8a7b2f0191 | ||
|
|
06392556ec | ||
|
|
222973731a | ||
|
|
30cc300814 | ||
|
|
722e2f0957 | ||
|
|
4f982cb6f5 | ||
|
|
3f25540d1e | ||
|
|
7de89daf4d | ||
|
|
4337731793 | ||
|
|
04b726d04d | ||
|
|
16dc8023ae | ||
|
|
c8ef0d4bbe | ||
|
|
aee944ad9b | ||
|
|
63f570d12b | ||
|
|
109d7b4386 | ||
|
|
34db7168de | ||
|
|
b62d5afd3f | ||
|
|
ab0bba9958 | ||
|
|
e4676fbb20 | ||
|
|
fd90d8dbf8 | ||
|
|
edbe4553a8 | ||
|
|
0e18bbb519 | ||
|
|
473f37a6c9 | ||
|
|
90525ea340 | ||
|
|
083a5e420b | ||
|
|
0f165cf273 | ||
|
|
3b57acb098 | ||
|
|
8a1213f73f | ||
|
|
9ac5676264 | ||
|
|
da05e6a690 | ||
|
|
5dcf4f2419 | ||
|
|
aa69564e94 | ||
|
|
73dc52f0b9 | ||
|
|
ae6c9955fb | ||
|
|
dd494192a1 | ||
|
|
fa9fc61ee6 | ||
|
|
7faf69c42d | ||
|
|
61e5152b36 | ||
|
|
301cc00d3b | ||
|
|
1bd2ed97b2 | ||
|
|
3a9d91bb57 | ||
|
|
a26e5e37b8 | ||
|
|
a2e87ae6d1 | ||
|
|
482dc4ee3c | ||
|
|
e698bc0929 | ||
|
|
d64218ea47 | ||
|
|
afb733429b | ||
|
|
9e24c8b0b8 | ||
|
|
f86ac0a31d | ||
|
|
989a7519d5 | ||
|
|
f811e82ad5 | ||
|
|
52928277c2 | ||
|
|
a4b249905e | ||
|
|
de8c144109 | ||
|
|
86c5732f05 | ||
|
|
4a7159dc6c | ||
|
|
7fe7b5d7e2 | ||
|
|
84f5f8528f | ||
|
|
a28d74d2d2 | ||
|
|
2f25926b52 | ||
|
|
4b0c5ec1e9 | ||
|
|
b3e98fa251 | ||
|
|
ed1dca3b40 | ||
|
|
a27a05e698 | ||
|
|
585aa5fac9 | ||
|
|
a5a086c06e | ||
|
|
ee356181ed | ||
|
|
114c6c6af1 | ||
|
|
96096e769d | ||
|
|
b8d9cea40a | ||
|
|
f9a905424f | ||
|
|
10d29bac27 | ||
|
|
9a3433a769 | ||
|
|
b2dfbca4f7 | ||
|
|
a25c404a31 | ||
|
|
1463ff6353 | ||
|
|
c8cde25280 | ||
|
|
b3d09e5532 | ||
|
|
c764daeac9 | ||
|
|
8e17181225 | ||
|
|
cd66abd80a | ||
|
|
0603231e16 | ||
|
|
e73f197706 | ||
|
|
71409500a9 | ||
|
|
83485ba28d | ||
|
|
598382f216 | ||
|
|
ba2900b4aa | ||
|
|
1774bc1d78 | ||
|
|
b27c41df41 | ||
|
|
a1ec1c4af3 | ||
|
|
666c84f948 | ||
|
|
c1471b042b | ||
|
|
7bd952c2a8 | ||
|
|
18005e1153 | ||
|
|
a2057e286e | ||
|
|
74f084382d | ||
|
|
59d2dceb2c | ||
|
|
b087829d9b | ||
|
|
a6cac026c6 | ||
|
|
81cb734910 | ||
|
|
90790efabe | ||
|
|
8e092dca08 | ||
|
|
fa10fa9e64 | ||
|
|
9c2368bab8 | ||
|
|
815dafff5a | ||
|
|
5f6b9742d1 | ||
|
|
b64b2719bc | ||
|
|
3fcc2c725f | ||
|
|
8126042cb4 | ||
|
|
30d2217876 | ||
|
|
c8de90386d | ||
|
|
1553648f54 | ||
|
|
aef02ded49 | ||
|
|
4bc8b66e3a | ||
|
|
e0f3ba1a46 | ||
|
|
1683c6c470 | ||
|
|
24b279f642 | ||
|
|
e82e2278a2 | ||
|
|
f623b9cc48 | ||
|
|
7808919ea4 | ||
|
|
9ee54a9b3a | ||
|
|
c0b3a3636c | ||
|
|
74c1d7d5f4 | ||
|
|
dd08ddd29d | ||
|
|
2169593a4f | ||
|
|
bf009adc4e | ||
|
|
2dce4a36d9 | ||
|
|
69683b305d | ||
|
|
f459045c8c | ||
|
|
1806cb5075 | ||
|
|
2764048933 | ||
|
|
7012d1083e | ||
|
|
406ddda49f | ||
|
|
1c9af0041d | ||
|
|
9402bfd9ef | ||
|
|
a39a7f8ada | ||
|
|
95143d669f | ||
|
|
5061ab5f05 | ||
|
|
92b78195a1 | ||
|
|
bc70df09bb | ||
|
|
2f327c7f34 | ||
|
|
7650a9d9e4 | ||
|
|
b87d62b760 | ||
|
|
c6c2071280 | ||
|
|
28b012a9cc | ||
|
|
821add521e | ||
|
|
1443d5fffa | ||
|
|
24844c6332 | ||
|
|
a26140a98f | ||
|
|
456b0e7bca | ||
|
|
a1a34e0a9b | ||
|
|
955a34ed82 | ||
|
|
6eb493e1db | ||
|
|
50f3294545 | ||
|
|
1a6915b4d8 | ||
|
|
4bc8a7b528 | ||
|
|
9940a771e1 | ||
|
|
88e4ad1d36 | ||
|
|
3e08e11574 | ||
|
|
215ba7757e | ||
|
|
54041560f5 | ||
|
|
dd553cb9e4 | ||
|
|
1dabc37a3a | ||
|
|
34a52b7574 | ||
|
|
99d96a6ba3 | ||
|
|
b87e838b05 | ||
|
|
652303d907 | ||
|
|
4ebfbeef6d | ||
|
|
27b35f3dcc | ||
|
|
48c448a356 | ||
|
|
af123efc85 | ||
|
|
166a16089f | ||
|
|
e02dc25a9e | ||
|
|
0285f77feb | ||
|
|
bf03365731 | ||
|
|
727433f0db | ||
|
|
1e4a6cbe1c | ||
|
|
543be22259 | ||
|
|
6195ec1bc7 | ||
|
|
f5342d557b | ||
|
|
43a6f9d2d8 | ||
|
|
33795311ba | ||
|
|
60a8a47a86 | ||
|
|
269f95aef7 | ||
|
|
23b6d0adbe | ||
|
|
a70f409dee | ||
|
|
41a201e991 | ||
|
|
4c83ec781b | ||
|
|
63cf4a9893 | ||
|
|
57241aed6a | ||
|
|
fb9e0e1b1a | ||
|
|
fdb24f917f | ||
|
|
2e91541147 | ||
|
|
ebb48992c0 | ||
|
|
3b21e822ac | ||
|
|
66c2f3a08a | ||
|
|
c1c7368372 | ||
|
|
7fda17ac4f | ||
|
|
242256b45d | ||
|
|
79dbd85e74 | ||
|
|
8982646a63 | ||
|
|
fbf9eeb8d7 | ||
|
|
4911e67aa8 | ||
|
|
66d5a12094 | ||
|
|
4d94665d3d | ||
|
|
e3b1f10354 | ||
|
|
d971214e89 | ||
|
|
94fe1350f4 | ||
|
|
494f552020 | ||
|
|
0b219591dd | ||
|
|
28154116c4 | ||
|
|
4488d9300d | ||
|
|
bdf06b6060 | ||
|
|
105f262769 | ||
|
|
1f295ae62d | ||
|
|
7c80315d48 | ||
|
|
93696dfa49 | ||
|
|
2238faa8fd | ||
|
|
5bd7048dfe | ||
|
|
43f4c1dfd6 | ||
|
|
2634943070 | ||
|
|
73db00ea87 | ||
|
|
a9066ef619 | ||
|
|
3e4950247e | ||
|
|
7292e5031b | ||
|
|
98950444e6 | ||
|
|
1249a88daf | ||
|
|
1d3ea9cba8 | ||
|
|
c04d364e49 | ||
|
|
e5e8774bc5 | ||
|
|
1a52475baa | ||
|
|
eac67711b5 | ||
|
|
7ad9855775 | ||
|
|
bffeb8c5aa | ||
|
|
97dcae2fb6 | ||
|
|
4e27c7372b | ||
|
|
67ba4ac017 | ||
|
|
b84a28d9dd | ||
|
|
0d1d166269 | ||
|
|
62dbf128a5 | ||
|
|
6258f69c2c | ||
|
|
fb3d202184 | ||
|
|
ea9d247693 | ||
|
|
65cb579ccc | ||
|
|
ebde935587 | ||
|
|
01f160092e | ||
|
|
053a9d88ee | ||
|
|
742dc8804a | ||
|
|
11b02c5e13 | ||
|
|
0324f0f18b | ||
|
|
35559dd156 | ||
|
|
07e4a0df24 | ||
|
|
eab8963d92 | ||
|
|
8e81a3f7a5 | ||
|
|
294df06bed | ||
|
|
f0801eeaad | ||
|
|
79209163af | ||
|
|
9ae6099323 | ||
|
|
273c2c5fbc | ||
|
|
8e47db95c6 | ||
|
|
87d796becc | ||
|
|
09bf17f365 | ||
|
|
34c138f62a | ||
|
|
0e6ddcffef | ||
|
|
a5fe0f8417 | ||
|
|
c00db580d2 | ||
|
|
4c625eb0d6 | ||
|
|
0e158f1b05 | ||
|
|
3ff5583bb6 | ||
|
|
aecb3ebe6f | ||
|
|
0017571134 | ||
|
|
752fb79cac | ||
|
|
465a0e3b5e | ||
|
|
a0921ba770 | ||
|
|
927ab782d4 | ||
|
|
06f3a96515 | ||
|
|
847f8d0124 | ||
|
|
da8058b5dc | ||
|
|
2029c3f7c4 | ||
|
|
4ed098d64f | ||
|
|
3c652fbccb | ||
|
|
31d84d08e1 | ||
|
|
98185c3285 | ||
|
|
b225f0052c | ||
|
|
7ff05dde60 | ||
|
|
f2e4930801 | ||
|
|
697d5aade0 | ||
|
|
9eba0a5500 | ||
|
|
e302d9c571 | ||
|
|
4475c1fb99 | ||
|
|
ba05e365f0 | ||
|
|
227da5e6ce | ||
|
|
44acfea13a | ||
|
|
e34a8a5084 | ||
|
|
472b34493d | ||
|
|
506a9218f4 | ||
|
|
86b6fbd90c | ||
|
|
da026ebe10 | ||
|
|
b0e6b6a062 | ||
|
|
b4f1cf7143 | ||
|
|
24950c329b | ||
|
|
c3db551fd7 | ||
|
|
70d3f1e772 | ||
|
|
2b3aab956d | ||
|
|
35f7a62c1c | ||
|
|
525eedaf38 | ||
|
|
982d395b6a | ||
|
|
11cfdfba16 | ||
|
|
3cc73c9659 | ||
|
|
82f4ea062b | ||
|
|
8bdaac168a | ||
|
|
5f19438017 | ||
|
|
cedd6e358d | ||
|
|
d010bd778c | ||
|
|
264546ddf1 | ||
|
|
773ad92533 | ||
|
|
876fe14529 | ||
|
|
9a8b88f974 |
300
ABOUT-NLS
300
ABOUT-NLS
@@ -8,7 +8,7 @@ A few packages already provide translations for their messages.
|
||||
|
||||
If you found this `ABOUT-NLS' file inside a distribution, you may
|
||||
assume that the distributed package does use GNU `gettext' internally,
|
||||
itself available at your nearest GNU archive site. But you do *not*
|
||||
itself available at your nearest GNU archive site. But you do _not_
|
||||
need to install GNU `gettext' prior to configuring, installing or using
|
||||
this package with messages translated.
|
||||
|
||||
@@ -22,8 +22,8 @@ related to internationalization, you should tell about the version of
|
||||
`gettext' which is used. The information can be found in the
|
||||
`intl/VERSION' file, in internationalized packages.
|
||||
|
||||
One advise in advance
|
||||
=====================
|
||||
Quick configuration advice
|
||||
==========================
|
||||
|
||||
If you want to exploit the full power of internationalization, you
|
||||
should configure it using
|
||||
@@ -34,13 +34,14 @@ to force usage of internationalizing routines provided within this
|
||||
package, despite the existence of internationalizing capabilities in the
|
||||
operating system where this package is being installed. So far, only
|
||||
the `gettext' implementation in the GNU C library version 2 provides as
|
||||
many features (such as locale alias or message inheritance) as the
|
||||
implementation here. It is also not possible to offer this additional
|
||||
functionality on top of a `catgets' implementation. Future versions of
|
||||
GNU `gettext' will very likely convey even more functionality. So it
|
||||
might be a good idea to change to GNU `gettext' as soon as possible.
|
||||
many features (such as locale alias, message inheritance, automatic
|
||||
charset conversion or plural form handling) as the implementation here.
|
||||
It is also not possible to offer this additional functionality on top
|
||||
of a `catgets' implementation. Future versions of GNU `gettext' will
|
||||
very likely convey even more functionality. So it might be a good idea
|
||||
to change to GNU `gettext' as soon as possible.
|
||||
|
||||
So you need not provide this option if you are using GNU libc 2 or
|
||||
So you need _not_ provide this option if you are using GNU libc 2 or
|
||||
you have installed a recent copy of the GNU gettext package with the
|
||||
included `libintl'.
|
||||
|
||||
@@ -53,23 +54,20 @@ Most such packages use GNU `gettext'. Other packages have their own
|
||||
ways to internationalization, predating GNU `gettext'.
|
||||
|
||||
By default, this package will be installed to allow translation of
|
||||
messages. It will automatically detect whether the system provides
|
||||
usable `catgets' (if using this is selected by the installer) or
|
||||
`gettext' functions. If neither is available, the GNU `gettext' own
|
||||
messages. It will automatically detect whether the system already
|
||||
provides the GNU `gettext' functions. If not, the GNU `gettext' own
|
||||
library will be used. This library is wholly contained within this
|
||||
package, usually in the `intl/' subdirectory, so prior installation of
|
||||
the GNU `gettext' package is *not* required. Installers may use
|
||||
the GNU `gettext' package is _not_ required. Installers may use
|
||||
special options at configuration time for changing the default
|
||||
behaviour. The commands:
|
||||
|
||||
./configure --with-included-gettext
|
||||
./configure --with-catgets
|
||||
./configure --disable-nls
|
||||
|
||||
will respectively bypass any pre-existing `catgets' or `gettext' to use
|
||||
the internationalizing routines provided within this package, enable
|
||||
the use of the `catgets' functions (if found on the locale system), or
|
||||
else, *totally* disable translation of messages.
|
||||
will respectively bypass any pre-existing `gettext' to use the
|
||||
internationalizing routines provided within this package, or else,
|
||||
_totally_ disable translation of messages.
|
||||
|
||||
When you already have GNU `gettext' installed on your system and run
|
||||
configure without an option for your new package, `configure' will
|
||||
@@ -83,18 +81,10 @@ package is more recent, you should use
|
||||
|
||||
to prevent auto-detection.
|
||||
|
||||
By default the configuration process will not test for the `catgets'
|
||||
function and therefore they will not be used. The reasons are already
|
||||
given above: the emulation on top of `catgets' cannot provide all the
|
||||
extensions provided by the GNU `gettext' library. If you nevertheless
|
||||
want to use the `catgets' functions use
|
||||
|
||||
./configure --with-catgets
|
||||
|
||||
to enable the test for `catgets' (this causes no harm if `catgets' is
|
||||
not available on your system). If you really select this option we
|
||||
would like to hear about the reasons because we cannot think of any
|
||||
good one ourself.
|
||||
The configuration process will not test for the `catgets' function
|
||||
and therefore it will not be used. The reason is that even an
|
||||
emulation of `gettext' on top of `catgets' could not provide all the
|
||||
extensions of the GNU `gettext' library.
|
||||
|
||||
Internationalized packages have usually many `po/LL.po' files, where
|
||||
LL gives an ISO 639 two-letter code identifying the language. Unless
|
||||
@@ -110,22 +100,35 @@ Using This Package
|
||||
|
||||
As a user, if your language has been installed for this package, you
|
||||
only have to set the `LANG' environment variable to the appropriate
|
||||
ISO 639 `LL' two-letter code prior to using the programs in the
|
||||
package. For example, let's suppose that you speak German. At the
|
||||
shell prompt, merely execute `setenv LANG de' (in `csh'),
|
||||
`export LANG; LANG=de' (in `sh') or `export LANG=de' (in `bash'). This
|
||||
can be done from your `.login' or `.profile' file, once and for all.
|
||||
`LL_CC' combination. Here `LL' is an ISO 639 two-letter language code,
|
||||
and `CC' is an ISO 3166 two-letter country code. For example, let's
|
||||
suppose that you speak German and live in Germany. At the shell
|
||||
prompt, merely execute `setenv LANG de_DE' (in `csh'),
|
||||
`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
|
||||
This can be done from your `.login' or `.profile' file, once and for
|
||||
all.
|
||||
|
||||
An operating system might already offer message localization for
|
||||
many of its programs, while other programs have been installed locally
|
||||
with the full capabilities of GNU `gettext'. Just using `gettext'
|
||||
extended syntax for `LANG' would break proper localization of already
|
||||
available operating system programs. In this case, users should set
|
||||
both `LANGUAGE' and `LANG' variables in their environment, as programs
|
||||
using GNU `gettext' give preference to `LANGUAGE'. For example, some
|
||||
Swedish users would rather read translations in German than English for
|
||||
when Swedish is not available. This is easily accomplished by setting
|
||||
`LANGUAGE' to `sv:de' while leaving `LANG' to `sv'.
|
||||
You might think that the country code specification is redundant.
|
||||
But in fact, some languages have dialects in different countries. For
|
||||
example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The
|
||||
country code serves to distinguish the dialects.
|
||||
|
||||
Not all programs have translations for all languages. By default, an
|
||||
English message is shown in place of a nonexistent translation. If you
|
||||
understand other languages, you can set up a priority list of languages.
|
||||
This is done through a different environment variable, called
|
||||
`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG'
|
||||
for the purpose of message handling, but you still need to have `LANG'
|
||||
set to the primary language; this is required by other parts of the
|
||||
system libraries. For example, some Swedish users who would rather
|
||||
read translations in German than English for when Swedish is not
|
||||
available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
|
||||
|
||||
In the `LANGUAGE' environment variable, but not in the `LANG'
|
||||
environment variable, `LL_CC' combinations can be abbreviated as `LL'
|
||||
to denote the language's main dialect. For example, `de' is equivalent
|
||||
to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
|
||||
(Portuguese as spoken in Portugal) in this context.
|
||||
|
||||
Translating Teams
|
||||
=================
|
||||
@@ -133,33 +136,21 @@ Translating Teams
|
||||
For the Free Translation Project to be a success, we need interested
|
||||
people who like their own language and write it well, and who are also
|
||||
able to synergize with other translators speaking the same language.
|
||||
Each translation team has its own mailing list, courtesy of Linux
|
||||
International. You may reach your translation team at the address
|
||||
`LL@li.org', replacing LL by the two-letter ISO 639 code for your
|
||||
language. Language codes are *not* the same as the country codes given
|
||||
in ISO 3166. The following translation teams exist, as of December
|
||||
1997:
|
||||
Each translation team has its own mailing list. The up-to-date list of
|
||||
teams can be found at the Free Translation Project's homepage,
|
||||
`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams"
|
||||
area.
|
||||
|
||||
Chinese `zh', Czech `cs', Danish `da', Dutch `nl', English `en',
|
||||
Esperanto `eo', Finnish `fi', French `fr', German `de', Hungarian
|
||||
`hu', Irish `ga', Italian `it', Indonesian `id', Japanese `ja',
|
||||
Korean `ko', Latin `la', Norwegian `no', Persian `fa', Polish
|
||||
`pl', Portuguese `pt', Russian `ru', Slovenian `sl', Spanish `es',
|
||||
Swedish `sv', and Turkish `tr'.
|
||||
|
||||
For example, you may reach the Chinese translation team by writing to
|
||||
`zh@li.org'.
|
||||
|
||||
If you'd like to volunteer to *work* at translating messages, you
|
||||
If you'd like to volunteer to _work_ at translating messages, you
|
||||
should become a member of the translating team for your own language.
|
||||
The subscribing address is *not* the same as the list itself, it has
|
||||
The subscribing address is _not_ the same as the list itself, it has
|
||||
`-request' appended. For example, speakers of Swedish can send a
|
||||
message to `sv-request@li.org', having this message body:
|
||||
|
||||
subscribe
|
||||
|
||||
Keep in mind that team members are expected to participate
|
||||
*actively* in translations, or at solving translational difficulties,
|
||||
_actively_ in translations, or at solving translational difficulties,
|
||||
rather than merely lurking around. If your team does not exist yet and
|
||||
you want to start one, or if you are unsure about what to do or how to
|
||||
get started, please write to `translation@iro.umontreal.ca' to reach the
|
||||
@@ -173,42 +164,128 @@ Available Packages
|
||||
==================
|
||||
|
||||
Languages are not equally supported in all packages. The following
|
||||
matrix shows the current state of internationalization, as of December
|
||||
1997. The matrix shows, in regard of each package, for which languages
|
||||
PO files have been submitted to translation coordination.
|
||||
matrix shows the current state of internationalization, as of September
|
||||
2001. The matrix shows, in regard of each package, for which languages
|
||||
PO files have been submitted to translation coordination, with a
|
||||
translation percentage of at least 50%.
|
||||
|
||||
Ready PO files cs da de en es fi fr it ja ko nl no pl pt ru sl sv
|
||||
.----------------------------------------------------.
|
||||
bash | [] [] [] | 3
|
||||
bison | [] [] [] | 3
|
||||
clisp | [] [] [] [] | 4
|
||||
cpio | [] [] [] [] [] [] | 6
|
||||
diffutils | [] [] [] [] [] | 5
|
||||
enscript | [] [] [] [] [] [] | 6
|
||||
fileutils | [] [] [] [] [] [] [] [] [] [] | 10
|
||||
findutils | [] [] [] [] [] [] [] [] [] | 9
|
||||
flex | [] [] [] [] | 4
|
||||
gcal | [] [] [] [] [] | 5
|
||||
gettext | [] [] [] [] [] [] [] [] [] [] [] | 12
|
||||
grep | [] [] [] [] [] [] [] [] [] [] | 10
|
||||
hello | [] [] [] [] [] [] [] [] [] [] [] | 11
|
||||
id-utils | [] [] [] | 3
|
||||
indent | [] [] [] [] [] | 5
|
||||
libc | [] [] [] [] [] [] [] | 7
|
||||
m4 | [] [] [] [] [] [] | 6
|
||||
make | [] [] [] [] [] [] | 6
|
||||
music | [] [] | 2
|
||||
ptx | [] [] [] [] [] [] [] [] | 8
|
||||
recode | [] [] [] [] [] [] [] [] [] | 9
|
||||
sh-utils | [] [] [] [] [] [] [] [] | 8
|
||||
sharutils | [] [] [] [] [] [] | 6
|
||||
tar | [] [] [] [] [] [] [] [] [] [] [] | 11
|
||||
texinfo | [] [] [] | 3
|
||||
textutils | [] [] [] [] [] [] [] [] [] | 9
|
||||
wdiff | [] [] [] [] [] [] [] [] | 8
|
||||
`----------------------------------------------------'
|
||||
17 languages cs da de en es fi fr it ja ko nl no pl pt ru sl sv
|
||||
27 packages 6 4 25 1 18 1 26 2 1 12 20 9 19 7 4 7 17 179
|
||||
Ready PO files bg cs da de el en eo es et fi fr gl he hr id it ja
|
||||
+----------------------------------------------------+
|
||||
a2ps | [] [] [] |
|
||||
bash | [] [] [] [] |
|
||||
bfd | |
|
||||
binutils | [] |
|
||||
bison | [] [] [] [] [] |
|
||||
clisp | [] [] [] [] |
|
||||
cpio | [] [] [] [] [] |
|
||||
diffutils | [] [] [] [] [] [] [] |
|
||||
enscript | [] [] |
|
||||
error | [] [] |
|
||||
fetchmail | |
|
||||
fileutils | [] [] [] [] [] [] [] [] |
|
||||
findutils | [] [] [] [] [] [] [] [] |
|
||||
flex | [] [] [] |
|
||||
freetype | |
|
||||
gas | |
|
||||
gawk | [] [] |
|
||||
gcal | |
|
||||
gcc | |
|
||||
gettext | [] [] [] [] [] [] [] [] [] [] |
|
||||
gnupg | [] [] [] [] [] [] [] |
|
||||
gprof | |
|
||||
grep | [] [] [] [] [] [] [] [] |
|
||||
hello | [] [] [] [] [] [] [] [] [] [] [] |
|
||||
id-utils | [] [] [] |
|
||||
indent | [] [] [] [] [] |
|
||||
jpilot | [] |
|
||||
kbd | |
|
||||
ld | [] |
|
||||
libc | [] [] [] [] [] [] [] [] |
|
||||
lilypond | [] |
|
||||
lynx | [] [] [] [] |
|
||||
m4 | [] [] [] [] [] [] [] [] |
|
||||
make | [] [] [] [] [] [] |
|
||||
mysecretdiary | [] |
|
||||
nano | [] [] [] |
|
||||
opcodes | |
|
||||
parted | [] [] [] |
|
||||
ptx | [] [] [] [] [] [] [] |
|
||||
python | |
|
||||
recode | [] [] [] [] [] [] [] [] [] |
|
||||
sed | [] [] [] [] [] [] [] [] [] [] [] [] |
|
||||
sh-utils | [] [] [] [] [] [] [] [] [] [] |
|
||||
sharutils | [] [] [] [] [] [] [] [] |
|
||||
sketch | |
|
||||
soundtracker | [] [] [] |
|
||||
sp | |
|
||||
tar | [] [] [] [] [] [] [] [] |
|
||||
texinfo | [] [] [] [] [] [] |
|
||||
textutils | [] [] [] [] [] [] [] [] |
|
||||
util-linux | [] [] |
|
||||
wdiff | [] [] [] |
|
||||
wget | [] [] [] [] [] [] [] [] [] [] |
|
||||
+----------------------------------------------------+
|
||||
bg cs da de el en eo es et fi fr gl he hr id it ja
|
||||
0 14 24 32 11 1 8 23 13 1 33 22 4 0 7 9 18
|
||||
|
||||
ko lv nb nl nn no pl pt pt_BR ru sk sl sv tr uk zh
|
||||
+----------------------------------------------------+
|
||||
a2ps | [] [] [] | 6
|
||||
bash | | 4
|
||||
bfd | | 0
|
||||
binutils | | 1
|
||||
bison | [] | 6
|
||||
clisp | [] | 5
|
||||
cpio | [] [] [] [] [] | 10
|
||||
diffutils | [] [] [] [] | 11
|
||||
enscript | [] [] [] | 5
|
||||
error | [] [] | 4
|
||||
fetchmail | | 0
|
||||
fileutils | [] [] [] [] [] [] [] [] [] | 17
|
||||
findutils | [] [] [] [] [] [] [] [] | 16
|
||||
flex | [] [] [] | 6
|
||||
freetype | | 0
|
||||
gas | | 0
|
||||
gawk | [] | 3
|
||||
gcal | | 0
|
||||
gcc | | 0
|
||||
gettext | [] [] [] [] [] [] [] [] | 18
|
||||
gnupg | [] [] [] | 10
|
||||
gprof | | 0
|
||||
grep | [] [] [] [] | 12
|
||||
hello | [] [] [] [] [] [] [] [] [] [] [] | 22
|
||||
id-utils | [] [] [] | 6
|
||||
indent | [] [] [] [] [] [] [] | 12
|
||||
jpilot | | 1
|
||||
kbd | [] | 1
|
||||
ld | | 1
|
||||
libc | [] [] [] [] [] [] [] [] | 16
|
||||
lilypond | [] [] | 3
|
||||
lynx | [] [] [] [] | 8
|
||||
m4 | [] [] [] [] | 12
|
||||
make | [] [] [] [] [] [] | 12
|
||||
mysecretdiary | | 1
|
||||
nano | [] | 4
|
||||
opcodes | [] | 1
|
||||
parted | [] [] | 5
|
||||
ptx | [] [] [] [] [] [] [] [] | 15
|
||||
python | | 0
|
||||
recode | [] [] [] [] | 13
|
||||
sed | [] [] [] [] [] [] [] | 19
|
||||
sh-utils | [] [] [] [] [] [] [] [] [] [] [] | 21
|
||||
sharutils | [] [] [] | 11
|
||||
sketch | | 0
|
||||
soundtracker | | 3
|
||||
sp | | 0
|
||||
tar | [] [] [] [] [] [] [] | 15
|
||||
texinfo | [] | 7
|
||||
textutils | [] [] [] [] [] [] [] [] | 16
|
||||
util-linux | [] [] | 4
|
||||
wdiff | [] [] [] [] | 7
|
||||
wget | [] [] [] [] [] [] [] | 17
|
||||
+----------------------------------------------------+
|
||||
33 teams ko lv nb nl nn no pl pt pt_BR ru sk sl sv tr uk zh
|
||||
53 domains 9 1 6 20 0 6 17 1 13 25 10 11 23 21 2 2 387
|
||||
|
||||
Some counters in the preceding matrix are higher than the number of
|
||||
visible blocks let us expect. This is because a few extra PO files are
|
||||
@@ -221,6 +298,27 @@ distributed as such by its maintainer. There might be an observable
|
||||
lag between the mere existence a PO file and its wide availability in a
|
||||
distribution.
|
||||
|
||||
If December 1997 seems to be old, you may fetch a more recent copy
|
||||
of this `ABOUT-NLS' file on most GNU archive sites.
|
||||
If September 2001 seems to be old, you may fetch a more recent copy
|
||||
of this `ABOUT-NLS' file on most GNU archive sites. The most
|
||||
up-to-date matrix with full percentage details can be found at
|
||||
`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
|
||||
|
||||
Using `gettext' in new packages
|
||||
===============================
|
||||
|
||||
If you are writing a freely available program and want to
|
||||
internationalize it you are welcome to use GNU `gettext' in your
|
||||
package. Of course you have to respect the GNU Library General Public
|
||||
License which covers the use of the GNU `gettext' library. This means
|
||||
in particular that even non-free programs can use `libintl' as a shared
|
||||
library, whereas only free software can use `libintl' as a static
|
||||
library or use modified versions of `libintl'.
|
||||
|
||||
Once the sources are changed appropriately and the setup can handle
|
||||
to use of `gettext' the only thing missing are the translations. The
|
||||
Free Translation Project is also available for packages which are not
|
||||
developed inside the GNU project. Therefore the information given above
|
||||
applies also for every other Free Software Project. Contact
|
||||
`translation@iro.umontreal.ca' to make the `.pot' files available to
|
||||
the translation teams.
|
||||
|
||||
|
||||
116
INSTALL
116
INSTALL
@@ -8,20 +8,27 @@ various system-dependent variables used during compilation. It uses
|
||||
those values to create a `Makefile' in each directory of the package.
|
||||
It may also create one or more `.h' files containing system-dependent
|
||||
definitions. Finally, it creates a shell script `config.status' that
|
||||
you can run in the future to recreate the current configuration, a file
|
||||
`config.cache' that saves the results of its tests to speed up
|
||||
reconfiguring, and a file `config.log' containing compiler output
|
||||
(useful mainly for debugging `configure').
|
||||
you can run in the future to recreate the current configuration, and a
|
||||
file `config.log' containing compiler output (useful mainly for
|
||||
debugging `configure').
|
||||
|
||||
It can also use an optional file (typically called `config.cache'
|
||||
and enabled with `--cache-file=config.cache' or simply `-C') that saves
|
||||
the results of its tests to speed up reconfiguring. (Caching is
|
||||
disabled by default to prevent problems with accidental use of stale
|
||||
cache files.)
|
||||
|
||||
If you need to do unusual things to compile the package, please try
|
||||
to figure out how `configure' could check whether to do them, and mail
|
||||
diffs or instructions to the address given in the `README' so they can
|
||||
be considered for the next release. If at some point `config.cache'
|
||||
contains results you don't want to keep, you may remove or edit it.
|
||||
be considered for the next release. If you are using the cache, and at
|
||||
some point `config.cache' contains results you don't want to keep, you
|
||||
may remove or edit it.
|
||||
|
||||
The file `configure.in' is used to create `configure' by a program
|
||||
called `autoconf'. You only need `configure.in' if you want to change
|
||||
it or regenerate `configure' using a newer version of `autoconf'.
|
||||
The file `configure.ac' (or `configure.in') is used to create
|
||||
`configure' by a program called `autoconf'. You only need
|
||||
`configure.ac' if you want to change it or regenerate `configure' using
|
||||
a newer version of `autoconf'.
|
||||
|
||||
The simplest way to compile this package is:
|
||||
|
||||
@@ -55,14 +62,15 @@ Compilers and Options
|
||||
=====================
|
||||
|
||||
Some systems require unusual options for compilation or linking that
|
||||
the `configure' script does not know about. You can give `configure'
|
||||
initial values for variables by setting them in the environment. Using
|
||||
a Bourne-compatible shell, you can do that on the command line like
|
||||
this:
|
||||
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
|
||||
the `configure' script does not know about. Run `./configure --help'
|
||||
for details on some of the pertinent environment variables.
|
||||
|
||||
Or on systems that have the `env' program, you can do it like this:
|
||||
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
|
||||
You can give `configure' initial values for variables by setting
|
||||
them in the environment. You can do that on the command line like this:
|
||||
|
||||
./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
|
||||
|
||||
*Note Environment Variables::, for more details.
|
||||
|
||||
Compiling For Multiple Architectures
|
||||
====================================
|
||||
@@ -75,7 +83,7 @@ directory where you want the object files and executables to go and run
|
||||
the `configure' script. `configure' automatically checks for the
|
||||
source code in the directory that `configure' is in and in `..'.
|
||||
|
||||
If you have to use a `make' that does not supports the `VPATH'
|
||||
If you have to use a `make' that does not support the `VPATH'
|
||||
variable, you have to compile the package for one architecture at a time
|
||||
in the source code directory. After you have installed the package for
|
||||
one architecture, use `make distclean' before reconfiguring for another
|
||||
@@ -122,22 +130,36 @@ you can use the `configure' options `--x-includes=DIR' and
|
||||
Specifying the System Type
|
||||
==========================
|
||||
|
||||
There may be some features `configure' can not figure out
|
||||
There may be some features `configure' cannot figure out
|
||||
automatically, but needs to determine by the type of host the package
|
||||
will run on. Usually `configure' can figure that out, but if it prints
|
||||
a message saying it can not guess the host type, give it the
|
||||
`--host=TYPE' option. TYPE can either be a short name for the system
|
||||
type, such as `sun4', or a canonical name with three fields:
|
||||
a message saying it cannot guess the host type, give it the
|
||||
`--build=TYPE' option. TYPE can either be a short name for the system
|
||||
type, such as `sun4', or a canonical name which has the form:
|
||||
|
||||
CPU-COMPANY-SYSTEM
|
||||
|
||||
See the file `config.sub' for the possible values of each field. If
|
||||
where SYSTEM can have one of these forms:
|
||||
|
||||
OS
|
||||
KERNEL-OS
|
||||
|
||||
See the file `config.sub' for the possible values of each field. If
|
||||
`config.sub' isn't included in this package, then this package doesn't
|
||||
need to know the host type.
|
||||
|
||||
If you are building compiler tools for cross-compiling, you can also
|
||||
If you are _building_ compiler tools for cross-compiling, you should
|
||||
use the `--target=TYPE' option to select the type of system they will
|
||||
produce code for and the `--build=TYPE' option to select the type of
|
||||
system on which you are compiling the package.
|
||||
produce code for.
|
||||
|
||||
If you want to _use_ a cross compiler, that generates code for a
|
||||
platform different from the build platform, you should specify the host
|
||||
platform (i.e., that on which the generated programs will eventually be
|
||||
run) with `--host=TYPE'. In this case, you should also specify the
|
||||
build platform with `--build=TYPE', because, in this case, it may not
|
||||
be possible to guess the build platform (it sometimes involves
|
||||
compiling and running simple test programs, and this can't be done if
|
||||
the compiler is a cross compiler).
|
||||
|
||||
Sharing Defaults
|
||||
================
|
||||
@@ -150,20 +172,44 @@ default values for variables like `CC', `cache_file', and `prefix'.
|
||||
`CONFIG_SITE' environment variable to the location of the site script.
|
||||
A warning: not all `configure' scripts look for a site script.
|
||||
|
||||
Operation Controls
|
||||
==================
|
||||
Environment Variables
|
||||
=====================
|
||||
|
||||
Variables not defined in a site shell script can be set in the
|
||||
environment passed to configure. However, some packages may run
|
||||
configure again during the build, and the customized values of these
|
||||
variables may be lost. In order to avoid this problem, you should set
|
||||
them in the `configure' command line, using `VAR=value'. For example:
|
||||
|
||||
./configure CC=/usr/local2/bin/gcc
|
||||
|
||||
will cause the specified gcc to be used as the C compiler (unless it is
|
||||
overridden in the site shell script).
|
||||
|
||||
`configure' Invocation
|
||||
======================
|
||||
|
||||
`configure' recognizes the following options to control how it
|
||||
operates.
|
||||
|
||||
`--cache-file=FILE'
|
||||
Use and save the results of the tests in FILE instead of
|
||||
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
|
||||
debugging `configure'.
|
||||
|
||||
`--help'
|
||||
`-h'
|
||||
Print a summary of the options to `configure', and exit.
|
||||
|
||||
`--version'
|
||||
`-V'
|
||||
Print the version of Autoconf used to generate the `configure'
|
||||
script, and exit.
|
||||
|
||||
`--cache-file=FILE'
|
||||
Enable the cache: use and save the results of the tests in FILE,
|
||||
traditionally `config.cache'. FILE defaults to `/dev/null' to
|
||||
disable caching.
|
||||
|
||||
`--config-cache'
|
||||
`-C'
|
||||
Alias for `--cache-file=config.cache'.
|
||||
|
||||
`--quiet'
|
||||
`--silent'
|
||||
`-q'
|
||||
@@ -175,8 +221,6 @@ operates.
|
||||
Look for the package's source code in directory DIR. Usually
|
||||
`configure' can determine that directory automatically.
|
||||
|
||||
`--version'
|
||||
Print the version of Autoconf used to generate the `configure'
|
||||
script, and exit.
|
||||
`configure' also accepts some other, not widely useful, options. Run
|
||||
`configure --help' for more details.
|
||||
|
||||
`configure' also accepts some other, not widely useful, options.
|
||||
|
||||
26
Makefile.cfg
26
Makefile.cfg
@@ -1,3 +1,4 @@
|
||||
# -*- makefile -*-
|
||||
## Customize Makefile.maint.
|
||||
|
||||
move_if_change = move-if-change
|
||||
@@ -19,3 +20,28 @@ wget_files = \
|
||||
$(srcdir)/config.sub \
|
||||
$(srcdir)/doc/texinfo.tex \
|
||||
$(srcdir)/src/ansi2knr.c
|
||||
|
||||
###############################################
|
||||
|
||||
# FIXME: CAUTION this list is a duplicate of one in lib/Makefile.am.
|
||||
io_functions = \
|
||||
clearerr feof ferror fflush fgets fputc fputs \
|
||||
fread fwrite getc getchar putc putchar
|
||||
unlocked_io_functions = $(patsubst %,%_unlocked,$(io_functions))
|
||||
|
||||
comma_separated = $(shell echo $(unlocked_io_functions)|tr -s ' ' ,)
|
||||
|
||||
# This temp file may not be e.g., $@t, since that may be in a read-only
|
||||
# directory. Instead, use a file in the current directory.
|
||||
t_io = $(notdir $@)t
|
||||
|
||||
# This rule requires GNU make.
|
||||
$(srcdir)/m4/jm-glibc-io.m4: $(srcdir)/m4/jm-glibc-io.m4n Makefile.cfg
|
||||
echo dnl This file is automatically generated from $(notdir $<). \
|
||||
> $(t_io)
|
||||
echo >> $(t_io)
|
||||
sed \
|
||||
-e 's/@space_separated@/$(unlocked_io_functions)/g' \
|
||||
-e 's/@comma_separated@/$(comma_separated)/g' \
|
||||
$< >> $(t_io)
|
||||
move-if-change $(t_io) $@
|
||||
|
||||
106
Makefile.maint
106
Makefile.maint
@@ -1,6 +1,31 @@
|
||||
# -*-Makefile-*-
|
||||
# This Makefile fragment is shared between fileutils, sh-utils, textutils,
|
||||
# and Autoconf.
|
||||
# CPPI, Bison, and Autoconf.
|
||||
|
||||
## Copyright 2001 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 2, 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, write to the Free Software
|
||||
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
## 02111-1307, USA.
|
||||
|
||||
# Do not save the original name or timestamp in the .tar.gz file.
|
||||
GZIP_ENV = '--no-name --best'
|
||||
|
||||
# Automake 1.4 does not define AMTAR.
|
||||
AMTAR ?= $(TAR)
|
||||
|
||||
CVS = cvs
|
||||
|
||||
prev_version_file ?= .prev-version
|
||||
|
||||
@@ -17,7 +42,7 @@ my_distdir = $(PACKAGE)-$(VERSION)
|
||||
|
||||
# Old releases are stored here.
|
||||
# Used for diffs and xdeltas.
|
||||
release-archive-dir ?= ../release
|
||||
release_archive_dir ?= ../release
|
||||
|
||||
|
||||
|
||||
@@ -25,6 +50,13 @@ release-archive-dir ?= ../release
|
||||
## Sanity checks. ##
|
||||
## --------------- ##
|
||||
|
||||
# Checks that don't require cvs.
|
||||
# Run `changelog-check' last, as previous test may reveal problems requiring
|
||||
# new ChangeLog entries.
|
||||
local-check: po-check copyright-check writable-files \
|
||||
m4-check author_mark_check \
|
||||
changelog-check
|
||||
|
||||
changelog-check:
|
||||
if head ChangeLog | grep 'Version $(VERSION)' >/dev/null; then \
|
||||
:; \
|
||||
@@ -33,6 +65,11 @@ changelog-check:
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
m4-check:
|
||||
@grep 'AC_DEFUN([^[]' m4/*.m4 \
|
||||
&& { echo 'Makefile.maint: quote the first arg to AC_DEFUN' 1>&2; \
|
||||
exit 1; } || :
|
||||
|
||||
# Verify that all source files using _() are listed in po/POTFILES.in.
|
||||
po-check:
|
||||
if test -f po/POTFILES.in; then \
|
||||
@@ -42,34 +79,49 @@ po-check:
|
||||
rm -f $@-1 $@-2; \
|
||||
fi
|
||||
|
||||
# In a definition of #define AUTHORS "... and ..." where the RHS contains
|
||||
# the English word `and', the string must be marked with `N_ (...)' so that
|
||||
# gettext recognizes it as a string requiring translation.
|
||||
author_mark_check:
|
||||
@grep '^# *define AUTHORS "[^"]* and ' src/*.c |grep -v ' N_ (' && \
|
||||
{ echo 'Makefile.maint: enclose the above strings in N_ (...)' 1>&2; \
|
||||
exit 1; } || :
|
||||
|
||||
# Check that `make alpha' will not fail at the end of the process.
|
||||
writable-files:
|
||||
if test -d $(release-archive-dir); then :; else \
|
||||
mkdir $(release-archive-dir); \
|
||||
if test -d $(release_archive_dir); then :; else \
|
||||
mkdir $(release_archive_dir); \
|
||||
fi
|
||||
for file in $(distdir).tar.gz $(xd-delta) \
|
||||
$(release-archive-dir)/$(distdir).tar.gz \
|
||||
$(release-archive-dir)/$(xd-delta); do \
|
||||
$(release_archive_dir)/$(distdir).tar.gz \
|
||||
$(release_archive_dir)/$(xd-delta); do \
|
||||
test -e $$file || continue; \
|
||||
test -w $$file \
|
||||
|| { echo ERROR: $$file is not writable; fail=1; }; \
|
||||
done; \
|
||||
test "$$fail" && exit 1 || :
|
||||
|
||||
# Checks that don't require cvs.
|
||||
local-check: changelog-check po-check writable-files check-copyright
|
||||
v_etc_file = lib/version-etc.c
|
||||
# Make sure that the copyright date in $(v_etc_file) is up to date.
|
||||
copyright-check:
|
||||
@if test -f $(v_etc_file); then \
|
||||
grep '"Copyright (C) $(shell date +%Y) Free' $(v_etc_file) \
|
||||
>/dev/null \
|
||||
|| { echo 'out of date copyright in $(v_etc_file); update it' 1>&2; \
|
||||
exit 1; }; \
|
||||
fi
|
||||
|
||||
|
||||
# Sanity checks with the CVS repository.
|
||||
cvs-tag-check:
|
||||
echo $(this-cvs-tag); \
|
||||
if cvs -n log -h README | grep -e $(this-cvs-tag): >/dev/null; then \
|
||||
if $(CVS) -n log -h README | grep -e $(this-cvs-tag): >/dev/null; then \
|
||||
echo "$(this-cvs-tag) as already been used; not tagging" 1>&2; \
|
||||
exit 1; \
|
||||
else :; fi
|
||||
|
||||
cvs-diff-check:
|
||||
if cvs diff >cvs-diffs; then \
|
||||
if $(CVS) diff >cvs-diffs; then \
|
||||
rm cvs-diffs; \
|
||||
else \
|
||||
echo "Some files are locally modified:" 1>&2; \
|
||||
@@ -84,18 +136,12 @@ maintainer-distcheck: changelog-check
|
||||
$(MAKE) my-distcheck
|
||||
|
||||
|
||||
# Do not save the original name or timestamp in the .tar.gz file.
|
||||
GZIP_ENV = '--no-name --best'
|
||||
|
||||
# Automake 1.4 does not define AMTAR.
|
||||
AMTAR ?= $(TAR)
|
||||
|
||||
# Tag before making distribution. Also, don't make a distribution if
|
||||
# checks fail. Also, make sure the NEWS file is up-to-date.
|
||||
# FIXME: use dist-hook/my-dist like distcheck-hook/my-distcheck.
|
||||
cvs-dist: cvs-check maintainer-distcheck
|
||||
cvs update po
|
||||
cvs tag -c $(this-cvs-tag)
|
||||
cvs-dist: local-check cvs-check maintainer-distcheck
|
||||
$(CVS) update po
|
||||
$(CVS) tag -c $(this-cvs-tag)
|
||||
$(MAKE) dist
|
||||
|
||||
# Use this to make sure we don't run these programs when building
|
||||
@@ -112,7 +158,7 @@ null_AM_MAKEFLAGS = \
|
||||
# and building with CFLAGS='-Wformat -Werror' causes any format warning to be
|
||||
# treated as a failure.
|
||||
t=./=test
|
||||
my-distcheck: writable-files po-check
|
||||
my-distcheck: local-check
|
||||
-rm -rf $(t)
|
||||
mkdir $(t)
|
||||
GZIP=$(GZIP_ENV) $(AMTAR) -C $(t) -zxf $(distdir).tar.gz
|
||||
@@ -195,7 +241,7 @@ announcement: NEWS ChangeLog $(rel-files)
|
||||
echo; \
|
||||
echo ChangeLog entries:; \
|
||||
find . -name ChangeLog -maxdepth 2 \
|
||||
| xargs cvs diff -up -r$(prev-cvs-tag) -rHEAD \
|
||||
| xargs $(CVS) diff -up -r$(prev-cvs-tag) -rHEAD \
|
||||
| sed -n 's/^+//p' \
|
||||
| perl -ne 'm!^\+\+ (\./)?! or print,next;' \
|
||||
-e 'print "\n"."*"x70 ."\n"; s///; print; print "*"x70 ."\n"'; \
|
||||
@@ -236,10 +282,10 @@ $(get-targets):
|
||||
automake_repo=:pserver:anoncvs@anoncvs.cygnus.com:/cvs/automake
|
||||
.PHONY: wget-update
|
||||
wget-update: $(get-targets)
|
||||
for f in depcomp missing; do \
|
||||
for f in depcomp missing mkinstalldirs; do \
|
||||
test -f $$f || continue; \
|
||||
echo checking out $$f...; \
|
||||
cvs -d $(automake_repo) co -p automake/lib/$$f > $$f.t \
|
||||
$(CVS) -d $(automake_repo) co -p automake/lib/$$f > $$f.t \
|
||||
&& $(move_if_change) $$f.t $$f; \
|
||||
done
|
||||
|
||||
@@ -254,23 +300,15 @@ define emit-rsync-commands
|
||||
echo =====================================
|
||||
endef
|
||||
|
||||
# Make sure that the copyright date in lib/version-etc.c is up to date.
|
||||
check-copyright:
|
||||
@if test -f lib/version-etc.c; then \
|
||||
grep 'N_("Copyright (C) $(shell date +%Y) Free' lib/version-etc.c \
|
||||
> /dev/null \
|
||||
|| { echo 'out of date copyright in $<; update it' 1>&2; exit 1; }; \
|
||||
fi
|
||||
|
||||
$(xd-delta): $(release-archive-dir)/$(prev-tgz) $(distdir).tar.gz
|
||||
$(xd-delta): $(release_archive_dir)/$(prev-tgz) $(distdir).tar.gz
|
||||
xdelta delta -9 $^ $@ || :
|
||||
|
||||
alpha: local-check
|
||||
$(MAKE) cvs-dist
|
||||
$(MAKE) $(xd-delta)
|
||||
$(MAKE) -s announcement > /tmp/announce-$(my_distdir)
|
||||
ln $(rel-files) $(release-archive-dir)
|
||||
ln $(rel-files) $(release_archive_dir)
|
||||
chmod a-w $(rel-files)
|
||||
echo $(VERSION) > $(prev_version_file)
|
||||
cvs ci -m. $(prev_version_file)
|
||||
$(CVS) ci -m. $(prev_version_file)
|
||||
@$(emit-rsync-commands)
|
||||
|
||||
10
THANKS
10
THANKS
@@ -39,6 +39,7 @@ Axel Kittenberger Anshil@gmx.net
|
||||
Bauke Jan Douma bjdouma@xs4all.nl
|
||||
Bengt Martensson bengt@mathematik.uni-Bremen.de
|
||||
Bernd Leibing bernd.leibing@rz.uni-ulm.de
|
||||
Bernhard Baehr bernhard.baehr@gmx.de
|
||||
Bernhard Rosenkraenzer bero@redhat.de
|
||||
Bill Peters peters@gaffel.as.arizona.edu
|
||||
Bjorn Helgaas helgaas@rsn.hp.com
|
||||
@@ -55,6 +56,7 @@ Carlos Canau Carlos.Canau@relay.puug.pt
|
||||
Charles Karney karney@pppl.gov
|
||||
Charles Randall crandall@matchlogic.com
|
||||
Chip Salzenberg chip@valinux.com
|
||||
Chris Faylor cgf@cygnus.com
|
||||
Chris Sylvain csylvain@umm.edu
|
||||
Chris Yeo cyeo@biking.org
|
||||
Christi Alice Scarborough christi@chiark.greenend.org.uk
|
||||
@@ -64,6 +66,7 @@ Christian von Roques roques@pond.sub.org
|
||||
Chuck Hedrick hedrick@klinzhai.rutgers.edu
|
||||
Clark Morgan cmorgan@aracnet.com
|
||||
Colin Plumb colin@nyx.net
|
||||
Colin Watson cjw44@riva.ucam.org
|
||||
Collin Rogowski collin@rogowski.de
|
||||
Dale Scheetz dwarf@polaris.net
|
||||
Dan Hagerty hag@gnu.ai.it.edu
|
||||
@@ -91,6 +94,7 @@ Eli Zaretskii eliz@is.elta.co.il
|
||||
Emile LeBlanc leblanc@math.toronto.edu
|
||||
Eric Backus ericb@lsid.hp.com
|
||||
Eric G. Miller egm2@jps.net
|
||||
Eric S. Raymond esr@snark.thyrsus.com
|
||||
Erik Bennett bennett@cvo.oneworld.com
|
||||
Erik Corry erik@kroete2.freinet.de
|
||||
Felix Lee flee@teleport.com
|
||||
@@ -107,6 +111,7 @@ Gary Anderson ganderson@clark.net
|
||||
Gaël Quéri gqueri@mail.dotcom.fr
|
||||
Geoff Kuenning geoff@cs.hmc.edu
|
||||
Geoff Odhner geoff@franklin.com
|
||||
Geoff Whale geoffw@cse.unsw.EDU.AU
|
||||
Gerhard Poul gpoul@gnu.org
|
||||
Germano Leichsenring germano@jedi.cs.kobe-u.ac.jp
|
||||
GOTO Masanori gotom@debian.or.jp
|
||||
@@ -123,6 +128,7 @@ Herbert Xu herbert@gondor.apana.org.au
|
||||
Holger Berger hberger@ess.nec.de
|
||||
Hon-Yin Kok hkok@yoda.unl.edu
|
||||
Hugh Daniel hugh@xanadu.com
|
||||
Ian Bruce ian.bruce@myrealbox.com
|
||||
Ian Jackson ijackson@chiark.greenend.org.uk
|
||||
Ian Lance Taylor ian@cygnus.com
|
||||
Ian Turner vectro@pipeline.com
|
||||
@@ -234,7 +240,9 @@ Michiel Bacchiani bacchian@raven.bu.edu
|
||||
Miles Bader miles@gnu.ai.mit.edu
|
||||
Minh Tran-Le tranle@intellicorp.com
|
||||
Morten Welinder terra@diku.dk
|
||||
Neal H Walfield neal@cs.uml.edu
|
||||
Nelson H. F. Beebe beebe@math.utah.edu
|
||||
Nick Lawes nlawes@silverplatter.com
|
||||
Niklas Edmundsson nikke@acc.umu.se
|
||||
Noah Friedman friedman@splode.com
|
||||
Noel Cragg noel@red-bean.com
|
||||
@@ -252,6 +260,8 @@ Peter Eriksson peter@ifm.liu.se
|
||||
Peter Moulder reiter@netspace.net.au
|
||||
Peter Samuelson psamuels@sampo.creighton.edu
|
||||
Peter Seebach seebs@taniemarie.solon.com
|
||||
Petter Reinholdtsen pere@hungry.com
|
||||
Phelippe Neveu pneveu@pcigeomatics.com
|
||||
Phil Richards phil.richards@vf.vodafone.co.uk
|
||||
Philippe De Muyter phdm@macqel.be
|
||||
Philippe Schnoebelen Philippe.Schnoebelen@imag.fr
|
||||
|
||||
@@ -1,3 +1,72 @@
|
||||
2001-10-21 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* coreutils.texi (cp invocation): Describe --reply=...
|
||||
|
||||
2001-10-17 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* coreutils.texi (cp invocation): `cp --no-dereference' is
|
||||
no longer equivalent to `cp -d'.
|
||||
`cp -d' is equivalent to `--no-dereference --preserve=links'.
|
||||
cp's -P option means --no-dereference, not --parents.
|
||||
Describe new optional argument to --preserve.
|
||||
Describe new option: --no-preserve=ATTRIBUTE_LIST.
|
||||
|
||||
2001-09-23 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* Makefile.am (check-texinfo): Redirect stderr of `grep -w' to
|
||||
/dev/null, so people with old versions of grep don't see the failure.
|
||||
|
||||
2001-09-16 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* coreutils.texi (mv invocation): Describe new option:
|
||||
--reply={yes,no,query}. Fix a few typos.
|
||||
|
||||
2001-09-15 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* coreutils.texi (uniq invocation): The input need not
|
||||
be sorted. Try to clarify -d versus -D versus -u.
|
||||
|
||||
2001-09-12 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* coreutils.texi (tail invocation): Document new option: -F.
|
||||
From Herbert Xu.
|
||||
|
||||
2001-09-04 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* coreutils.texi (join invocation): Describe the GNU
|
||||
extension to join, which does not require sorted input when
|
||||
the input contains no unpairable lines.
|
||||
|
||||
2001-09-03 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* coreutils.texi:
|
||||
New 'uname' options -i or --hardware-platform,
|
||||
and -o or --operating-system.
|
||||
'uname -a' now outputs -i and -o information at the end.
|
||||
New uname option --kernel-version is an alias for -v.
|
||||
Uname option --release has been renamed to --kernel-release,
|
||||
and --sysname has been renamed to --kernel-name;
|
||||
the old options will work for a while, but are no longer documented.
|
||||
|
||||
2001-08-24 Herbert Xu <herbert@gondor.apana.org.au>
|
||||
|
||||
* coreutils.texi (cut invocation): Document how cut treats lines
|
||||
with no separators.
|
||||
|
||||
2001-06-19 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* coreutils.texi: expr now uses LC_COLLATE for string comparison,
|
||||
as per POSIX.
|
||||
|
||||
2001-08-25 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* coreutils.texi: Use @option, rather than @samp everywhere.
|
||||
|
||||
2001-06-21 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* coreutils.texi: 'expr' now requires '+' rather than 'quote'
|
||||
to quote tokens.
|
||||
|
||||
2001-07-14 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* coreutils.texi (cp invocation): Reflect 2001-07-08 change to
|
||||
|
||||
@@ -31,6 +31,6 @@ $(INFO_DEPS): $(EXTRA_DIST)
|
||||
# List words/regexps here that should not appear in the texinfo documentation.
|
||||
check-texinfo:
|
||||
grep timezone $(srcdir)/*.texi && exit 1 || :
|
||||
grep -w POSIX $(srcdir)/*.texi && exit 1 || :
|
||||
grep -w POSIX $(srcdir)/*.texi 2> /dev/null && exit 1 || :
|
||||
|
||||
check: check-texinfo
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Makefile.in generated automatically by automake 1.4i from Makefile.am.
|
||||
# Makefile.in generated automatically by automake 1.5 from Makefile.am.
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
@@ -59,6 +59,7 @@ host_alias = @host_alias@
|
||||
host_triplet = @host@
|
||||
AMTAR = @AMTAR@
|
||||
AWK = @AWK@
|
||||
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
|
||||
CATALOGS = @CATALOGS@
|
||||
CATOBJEXT = @CATOBJEXT@
|
||||
CC = @CC@
|
||||
@@ -66,6 +67,7 @@ CPP = @CPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
EXEEXT = @EXEEXT@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -73,14 +75,13 @@ GLIBC21 = @GLIBC21@
|
||||
GMOFILES = @GMOFILES@
|
||||
GMSGFMT = @GMSGFMT@
|
||||
GNU_PACKAGE = @GNU_PACKAGE@
|
||||
GT_NO = @GT_NO@
|
||||
GT_YES = @GT_YES@
|
||||
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
|
||||
HELP2MAN = @HELP2MAN@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
INSTOBJEXT = @INSTOBJEXT@
|
||||
INTLDEPS = @INTLDEPS@
|
||||
INTLBISON = @INTLBISON@
|
||||
INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBICONV = @LIBICONV@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
@@ -91,6 +92,7 @@ MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
MSGFMT = @MSGFMT@
|
||||
NEED_SETGID = @NEED_SETGID@
|
||||
OBJEXT = @OBJEXT@
|
||||
OPTIONAL_BIN_PROGS = @OPTIONAL_BIN_PROGS@
|
||||
OPTIONAL_BIN_ZCRIPTS = @OPTIONAL_BIN_ZCRIPTS@
|
||||
PACKAGE = @PACKAGE@
|
||||
@@ -106,10 +108,9 @@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
VERSION = @VERSION@
|
||||
YACC = @YACC@
|
||||
_am_include = @_am_include@
|
||||
_am_quote = @_am_quote@
|
||||
am__include = @am__include@
|
||||
am__quote = @am__quote@
|
||||
install_sh = @install_sh@
|
||||
l = @l@
|
||||
|
||||
info_TEXINFOS = coreutils.texi
|
||||
|
||||
@@ -124,8 +125,6 @@ EXTRA_DIST = perm.texi getdate.texi constants.texi doclicense.texi
|
||||
# and those names all map to one 14-byte name (<package>.info-) on some crufty
|
||||
# old systems.
|
||||
MAKEINFO = makeinfo --no-split
|
||||
EXEEXT =
|
||||
OBJEXT = o
|
||||
subdir = doc
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
@@ -140,9 +139,9 @@ all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .dvi .info .ps .texi
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnits doc/Makefile
|
||||
$(AUTOMAKE) --gnu doc/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && \
|
||||
CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
@@ -150,7 +149,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
|
||||
$(srcdir)/version.texi: $(srcdir)/stamp-vti
|
||||
@:
|
||||
$(srcdir)/stamp-vti: coreutils.texi $(top_srcdir)/configure.in
|
||||
$(srcdir)/stamp-vti: coreutils.texi $(top_srcdir)/configure.ac
|
||||
@(set `$(SHELL) $(srcdir)/mdate-sh $(srcdir)/coreutils.texi`; \
|
||||
echo "@set UPDATED $$1 $$2 $$3"; \
|
||||
echo "@set UPDATED-MONTH $$2 $$3"; \
|
||||
@@ -381,7 +380,7 @@ $(INFO_DEPS): $(EXTRA_DIST)
|
||||
# List words/regexps here that should not appear in the texinfo documentation.
|
||||
check-texinfo:
|
||||
grep timezone $(srcdir)/*.texi && exit 1 || :
|
||||
grep -w POSIX $(srcdir)/*.texi && exit 1 || :
|
||||
grep -w POSIX $(srcdir)/*.texi 2> /dev/null && exit 1 || :
|
||||
|
||||
check: check-texinfo
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,7 @@
|
||||
% Load plain if necessary, i.e., if running under initex.
|
||||
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
|
||||
%
|
||||
\def\texinfoversion{2001-06-21.10}
|
||||
\def\texinfoversion{2001-07-25.07}
|
||||
%
|
||||
% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
|
||||
% 2000, 01 Free Software Foundation, Inc.
|
||||
@@ -1614,6 +1614,10 @@ where each line of input produces a line of output.}
|
||||
\oldpage
|
||||
\endgroup
|
||||
%
|
||||
% Need this before the \...aftertitlepage checks so that if they are
|
||||
% in effect the toc pages will come out with page numbers.
|
||||
\HEADINGSon
|
||||
%
|
||||
% If they want short, they certainly want long too.
|
||||
\ifsetshortcontentsaftertitlepage
|
||||
\shortcontents
|
||||
@@ -1629,8 +1633,6 @@ where each line of input produces a line of output.}
|
||||
\fi
|
||||
%
|
||||
\ifpdf \pdfmakepagedesttrue \fi
|
||||
%
|
||||
\HEADINGSon
|
||||
}
|
||||
|
||||
\def\finishtitlepage{%
|
||||
@@ -2392,13 +2394,15 @@ width0pt\relax} \fi
|
||||
%
|
||||
\def\ignore{\doignore{ignore}}
|
||||
|
||||
% Ignore @ifinfo, @ifhtml, @ifnottex, @html, @menu, and @direntry text.
|
||||
% Also ignore @ifinfo, @ifhtml, @ifnottex, @html, @menu,
|
||||
% @documentdescription, and @direntry text.
|
||||
%
|
||||
\def\ifinfo{\doignore{ifinfo}}
|
||||
\def\ifhtml{\doignore{ifhtml}}
|
||||
\def\ifnottex{\doignore{ifnottex}}
|
||||
\def\html{\doignore{html}}
|
||||
\def\menu{\doignore{menu}}
|
||||
\def\documentdescription{\doignore{documentdescription}}
|
||||
\def\direntry{\doignore{direntry}}
|
||||
|
||||
% @dircategory CATEGORY -- specify a category of the dir file
|
||||
|
||||
@@ -11,3 +11,4 @@ safe-lstat.h
|
||||
safe-stat.c
|
||||
safe-stat.h
|
||||
stat.c
|
||||
unlocked-io.h
|
||||
|
||||
418
lib/ChangeLog
418
lib/ChangeLog
@@ -1,3 +1,414 @@
|
||||
2001-11-03 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
|
||||
in argmatch_to_argument call.
|
||||
|
||||
* dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
|
||||
argument.
|
||||
|
||||
* hash.c (hash_clear): Fix a bug that could lead to an infloop or
|
||||
e.g., a fault due to an attempt to free a NULL pointer.
|
||||
|
||||
2001-11-01 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* dirfd.c, dirfd.h: New files.
|
||||
* Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
|
||||
|
||||
* hash.c (hash_print) [TESTING]: Clean up.
|
||||
|
||||
2001-10-22 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
|
||||
to avoid a warning if -Wall.
|
||||
|
||||
2001-10-21 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
|
||||
|
||||
2001-10-21 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* obstack.c (_): Honor the setting of ENABLE_NLS. Otherwise,
|
||||
this code would end up calling gettext even in packages built
|
||||
with --disable-nls.
|
||||
* getopt.c (_): Likewise.
|
||||
* regex.c (_): Likewise.
|
||||
|
||||
2001-10-20 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* error.c (strerror_r): Do not declare unless !_LIBC.
|
||||
Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
|
||||
Use strerror_r that is only a macro, even if it is not a function.
|
||||
(strerror): Check for HAVE_DECL_STRERROR before declaring.
|
||||
(private_strerror): Use prototypes, not old-style function definition.
|
||||
(print_errno_message): New function.
|
||||
Support the POSIX 'int'-flavored strerror_r, as well as the traditional
|
||||
char*-flavored one.
|
||||
(error_tail, error, error_at_line): Use it.
|
||||
|
||||
2001-10-11 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
|
||||
and quote_n (1, ... to avoid clobbering a buffer.
|
||||
|
||||
2001-10-05 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and hash-pjw.h.
|
||||
* hash-pjw.c: New file (factored out of fileutils' remove.c).
|
||||
* hash-pjw.h: New file.
|
||||
|
||||
2001-09-30 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* mountlist.c [MOUNTED_GETFSSTAT]:
|
||||
Include <sys/ucred.h>, for Apple Darwin.
|
||||
Include sys/mount.h and sys/fs_types.h only if available.
|
||||
(FS_TYPE): Define.
|
||||
(read_filesystem_list): Use FS_TYPE.
|
||||
|
||||
2001-09-29 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* exclude.c (excluded_filename): 0 -> false, since it's
|
||||
a boolean context.
|
||||
|
||||
2001-09-28 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
|
||||
#defines strtoimax. Also treat the other strto* functions
|
||||
like strtoimax.
|
||||
|
||||
* xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
|
||||
(strtoul): Do not declare if HAVE_DECL_STRTOUL.
|
||||
(strtoimax, strtoumax): Do not declare if already defined as a macro.
|
||||
|
||||
2001-09-26 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
Most macros in unlocked-io.h had the wrong number of arguments.
|
||||
* gen-uio: New script.
|
||||
(USE_UNLOCKED_IO): Define to 1 if not already defined.
|
||||
* unlocked-io.hin: Remove file.
|
||||
* Makefile.am (unlocked-io.h): Rewrite to use a separate script,
|
||||
rather than trying to embed it here.
|
||||
(EXTRA_DIST): Add gen-uio. Remove unlocked-io.hin
|
||||
Reported by Padraig Brady.
|
||||
|
||||
2001-09-25 Volker Borchert <bt@teknon.de>
|
||||
|
||||
* gettimeofday.c (rpl_gettimeofday): Declare local variable `result'.
|
||||
|
||||
2001-09-23 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* mountlist.c: Remove useless parentheses in #if directives.
|
||||
(MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
|
||||
the deprecated MOUNTED symbol is no longer defined in mntent.h.
|
||||
|
||||
2001-09-22 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* localcharset.c: Update from latest gettext.
|
||||
* config.charset: Likewise.
|
||||
|
||||
2001-09-20 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* xstrtol.c (strtoimax): Guard declaration with
|
||||
`#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
|
||||
The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
|
||||
have their own, conflicting declaration of strtoimax in sys/inttypes.h.
|
||||
(strtoumax): Likewise, for completeness (it wasn't necessary).
|
||||
|
||||
2001-09-06 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* strtoimax.c (HAVE_LONG_LONG):
|
||||
Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
|
||||
(strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
|
||||
to work around bug in IBM C compiler.
|
||||
|
||||
2001-09-16 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* mkdir.c: New file.
|
||||
|
||||
2001-09-04 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* xgetcwd.c: Revert some of the previous change; intead,
|
||||
fix the HAVE_GETCWD_NULL code to behave more like the
|
||||
!HAVE_GETCWD_NULL code used to.
|
||||
|
||||
Include "xalloc.h".
|
||||
(xgetcwd): Do not return NULL when memory is exhausted; instead,
|
||||
invoke xalloc_die.
|
||||
|
||||
2001-09-04 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* xreadlink.c (xreadlink): Omit size_t* arg. All uses changed.
|
||||
Use ssize_t, not int, to store result of readlink.
|
||||
Check for ssize_t overflow as well as size_t overflow,
|
||||
as POSIX says the result of readlink is implementation-defined
|
||||
when ssize_t overflows.
|
||||
Remove unnecessary cast to char*.
|
||||
Use free+malloc instead of realloc, as the storage doesn't need
|
||||
to be preserved and it's clearer and can be more efficient that way.
|
||||
(SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
|
||||
* xreadlink.h (xreadlink): Update prototype.
|
||||
|
||||
2001-09-03 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* exclude.c (fnmatch_no_wildcards): Fix confusion between
|
||||
usage of FNM_CASEFOLD and FNM_LEADING_DIR. The bug was
|
||||
spotted by Jim Meyering.
|
||||
|
||||
2001-09-03 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* xreadlink.c (xreadlink): Preserve errno around `free' during failure.
|
||||
|
||||
2001-09-03 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
|
||||
like the HAVE_GETCWD_NULL code.
|
||||
Include pathmax.h if not HAVE_GETCWD.
|
||||
Do not include xalloc.h.
|
||||
(INITIAL_BUFFER_SIZE): New symbol.
|
||||
Do not use xmalloc / xrealloc, since the caller is responsible for
|
||||
handling errors. Preserve errno around `free' during failure.
|
||||
Do not overrun buffer when using getwd.
|
||||
|
||||
2001-09-03 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
|
||||
__GLIBC__ && __GLIBC__ >= 2), to decide whether to use getcwd (NULL, 0).
|
||||
|
||||
2001-09-02 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* error.c: Update from GNU libc.
|
||||
|
||||
2001-09-01 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* xreadlink.c: New file.
|
||||
* xreadlink.h: New file.
|
||||
* Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and xreadlink.h.
|
||||
|
||||
* regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
|
||||
doesn't conflict with sparc-sun-solaris2.7's definition in
|
||||
/usr/include/sys/int_types.h.
|
||||
|
||||
* exclude.c: Use `""', not `<>' to #include non-system header files.
|
||||
(fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
|
||||
and strncasecmp as r-values. Unixware didn't have declarations.
|
||||
|
||||
2001-08-31 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
|
||||
Use an initial, malloc'd, buffer of length 128 rather than
|
||||
a statically allocated one of length 1024.
|
||||
|
||||
2001-08-30 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* xgetcwd.c: Don't include pathmax.h.
|
||||
Include stdlib.h and unistd.h if available.
|
||||
Include xalloc.h.
|
||||
(xmalloc, xstrdup, free): Remove decls.
|
||||
(xgetcwd): Don't assume sizes fit in unsigned.
|
||||
Check for overflow when computing sizes.
|
||||
Simplify reallocation code.
|
||||
|
||||
2001-08-28 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
|
||||
|
||||
* strtoimax.c: Renamed from strtoxmax.c, removing the
|
||||
old strtoimax.c.
|
||||
|
||||
Also, make the following further changes to make this file's
|
||||
configuration more similar to that of strtol.c:
|
||||
(UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED. All uses changed.
|
||||
(strtoumax, uintmax_t, strtoull, strtol): Remove.
|
||||
(intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
|
||||
(strtoimax): Renamed from strtoumax. All uses of unsigned values
|
||||
changed to signed values.
|
||||
|
||||
And make the following changes as well:
|
||||
Fix copyright notice, as 1999 was missing.
|
||||
(verify): New macro.
|
||||
(strtoimax): Check sizes at compile-time, not run-time.
|
||||
Prefer strtol to strtoll if both work.
|
||||
(main): Remove; it was not that useful and was a pain to maintain.
|
||||
|
||||
* strtoumax.c: Include strtoimax.c, not strtouxmax.c.
|
||||
|
||||
2001-08-30 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* savedir.c (savedir): Remove size parameter, as POSIX says that
|
||||
a directory's st_size can have an arbitrary value, so the old
|
||||
usage could waste an arbitrary amount of memory. All uses
|
||||
changed.
|
||||
* savedir.h: Update prototype.
|
||||
|
||||
2001-08-30 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* xstrtol.c (strtoimax): New decl.
|
||||
|
||||
2001-08-28 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* xstrtol.h: Add copyright notice.
|
||||
(_DECLARE_XSTRTOL): Improve quality of diagnostic for
|
||||
LONGINT_INVALID_SUFFIX_CHAR.
|
||||
|
||||
2001-08-30 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
|
||||
tm to be declared.
|
||||
|
||||
2001-08-30 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* hash.c: Remove '2001' from copyright notice.
|
||||
|
||||
2001-08-30 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* full-write.h: New file.
|
||||
* Makefile.am (libfetish_a_SOURCES): Add full-write.h.
|
||||
* full-write.c: Correct credits, as cccp.c no longer
|
||||
exists and anyway it was so heavily changed from the old cccp
|
||||
code as to be unrecognizable. Include full-write.h.
|
||||
(full_write) Return size_t, with short writes meaning failure.
|
||||
All callers changed. This fixes a bug with large buffers
|
||||
on 64-bit hosts.
|
||||
* utime.c: Include full-write.h.
|
||||
|
||||
2001-08-30 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
Merge 'exclude' changes from tar 1.13.22.
|
||||
This fixes one or two unlikely storage allocation overflow bugs,
|
||||
but doesn't change user-visible behavior otherwise.
|
||||
|
||||
2001-08-30 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* exclude.c (bool): Declare, perhaps by including stdbool.h.
|
||||
(<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
|
||||
(<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
|
||||
Include if available.
|
||||
(<xalloc.h>): Include
|
||||
(SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
|
||||
(verify): New macro. Use it to verify that EXCLUDE macros do not
|
||||
collide with FNM macros.
|
||||
(struct patopts): New struct.
|
||||
(struct exclude): Use it, as exclude patterns now come with options.
|
||||
(new_exclude): Support above changes.
|
||||
(new_exclude, add_exclude_file):
|
||||
Initial size must now be a power of two to simplify overflow checking.
|
||||
(free_exclude, fnmatch_no_wildcards): New function.
|
||||
(excluded_filename): No longer requires options arg, as the options
|
||||
are determined by add_exclude. Now returns bool, not int.
|
||||
(excluded_filename, add_exclude):
|
||||
Add support for the fancy new exclusion options.
|
||||
(add_exclude, add_exclude_file): Now takes int options arg.
|
||||
Check for arithmetic overflow when computing sizes.
|
||||
(add_exclude_file): xrealloc might modify errno, so don't
|
||||
realloc until after errno might be used.
|
||||
|
||||
* exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
|
||||
New macros.
|
||||
(free_exclude): New decl.
|
||||
(add_exclude, add_exclude_file): Now takes int options arg.
|
||||
(excluded_filename): No longer requires options arg, as the options
|
||||
are determined by add_exclude. Now returns bool, not int.
|
||||
|
||||
2001-08-30 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* alloca.c (alloca): Arg is of type size_t, not unsigned.
|
||||
|
||||
2001-08-27 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
|
||||
|
||||
* version-etc.c (N_): Remove definition.
|
||||
Revert most of last change.
|
||||
Instead, simply don't mark the `Copyright...' string for translation.
|
||||
Based on advice from Paul Eggert.
|
||||
|
||||
* strtoxmax.c: Tweak comment.
|
||||
|
||||
2001-08-26 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* version-etc.c (version_etc_copyright_fmt): Replace literal year
|
||||
of copyright with `%s' so translators don't get an untranslated
|
||||
message in 2002.
|
||||
(COPYRIGHT_YEAR): Define.
|
||||
(version_etc): Use fprintf rather than fputs.
|
||||
Suggestion from Ulrich Drepper.
|
||||
|
||||
* Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
|
||||
|
||||
* strtoll.c: New file, from GNU libc.
|
||||
* xstrtoimax.c: New file.
|
||||
|
||||
* xstrtol.h: Add xstrtoimax.
|
||||
* strtoumax.c: New file. Simply include "strtoumax.c".
|
||||
* strtoimax.c: New file. Likewise, but first define STRTOUXMAX_SIGNED.
|
||||
|
||||
* strtoumax.c: Factor to work both for unsigned and signed types, ...
|
||||
* strtoxmax.c: ... then renamed to this.
|
||||
|
||||
2001-08-13 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
|
||||
Port to Solaris 8, where 'sed' requires a space after the 'r'
|
||||
command, and where sh dislikes "$/". Clean up the spacing a bit.
|
||||
Redirect output to $tmp just once.
|
||||
|
||||
2001-08-12 Paul Eggert <eggert@sic.twinsun.com>
|
||||
|
||||
* addext.c (<errno.h>): Include.
|
||||
(errno): Declare if not defined.
|
||||
(addext): Work correctly when pathconf returns -1 and leaves
|
||||
errno alone because there is no limit. Also, work even if
|
||||
pathconf returns a value greater than SIZE_MAX.
|
||||
|
||||
2001-08-12 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
|
||||
Simply `return getcwd (NULL, 0);'.
|
||||
[! (defined __GLIBC__ && __GLIBC__ >= 2)]:
|
||||
Use 1300 as initial value for length, not PATH_MAX.
|
||||
|
||||
* pathmax.h: Clean up cpp syntax.
|
||||
|
||||
2001-08-12 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* gettimeofday.c: New file.
|
||||
* gtod.h: New file.
|
||||
* Makefile.am (libfetish_a_SOURCES): Add gtod.h.
|
||||
|
||||
2001-08-04 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if stmt,
|
||||
to get in sync with glibc.
|
||||
|
||||
2001-08-03 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
The following changes are from gettext 0.10.39 as maintained by
|
||||
Bruno Haible.
|
||||
|
||||
* mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
|
||||
Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
|
||||
with inverted sense. All uses changed.
|
||||
|
||||
* mbswidth.c: Don't include <limits.h>.
|
||||
Include <stdlib.h> and <string.h> unconditionally.
|
||||
(iswcntrl, mbsinit, ISCNTRL): New macros.
|
||||
(mbsnwidth): Use K&R style function declarations.
|
||||
Don't bother checking for MB_LEN_MAX == 1, since the compiler
|
||||
can optimize it when MB_CUR_MAX == 1.
|
||||
The width of control characters is zero, not 1.
|
||||
|
||||
2001-07-15 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
|
||||
(BUILT_SOURCES): Add unlocked-io.h.
|
||||
(io_functions): Define.
|
||||
(unlocked-io.h): New rule.
|
||||
(DISTCLEANFILES): Add unlocked-io.h.
|
||||
(all-local): Depend on unlocked-io.h, to ensure it is created.
|
||||
|
||||
* unlocked-io.hin: New file
|
||||
|
||||
* regex.c: Update from glibc.
|
||||
|
||||
2001-07-05 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* Makefile.am (noinst_HEADERS): Remove definition, per new automake
|
||||
@@ -27,10 +438,10 @@
|
||||
|
||||
2001-05-11 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* lib/Makefile.am (libfetish_a_SOURCES):
|
||||
* Makefile.am (libfetish_a_SOURCES):
|
||||
Add strftime.c, since we now compile it on all hosts.
|
||||
|
||||
* lib/strftime.c (my_strftime):
|
||||
* strftime.c (my_strftime):
|
||||
Define to nstrftime if emacs, but only if my_strftime is not defined.
|
||||
(extra_args, extra_args_spec, extra_args_spec_iso): Rename from
|
||||
ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
|
||||
@@ -155,8 +566,7 @@
|
||||
Add dup-safer.c, fopen-safer.c.
|
||||
(noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
|
||||
|
||||
* dup-safer.c, fopen-safer.c, stdio-safer.h,
|
||||
lib/unistd-safer.h: New files.
|
||||
* dup-safer.c, fopen-safer.c, stdio-safer.h, unistd-safer.h: New files.
|
||||
|
||||
2001-02-25 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ libfetish_a_SOURCES = \
|
||||
strftime.c \
|
||||
getopt.c getopt.h getopt1.c \
|
||||
hash.c hash.h \
|
||||
hash-pjw.c hash-pjw.h \
|
||||
__fpending.h \
|
||||
addext.c \
|
||||
argmatch.c argmatch.h \
|
||||
@@ -28,18 +29,20 @@ libfetish_a_SOURCES = \
|
||||
closeout.c closeout.h \
|
||||
diacrit.c diacrit.h \
|
||||
dirname.c dirname.h \
|
||||
dirfd.h \
|
||||
dup-safer.c \
|
||||
exclude.c exclude.h \
|
||||
filemode.c filemode.h \
|
||||
fnmatch.h \
|
||||
fopen-safer.c \
|
||||
fsusage.h \
|
||||
full-write.c \
|
||||
full-write.c full-write.h \
|
||||
getline.h \
|
||||
getpagesize.h \
|
||||
getstr.c getstr.h \
|
||||
getugroups.c \
|
||||
group-member.h \
|
||||
gtod.h \
|
||||
hard-locale.c hard-locale.h \
|
||||
human.c human.h \
|
||||
idcache.c \
|
||||
@@ -80,10 +83,12 @@ libfetish_a_SOURCES = \
|
||||
xgetcwd.c \
|
||||
xgethostname.c \
|
||||
xmalloc.c \
|
||||
xreadlink.c xreadlink.h \
|
||||
xstrdup.c \
|
||||
xstrtod.c xstrtod.h \
|
||||
xstrtol.c xstrtol.h \
|
||||
xstrtoul.c \
|
||||
xstrtoimax.c \
|
||||
xstrtoumax.c \
|
||||
yesno.c
|
||||
|
||||
@@ -91,11 +96,11 @@ libfetish_a_LIBADD = @LIBOBJS@ @ALLOCA@
|
||||
libfetish_a_DEPENDENCIES = $(libfetish_a_LIBADD)
|
||||
|
||||
|
||||
BUILT_SOURCES = getdate.c lstat.c stat.c
|
||||
BUILT_SOURCES = getdate.c lstat.c stat.c unlocked-io.h
|
||||
MAINTAINERCLEANFILES = $(BUILT_SOURCES)
|
||||
DISTCLEANFILES = lstat.c stat.c
|
||||
DISTCLEANFILES = lstat.c stat.c unlocked-io.h
|
||||
|
||||
EXTRA_DIST = xstat.in config.charset ref-add.sin ref-del.sin
|
||||
EXTRA_DIST = xstat.in config.charset ref-add.sin ref-del.sin gen-uio
|
||||
lstat.c: xstat.in
|
||||
sed \
|
||||
-e '/@IGNORE@/d' \
|
||||
@@ -122,7 +127,7 @@ stat.c: xstat.in
|
||||
# On systems with glibc-2.1 or newer, the file is redundant, therefore we
|
||||
# avoid installing it.
|
||||
|
||||
all-local: charset.alias ref-add.sed ref-del.sed lstat.c stat.c
|
||||
all-local: charset.alias ref-add.sed ref-del.sed lstat.c stat.c unlocked-io.h
|
||||
|
||||
charset_alias = $(DESTDIR)$(libdir)/charset.alias
|
||||
charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
|
||||
@@ -162,3 +167,14 @@ SUFFIXES = .sed .sin
|
||||
mv $@-t $@
|
||||
|
||||
CLEANFILES = charset.alias ref-add.sed ref-del.sed
|
||||
|
||||
###############################################
|
||||
|
||||
# FIXME: CAUTION this list is a duplicate of one in ../Makefile.cfg.
|
||||
io_functions = \
|
||||
clearerr feof ferror fflush fgets fputc fputs \
|
||||
fread fwrite getc getchar putc putchar
|
||||
|
||||
unlocked-io.h: $(srcdir)/gen-uio Makefile.am
|
||||
srcdir=$(srcdir) $(SHELL) $(srcdir)/gen-uio $(io_functions) > $@t
|
||||
mv $@t $@
|
||||
|
||||
522
lib/Makefile.in
522
lib/Makefile.in
@@ -1,4 +1,4 @@
|
||||
# Makefile.in generated automatically by automake 1.4i from Makefile.am.
|
||||
# Makefile.in generated automatically by automake 1.5 from Makefile.am.
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
@@ -59,6 +59,7 @@ host_alias = @host_alias@
|
||||
host_triplet = @host@
|
||||
AMTAR = @AMTAR@
|
||||
AWK = @AWK@
|
||||
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
|
||||
CATALOGS = @CATALOGS@
|
||||
CATOBJEXT = @CATOBJEXT@
|
||||
CC = @CC@
|
||||
@@ -66,6 +67,7 @@ CPP = @CPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
EXEEXT = @EXEEXT@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -73,14 +75,13 @@ GLIBC21 = @GLIBC21@
|
||||
GMOFILES = @GMOFILES@
|
||||
GMSGFMT = @GMSGFMT@
|
||||
GNU_PACKAGE = @GNU_PACKAGE@
|
||||
GT_NO = @GT_NO@
|
||||
GT_YES = @GT_YES@
|
||||
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
|
||||
HELP2MAN = @HELP2MAN@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
INSTOBJEXT = @INSTOBJEXT@
|
||||
INTLDEPS = @INTLDEPS@
|
||||
INTLBISON = @INTLBISON@
|
||||
INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBICONV = @LIBICONV@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
@@ -91,6 +92,7 @@ MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
MSGFMT = @MSGFMT@
|
||||
NEED_SETGID = @NEED_SETGID@
|
||||
OBJEXT = @OBJEXT@
|
||||
OPTIONAL_BIN_PROGS = @OPTIONAL_BIN_PROGS@
|
||||
OPTIONAL_BIN_ZCRIPTS = @OPTIONAL_BIN_ZCRIPTS@
|
||||
PACKAGE = @PACKAGE@
|
||||
@@ -106,10 +108,9 @@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
VERSION = @VERSION@
|
||||
YACC = @YACC@
|
||||
_am_include = @_am_include@
|
||||
_am_quote = @_am_quote@
|
||||
am__include = @am__include@
|
||||
am__quote = @am__quote@
|
||||
install_sh = @install_sh@
|
||||
l = @l@
|
||||
|
||||
AUTOMAKE_OPTIONS = ../src/ansi2knr
|
||||
|
||||
@@ -124,6 +125,7 @@ libfetish_a_SOURCES = \
|
||||
strftime.c \
|
||||
getopt.c getopt.h getopt1.c \
|
||||
hash.c hash.h \
|
||||
hash-pjw.c hash-pjw.h \
|
||||
__fpending.h \
|
||||
addext.c \
|
||||
argmatch.c argmatch.h \
|
||||
@@ -134,18 +136,20 @@ libfetish_a_SOURCES = \
|
||||
closeout.c closeout.h \
|
||||
diacrit.c diacrit.h \
|
||||
dirname.c dirname.h \
|
||||
dirfd.h \
|
||||
dup-safer.c \
|
||||
exclude.c exclude.h \
|
||||
filemode.c filemode.h \
|
||||
fnmatch.h \
|
||||
fopen-safer.c \
|
||||
fsusage.h \
|
||||
full-write.c \
|
||||
full-write.c full-write.h \
|
||||
getline.h \
|
||||
getpagesize.h \
|
||||
getstr.c getstr.h \
|
||||
getugroups.c \
|
||||
group-member.h \
|
||||
gtod.h \
|
||||
hard-locale.c hard-locale.h \
|
||||
human.c human.h \
|
||||
idcache.c \
|
||||
@@ -186,10 +190,12 @@ libfetish_a_SOURCES = \
|
||||
xgetcwd.c \
|
||||
xgethostname.c \
|
||||
xmalloc.c \
|
||||
xreadlink.c xreadlink.h \
|
||||
xstrdup.c \
|
||||
xstrtod.c xstrtod.h \
|
||||
xstrtol.c xstrtol.h \
|
||||
xstrtoul.c \
|
||||
xstrtoimax.c \
|
||||
xstrtoumax.c \
|
||||
yesno.c
|
||||
|
||||
@@ -197,11 +203,11 @@ libfetish_a_SOURCES = \
|
||||
libfetish_a_LIBADD = @LIBOBJS@ @ALLOCA@
|
||||
libfetish_a_DEPENDENCIES = $(libfetish_a_LIBADD)
|
||||
|
||||
BUILT_SOURCES = getdate.c lstat.c stat.c
|
||||
BUILT_SOURCES = getdate.c lstat.c stat.c unlocked-io.h
|
||||
MAINTAINERCLEANFILES = $(BUILT_SOURCES)
|
||||
DISTCLEANFILES = lstat.c stat.c
|
||||
DISTCLEANFILES = lstat.c stat.c unlocked-io.h
|
||||
|
||||
EXTRA_DIST = xstat.in config.charset ref-add.sin ref-del.sin
|
||||
EXTRA_DIST = xstat.in config.charset ref-add.sin ref-del.sin gen-uio
|
||||
|
||||
charset_alias = $(DESTDIR)$(libdir)/charset.alias
|
||||
charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
|
||||
@@ -209,8 +215,14 @@ charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
|
||||
SUFFIXES = .sed .sin
|
||||
|
||||
CLEANFILES = charset.alias ref-add.sed ref-del.sed
|
||||
EXEEXT =
|
||||
OBJEXT = o
|
||||
|
||||
###############################################
|
||||
|
||||
# FIXME: CAUTION this list is a duplicate of one in ../Makefile.cfg.
|
||||
io_functions = \
|
||||
clearerr feof ferror fflush fgets fputc fputs \
|
||||
fread fwrite getc getchar putc putchar
|
||||
|
||||
subdir = lib
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
@@ -220,27 +232,28 @@ LIBRARIES = $(noinst_LIBRARIES)
|
||||
libfetish_a_AR = $(AR) cru
|
||||
am_libfetish_a_OBJECTS = getdate$U.$(OBJEXT) posixtm$U.$(OBJEXT) \
|
||||
strftime$U.$(OBJEXT) getopt$U.$(OBJEXT) getopt1$U.$(OBJEXT) \
|
||||
hash$U.$(OBJEXT) addext$U.$(OBJEXT) argmatch$U.$(OBJEXT) \
|
||||
backupfile$U.$(OBJEXT) basename$U.$(OBJEXT) \
|
||||
canon-host$U.$(OBJEXT) closeout$U.$(OBJEXT) diacrit$U.$(OBJEXT) \
|
||||
dirname$U.$(OBJEXT) dup-safer$U.$(OBJEXT) exclude$U.$(OBJEXT) \
|
||||
filemode$U.$(OBJEXT) fopen-safer$U.$(OBJEXT) \
|
||||
full-write$U.$(OBJEXT) getstr$U.$(OBJEXT) \
|
||||
getugroups$U.$(OBJEXT) hard-locale$U.$(OBJEXT) \
|
||||
human$U.$(OBJEXT) idcache$U.$(OBJEXT) isdir$U.$(OBJEXT) \
|
||||
linebuffer$U.$(OBJEXT) localcharset$U.$(OBJEXT) \
|
||||
long-options$U.$(OBJEXT) makepath$U.$(OBJEXT) \
|
||||
mbswidth$U.$(OBJEXT) md5$U.$(OBJEXT) memcasecmp$U.$(OBJEXT) \
|
||||
memcoll$U.$(OBJEXT) modechange$U.$(OBJEXT) \
|
||||
path-concat$U.$(OBJEXT) physmem$U.$(OBJEXT) quote$U.$(OBJEXT) \
|
||||
quotearg$U.$(OBJEXT) readtokens$U.$(OBJEXT) \
|
||||
safe-read$U.$(OBJEXT) same$U.$(OBJEXT) save-cwd$U.$(OBJEXT) \
|
||||
savedir$U.$(OBJEXT) sha$U.$(OBJEXT) stripslash$U.$(OBJEXT) \
|
||||
unicodeio$U.$(OBJEXT) userspec$U.$(OBJEXT) \
|
||||
version-etc$U.$(OBJEXT) xgetcwd$U.$(OBJEXT) \
|
||||
xgethostname$U.$(OBJEXT) xmalloc$U.$(OBJEXT) \
|
||||
xstrdup$U.$(OBJEXT) xstrtod$U.$(OBJEXT) xstrtol$U.$(OBJEXT) \
|
||||
xstrtoul$U.$(OBJEXT) xstrtoumax$U.$(OBJEXT) yesno$U.$(OBJEXT)
|
||||
hash$U.$(OBJEXT) hash-pjw$U.$(OBJEXT) addext$U.$(OBJEXT) \
|
||||
argmatch$U.$(OBJEXT) backupfile$U.$(OBJEXT) \
|
||||
basename$U.$(OBJEXT) canon-host$U.$(OBJEXT) \
|
||||
closeout$U.$(OBJEXT) diacrit$U.$(OBJEXT) dirname$U.$(OBJEXT) \
|
||||
dup-safer$U.$(OBJEXT) exclude$U.$(OBJEXT) filemode$U.$(OBJEXT) \
|
||||
fopen-safer$U.$(OBJEXT) full-write$U.$(OBJEXT) \
|
||||
getstr$U.$(OBJEXT) getugroups$U.$(OBJEXT) \
|
||||
hard-locale$U.$(OBJEXT) human$U.$(OBJEXT) idcache$U.$(OBJEXT) \
|
||||
isdir$U.$(OBJEXT) linebuffer$U.$(OBJEXT) \
|
||||
localcharset$U.$(OBJEXT) long-options$U.$(OBJEXT) \
|
||||
makepath$U.$(OBJEXT) mbswidth$U.$(OBJEXT) md5$U.$(OBJEXT) \
|
||||
memcasecmp$U.$(OBJEXT) memcoll$U.$(OBJEXT) \
|
||||
modechange$U.$(OBJEXT) path-concat$U.$(OBJEXT) \
|
||||
physmem$U.$(OBJEXT) quote$U.$(OBJEXT) quotearg$U.$(OBJEXT) \
|
||||
readtokens$U.$(OBJEXT) safe-read$U.$(OBJEXT) same$U.$(OBJEXT) \
|
||||
save-cwd$U.$(OBJEXT) savedir$U.$(OBJEXT) sha$U.$(OBJEXT) \
|
||||
stripslash$U.$(OBJEXT) unicodeio$U.$(OBJEXT) \
|
||||
userspec$U.$(OBJEXT) version-etc$U.$(OBJEXT) \
|
||||
xgetcwd$U.$(OBJEXT) xgethostname$U.$(OBJEXT) \
|
||||
xmalloc$U.$(OBJEXT) xreadlink$U.$(OBJEXT) xstrdup$U.$(OBJEXT) \
|
||||
xstrtod$U.$(OBJEXT) xstrtol$U.$(OBJEXT) xstrtoul$U.$(OBJEXT) \
|
||||
xstrtoimax$U.$(OBJEXT) xstrtoumax$U.$(OBJEXT) yesno$U.$(OBJEXT)
|
||||
libfetish_a_OBJECTS = $(am_libfetish_a_OBJECTS)
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
@@ -252,23 +265,24 @@ depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
@AMDEP_TRUE@ $(DEPDIR)/atexit.Po $(DEPDIR)/backupfile$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/basename$U.Po $(DEPDIR)/canon-host$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/chown.Po $(DEPDIR)/closeout$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/diacrit$U.Po $(DEPDIR)/dirname$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/dup-safer$U.Po $(DEPDIR)/dup2.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/error.Po $(DEPDIR)/euidaccess.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/exclude$U.Po $(DEPDIR)/fileblocks.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/filemode$U.Po $(DEPDIR)/fnmatch.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/fopen-safer$U.Po $(DEPDIR)/fsusage.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/ftruncate.Po $(DEPDIR)/full-write$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/getdate$U.Po $(DEPDIR)/getgroups.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/gethostname.Po $(DEPDIR)/getline.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/getloadavg.Po $(DEPDIR)/getopt$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/getopt1$U.Po $(DEPDIR)/getpass.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/getstr$U.Po $(DEPDIR)/getugroups$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/diacrit$U.Po $(DEPDIR)/dirfd.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/dirname$U.Po $(DEPDIR)/dup-safer$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/dup2.Po $(DEPDIR)/error.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/euidaccess.Po $(DEPDIR)/exclude$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/fileblocks.Po $(DEPDIR)/filemode$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/fnmatch.Po $(DEPDIR)/fopen-safer$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/fsusage.Po $(DEPDIR)/ftruncate.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/full-write$U.Po $(DEPDIR)/getdate$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/getgroups.Po $(DEPDIR)/gethostname.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/getline.Po $(DEPDIR)/getloadavg.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/getopt$U.Po $(DEPDIR)/getopt1$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/getpass.Po $(DEPDIR)/getstr$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/gettimeofday.Po $(DEPDIR)/getugroups$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/getusershell.Po $(DEPDIR)/group-member.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/hard-locale$U.Po $(DEPDIR)/hash$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/human$U.Po $(DEPDIR)/idcache$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/isdir$U.Po $(DEPDIR)/lchown.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/linebuffer$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/hash-pjw$U.Po $(DEPDIR)/human$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/idcache$U.Po $(DEPDIR)/isdir$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/lchown.Po $(DEPDIR)/linebuffer$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/localcharset$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/long-options$U.Po $(DEPDIR)/lstat.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/makepath$U.Po $(DEPDIR)/malloc.Po \
|
||||
@@ -277,35 +291,37 @@ depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
@AMDEP_TRUE@ $(DEPDIR)/memcmp.Po $(DEPDIR)/memcoll$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/memcpy.Po $(DEPDIR)/memmove.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/memrchr.Po $(DEPDIR)/memset.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/mkstemp.Po $(DEPDIR)/mktime.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/modechange$U.Po $(DEPDIR)/mountlist.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/nanosleep.Po $(DEPDIR)/obstack.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/path-concat$U.Po $(DEPDIR)/physmem$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/posixtm$U.Po $(DEPDIR)/putenv.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/quote$U.Po $(DEPDIR)/quotearg$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/readtokens$U.Po $(DEPDIR)/readutmp.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/realloc.Po $(DEPDIR)/regex.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/rename.Po $(DEPDIR)/rmdir.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/rpmatch.Po $(DEPDIR)/safe-read$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/same$U.Po $(DEPDIR)/save-cwd$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/savedir$U.Po $(DEPDIR)/sha$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/stat.Po $(DEPDIR)/stime.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/stpcpy.Po $(DEPDIR)/strcasecmp.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/strcspn.Po $(DEPDIR)/strdup.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/strftime$U.Po $(DEPDIR)/stripslash$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/strncasecmp.Po $(DEPDIR)/strndup.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/strnlen.Po $(DEPDIR)/strpbrk.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/strstr.Po $(DEPDIR)/strtod.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/strtol.Po $(DEPDIR)/strtoul.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/strtoull.Po $(DEPDIR)/strtoumax.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/strverscmp.Po $(DEPDIR)/tempname.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/unicodeio$U.Po $(DEPDIR)/userspec$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/utime.Po $(DEPDIR)/version-etc$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/xgetcwd$U.Po $(DEPDIR)/xgethostname$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/xmalloc$U.Po $(DEPDIR)/xstrdup$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/xstrtod$U.Po $(DEPDIR)/xstrtol$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/xstrtoul$U.Po $(DEPDIR)/xstrtoumax$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/yesno$U.Po
|
||||
@AMDEP_TRUE@ $(DEPDIR)/mkdir.Po $(DEPDIR)/mkstemp.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/mktime.Po $(DEPDIR)/modechange$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/mountlist.Po $(DEPDIR)/nanosleep.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/obstack.Po $(DEPDIR)/path-concat$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/physmem$U.Po $(DEPDIR)/posixtm$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/putenv.Po $(DEPDIR)/quote$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/quotearg$U.Po $(DEPDIR)/readtokens$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/readutmp.Po $(DEPDIR)/realloc.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/regex.Po $(DEPDIR)/rename.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/rmdir.Po $(DEPDIR)/rpmatch.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/safe-read$U.Po $(DEPDIR)/same$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/save-cwd$U.Po $(DEPDIR)/savedir$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/sha$U.Po $(DEPDIR)/stat.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/stime.Po $(DEPDIR)/stpcpy.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/strcasecmp.Po $(DEPDIR)/strcspn.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/strdup.Po $(DEPDIR)/strftime$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/stripslash$U.Po $(DEPDIR)/strncasecmp.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/strndup.Po $(DEPDIR)/strnlen.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/strpbrk.Po $(DEPDIR)/strstr.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/strtod.Po $(DEPDIR)/strtoimax.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/strtol.Po $(DEPDIR)/strtoll.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/strtoul.Po $(DEPDIR)/strtoull.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/strtoumax.Po $(DEPDIR)/strverscmp.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/tempname.Po $(DEPDIR)/unicodeio$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/userspec$U.Po $(DEPDIR)/utime.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/version-etc$U.Po $(DEPDIR)/xgetcwd$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/xgethostname$U.Po $(DEPDIR)/xmalloc$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/xreadlink$U.Po $(DEPDIR)/xstrdup$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/xstrtod$U.Po $(DEPDIR)/xstrtoimax$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/xstrtol$U.Po $(DEPDIR)/xstrtoul$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/xstrtoumax$U.Po $(DEPDIR)/yesno$U.Po
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
@@ -314,16 +330,17 @@ CFLAGS = @CFLAGS@
|
||||
YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS)
|
||||
DIST_SOURCES = $(libfetish_a_SOURCES)
|
||||
DIST_COMMON = README ChangeLog Makefile.am Makefile.in TODO \
|
||||
__fpending.c alloca.c atexit.c chown.c dup2.c error.c error.h \
|
||||
euidaccess.c fileblocks.c fnmatch.c fsusage.c ftruncate.c \
|
||||
getdate.c getgroups.c gethostname.c getline.c getloadavg.c \
|
||||
getpass.c getusershell.c group-member.c lchown.c malloc.c \
|
||||
memchr.c memcmp.c memcpy.c memmove.c memrchr.c memset.c \
|
||||
mkstemp.c mktime.c mountlist.c nanosleep.c obstack.c obstack.h \
|
||||
putenv.c readutmp.c realloc.c regex.c rename.c rmdir.c \
|
||||
rpmatch.c stime.c stpcpy.c strcasecmp.c strcspn.c strdup.c \
|
||||
strncasecmp.c strndup.c strnlen.c strpbrk.c strstr.c strtod.c \
|
||||
strtol.c strtoul.c strtoull.c strtoumax.c strverscmp.c \
|
||||
__fpending.c alloca.c atexit.c chown.c dirfd.c dup2.c error.c \
|
||||
error.h euidaccess.c fileblocks.c fnmatch.c fsusage.c \
|
||||
ftruncate.c getdate.c getgroups.c gethostname.c getline.c \
|
||||
getloadavg.c getpass.c gettimeofday.c getusershell.c \
|
||||
group-member.c lchown.c malloc.c memchr.c memcmp.c memcpy.c \
|
||||
memmove.c memrchr.c memset.c mkdir.c mkstemp.c mktime.c \
|
||||
mountlist.c nanosleep.c obstack.c obstack.h putenv.c readutmp.c \
|
||||
realloc.c regex.c rename.c rmdir.c rpmatch.c stime.c stpcpy.c \
|
||||
strcasecmp.c strcspn.c strdup.c strncasecmp.c strndup.c \
|
||||
strnlen.c strpbrk.c strstr.c strtod.c strtoimax.c strtol.c \
|
||||
strtoll.c strtoul.c strtoull.c strtoumax.c strverscmp.c \
|
||||
tempname.c utime.c
|
||||
SOURCES = $(libfetish_a_SOURCES)
|
||||
|
||||
@@ -331,10 +348,10 @@ all: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .sed .sin .c .h .o .obj .y
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
.SUFFIXES: .sed .sin .c .o .obj .y
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnits lib/Makefile
|
||||
$(AUTOMAKE) --gnu lib/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && \
|
||||
CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
@@ -344,7 +361,7 @@ AR = ar
|
||||
|
||||
clean-noinstLIBRARIES:
|
||||
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
|
||||
libfetish.a: $(libfetish_a_OBJECTS) $(libfetish_a_DEPENDENCIES)
|
||||
libfetish.a: $(libfetish_a_OBJECTS) $(libfetish_a_DEPENDENCIES)
|
||||
-rm -f libfetish.a
|
||||
$(libfetish_a_AR) libfetish.a $(libfetish_a_OBJECTS) $(libfetish_a_LIBADD)
|
||||
$(RANLIB) libfetish.a
|
||||
@@ -362,121 +379,129 @@ ANSI2KNR = ../src/ansi2knr
|
||||
mostlyclean-kr:
|
||||
-rm -f *_.c
|
||||
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/__fpending.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/addext$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/alloca.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/argmatch$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/atexit.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/backupfile$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/basename$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/canon-host$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/chown.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/closeout$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/diacrit$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/dirname$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/dup-safer$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/dup2.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/error.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/euidaccess.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/exclude$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/fileblocks.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/filemode$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/fnmatch.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/fopen-safer$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/fsusage.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/ftruncate.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/full-write$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/getdate$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/getgroups.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/gethostname.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/getline.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/getloadavg.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/getopt$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/getopt1$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/getpass.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/getstr$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/getugroups$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/getusershell.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/group-member.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/hard-locale$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/hash$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/human$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/idcache$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/isdir$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/lchown.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/linebuffer$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/localcharset$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/long-options$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/lstat.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/makepath$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/malloc.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/mbswidth$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/md5$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/memcasecmp$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/memchr.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/memcmp.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/memcoll$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/memcpy.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/memmove.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/memrchr.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/memset.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/mkstemp.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/mktime.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/modechange$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/mountlist.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/nanosleep.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/obstack.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/path-concat$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/physmem$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/posixtm$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/putenv.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/quote$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/quotearg$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/readtokens$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/readutmp.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/realloc.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/regex.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/rename.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/rmdir.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/rpmatch.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/safe-read$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/same$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/save-cwd$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/savedir$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/sha$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/stat.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/stime.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/stpcpy.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/strcasecmp.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/strcspn.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/strdup.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/strftime$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/stripslash$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/strncasecmp.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/strndup.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/strnlen.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/strpbrk.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/strstr.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/strtod.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/strtol.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/strtoul.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/strtoull.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/strtoumax.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/strverscmp.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/tempname.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/unicodeio$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/userspec$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/utime.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/version-etc$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/xgetcwd$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/xgethostname$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/xmalloc$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/xstrdup$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/xstrtod$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/xstrtol$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/xstrtoul$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/xstrtoumax$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/yesno$U.Po@_am_quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/__fpending.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/addext$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/alloca.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/argmatch$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/atexit.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/backupfile$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/basename$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/canon-host$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/chown.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/closeout$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/diacrit$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/dirfd.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/dirname$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/dup-safer$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/dup2.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/error.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/euidaccess.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/exclude$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fileblocks.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/filemode$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fnmatch.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fopen-safer$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fsusage.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ftruncate.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/full-write$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getdate$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getgroups.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/gethostname.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getline.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getloadavg.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getopt$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getopt1$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getpass.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getstr$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/gettimeofday.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getugroups$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getusershell.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/group-member.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/hard-locale$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/hash$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/hash-pjw$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/human$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/idcache$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/isdir$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/lchown.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/linebuffer$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/localcharset$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/long-options$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/lstat.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/makepath$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/malloc.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/mbswidth$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/md5$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memcasecmp$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memchr.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memcmp.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memcoll$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memcpy.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memmove.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memrchr.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memset.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/mkdir.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/mkstemp.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/mktime.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/modechange$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/mountlist.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/nanosleep.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/obstack.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/path-concat$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/physmem$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/posixtm$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/putenv.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/quote$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/quotearg$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/readtokens$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/readutmp.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/realloc.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/regex.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rename.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rmdir.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rpmatch.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/safe-read$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/same$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/save-cwd$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/savedir$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/sha$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/stat.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/stime.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/stpcpy.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strcasecmp.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strcspn.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strdup.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strftime$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/stripslash$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strncasecmp.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strndup.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strnlen.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strpbrk.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strstr.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strtod.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strtoimax.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strtol.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strtoll.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strtoul.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strtoull.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strtoumax.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strverscmp.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/tempname.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/unicodeio$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/userspec$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/utime.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/version-etc$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/xgetcwd$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/xgethostname$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/xmalloc$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/xreadlink$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/xstrdup$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/xstrtod$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/xstrtoimax$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/xstrtol$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/xstrtoul$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/xstrtoumax$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/yesno$U.Po@am__quote@
|
||||
|
||||
distclean-depend:
|
||||
-rm -rf $(DEPDIR)
|
||||
@@ -515,6 +540,8 @@ closeout_.c: closeout.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/closeout.c; then echo $(srcdir)/closeout.c; else echo closeout.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > closeout_.c || rm -f closeout_.c
|
||||
diacrit_.c: diacrit.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/diacrit.c; then echo $(srcdir)/diacrit.c; else echo diacrit.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > diacrit_.c || rm -f diacrit_.c
|
||||
dirfd_.c: dirfd.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/dirfd.c; then echo $(srcdir)/dirfd.c; else echo dirfd.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > dirfd_.c || rm -f dirfd_.c
|
||||
dirname_.c: dirname.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/dirname.c; then echo $(srcdir)/dirname.c; else echo dirname.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > dirname_.c || rm -f dirname_.c
|
||||
dup-safer_.c: dup-safer.c $(ANSI2KNR)
|
||||
@@ -559,6 +586,8 @@ getpass_.c: getpass.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/getpass.c; then echo $(srcdir)/getpass.c; else echo getpass.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > getpass_.c || rm -f getpass_.c
|
||||
getstr_.c: getstr.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/getstr.c; then echo $(srcdir)/getstr.c; else echo getstr.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > getstr_.c || rm -f getstr_.c
|
||||
gettimeofday_.c: gettimeofday.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/gettimeofday.c; then echo $(srcdir)/gettimeofday.c; else echo gettimeofday.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > gettimeofday_.c || rm -f gettimeofday_.c
|
||||
getugroups_.c: getugroups.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/getugroups.c; then echo $(srcdir)/getugroups.c; else echo getugroups.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > getugroups_.c || rm -f getugroups_.c
|
||||
getusershell_.c: getusershell.c $(ANSI2KNR)
|
||||
@@ -569,6 +598,8 @@ hard-locale_.c: hard-locale.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/hard-locale.c; then echo $(srcdir)/hard-locale.c; else echo hard-locale.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > hard-locale_.c || rm -f hard-locale_.c
|
||||
hash_.c: hash.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/hash.c; then echo $(srcdir)/hash.c; else echo hash.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > hash_.c || rm -f hash_.c
|
||||
hash-pjw_.c: hash-pjw.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/hash-pjw.c; then echo $(srcdir)/hash-pjw.c; else echo hash-pjw.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > hash-pjw_.c || rm -f hash-pjw_.c
|
||||
human_.c: human.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/human.c; then echo $(srcdir)/human.c; else echo human.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > human_.c || rm -f human_.c
|
||||
idcache_.c: idcache.c $(ANSI2KNR)
|
||||
@@ -609,6 +640,8 @@ memrchr_.c: memrchr.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/memrchr.c; then echo $(srcdir)/memrchr.c; else echo memrchr.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > memrchr_.c || rm -f memrchr_.c
|
||||
memset_.c: memset.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/memset.c; then echo $(srcdir)/memset.c; else echo memset.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > memset_.c || rm -f memset_.c
|
||||
mkdir_.c: mkdir.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/mkdir.c; then echo $(srcdir)/mkdir.c; else echo mkdir.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > mkdir_.c || rm -f mkdir_.c
|
||||
mkstemp_.c: mkstemp.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/mkstemp.c; then echo $(srcdir)/mkstemp.c; else echo mkstemp.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > mkstemp_.c || rm -f mkstemp_.c
|
||||
mktime_.c: mktime.c $(ANSI2KNR)
|
||||
@@ -685,8 +718,12 @@ strstr_.c: strstr.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/strstr.c; then echo $(srcdir)/strstr.c; else echo strstr.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > strstr_.c || rm -f strstr_.c
|
||||
strtod_.c: strtod.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/strtod.c; then echo $(srcdir)/strtod.c; else echo strtod.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > strtod_.c || rm -f strtod_.c
|
||||
strtoimax_.c: strtoimax.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/strtoimax.c; then echo $(srcdir)/strtoimax.c; else echo strtoimax.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > strtoimax_.c || rm -f strtoimax_.c
|
||||
strtol_.c: strtol.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/strtol.c; then echo $(srcdir)/strtol.c; else echo strtol.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > strtol_.c || rm -f strtol_.c
|
||||
strtoll_.c: strtoll.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/strtoll.c; then echo $(srcdir)/strtoll.c; else echo strtoll.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > strtoll_.c || rm -f strtoll_.c
|
||||
strtoul_.c: strtoul.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/strtoul.c; then echo $(srcdir)/strtoul.c; else echo strtoul.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > strtoul_.c || rm -f strtoul_.c
|
||||
strtoull_.c: strtoull.c $(ANSI2KNR)
|
||||
@@ -711,10 +748,14 @@ xgethostname_.c: xgethostname.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/xgethostname.c; then echo $(srcdir)/xgethostname.c; else echo xgethostname.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > xgethostname_.c || rm -f xgethostname_.c
|
||||
xmalloc_.c: xmalloc.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/xmalloc.c; then echo $(srcdir)/xmalloc.c; else echo xmalloc.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > xmalloc_.c || rm -f xmalloc_.c
|
||||
xreadlink_.c: xreadlink.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/xreadlink.c; then echo $(srcdir)/xreadlink.c; else echo xreadlink.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > xreadlink_.c || rm -f xreadlink_.c
|
||||
xstrdup_.c: xstrdup.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/xstrdup.c; then echo $(srcdir)/xstrdup.c; else echo xstrdup.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > xstrdup_.c || rm -f xstrdup_.c
|
||||
xstrtod_.c: xstrtod.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/xstrtod.c; then echo $(srcdir)/xstrtod.c; else echo xstrtod.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > xstrtod_.c || rm -f xstrtod_.c
|
||||
xstrtoimax_.c: xstrtoimax.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/xstrtoimax.c; then echo $(srcdir)/xstrtoimax.c; else echo xstrtoimax.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > xstrtoimax_.c || rm -f xstrtoimax_.c
|
||||
xstrtol_.c: xstrtol.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/xstrtol.c; then echo $(srcdir)/xstrtol.c; else echo xstrtol.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > xstrtol_.c || rm -f xstrtol_.c
|
||||
xstrtoul_.c: xstrtoul.c $(ANSI2KNR)
|
||||
@@ -726,23 +767,24 @@ yesno_.c: yesno.c $(ANSI2KNR)
|
||||
__fpending_.$(OBJEXT) addext_.$(OBJEXT) alloca_.$(OBJEXT) \
|
||||
argmatch_.$(OBJEXT) atexit_.$(OBJEXT) backupfile_.$(OBJEXT) \
|
||||
basename_.$(OBJEXT) canon-host_.$(OBJEXT) chown_.$(OBJEXT) \
|
||||
closeout_.$(OBJEXT) diacrit_.$(OBJEXT) dirname_.$(OBJEXT) \
|
||||
dup-safer_.$(OBJEXT) dup2_.$(OBJEXT) error_.$(OBJEXT) \
|
||||
euidaccess_.$(OBJEXT) exclude_.$(OBJEXT) fileblocks_.$(OBJEXT) \
|
||||
filemode_.$(OBJEXT) fnmatch_.$(OBJEXT) fopen-safer_.$(OBJEXT) \
|
||||
fsusage_.$(OBJEXT) ftruncate_.$(OBJEXT) full-write_.$(OBJEXT) \
|
||||
getdate_.$(OBJEXT) getgroups_.$(OBJEXT) gethostname_.$(OBJEXT) \
|
||||
getline_.$(OBJEXT) getloadavg_.$(OBJEXT) getopt_.$(OBJEXT) \
|
||||
getopt1_.$(OBJEXT) getpass_.$(OBJEXT) getstr_.$(OBJEXT) \
|
||||
getugroups_.$(OBJEXT) getusershell_.$(OBJEXT) group-member_.$(OBJEXT) \
|
||||
hard-locale_.$(OBJEXT) hash_.$(OBJEXT) human_.$(OBJEXT) \
|
||||
idcache_.$(OBJEXT) isdir_.$(OBJEXT) lchown_.$(OBJEXT) \
|
||||
linebuffer_.$(OBJEXT) localcharset_.$(OBJEXT) long-options_.$(OBJEXT) \
|
||||
lstat_.$(OBJEXT) makepath_.$(OBJEXT) malloc_.$(OBJEXT) \
|
||||
mbswidth_.$(OBJEXT) md5_.$(OBJEXT) memcasecmp_.$(OBJEXT) \
|
||||
memchr_.$(OBJEXT) memcmp_.$(OBJEXT) memcoll_.$(OBJEXT) \
|
||||
memcpy_.$(OBJEXT) memmove_.$(OBJEXT) memrchr_.$(OBJEXT) \
|
||||
memset_.$(OBJEXT) mkstemp_.$(OBJEXT) mktime_.$(OBJEXT) \
|
||||
closeout_.$(OBJEXT) diacrit_.$(OBJEXT) dirfd_.$(OBJEXT) \
|
||||
dirname_.$(OBJEXT) dup-safer_.$(OBJEXT) dup2_.$(OBJEXT) \
|
||||
error_.$(OBJEXT) euidaccess_.$(OBJEXT) exclude_.$(OBJEXT) \
|
||||
fileblocks_.$(OBJEXT) filemode_.$(OBJEXT) fnmatch_.$(OBJEXT) \
|
||||
fopen-safer_.$(OBJEXT) fsusage_.$(OBJEXT) ftruncate_.$(OBJEXT) \
|
||||
full-write_.$(OBJEXT) getdate_.$(OBJEXT) getgroups_.$(OBJEXT) \
|
||||
gethostname_.$(OBJEXT) getline_.$(OBJEXT) getloadavg_.$(OBJEXT) \
|
||||
getopt_.$(OBJEXT) getopt1_.$(OBJEXT) getpass_.$(OBJEXT) \
|
||||
getstr_.$(OBJEXT) gettimeofday_.$(OBJEXT) getugroups_.$(OBJEXT) \
|
||||
getusershell_.$(OBJEXT) group-member_.$(OBJEXT) hard-locale_.$(OBJEXT) \
|
||||
hash_.$(OBJEXT) hash-pjw_.$(OBJEXT) human_.$(OBJEXT) idcache_.$(OBJEXT) \
|
||||
isdir_.$(OBJEXT) lchown_.$(OBJEXT) linebuffer_.$(OBJEXT) \
|
||||
localcharset_.$(OBJEXT) long-options_.$(OBJEXT) lstat_.$(OBJEXT) \
|
||||
makepath_.$(OBJEXT) malloc_.$(OBJEXT) mbswidth_.$(OBJEXT) \
|
||||
md5_.$(OBJEXT) memcasecmp_.$(OBJEXT) memchr_.$(OBJEXT) \
|
||||
memcmp_.$(OBJEXT) memcoll_.$(OBJEXT) memcpy_.$(OBJEXT) \
|
||||
memmove_.$(OBJEXT) memrchr_.$(OBJEXT) memset_.$(OBJEXT) \
|
||||
mkdir_.$(OBJEXT) mkstemp_.$(OBJEXT) mktime_.$(OBJEXT) \
|
||||
modechange_.$(OBJEXT) mountlist_.$(OBJEXT) nanosleep_.$(OBJEXT) \
|
||||
obstack_.$(OBJEXT) path-concat_.$(OBJEXT) physmem_.$(OBJEXT) \
|
||||
posixtm_.$(OBJEXT) putenv_.$(OBJEXT) quote_.$(OBJEXT) \
|
||||
@@ -754,13 +796,15 @@ stime_.$(OBJEXT) stpcpy_.$(OBJEXT) strcasecmp_.$(OBJEXT) \
|
||||
strcspn_.$(OBJEXT) strdup_.$(OBJEXT) strftime_.$(OBJEXT) \
|
||||
stripslash_.$(OBJEXT) strncasecmp_.$(OBJEXT) strndup_.$(OBJEXT) \
|
||||
strnlen_.$(OBJEXT) strpbrk_.$(OBJEXT) strstr_.$(OBJEXT) \
|
||||
strtod_.$(OBJEXT) strtol_.$(OBJEXT) strtoul_.$(OBJEXT) \
|
||||
strtoull_.$(OBJEXT) strtoumax_.$(OBJEXT) strverscmp_.$(OBJEXT) \
|
||||
tempname_.$(OBJEXT) unicodeio_.$(OBJEXT) userspec_.$(OBJEXT) \
|
||||
utime_.$(OBJEXT) version-etc_.$(OBJEXT) xgetcwd_.$(OBJEXT) \
|
||||
xgethostname_.$(OBJEXT) xmalloc_.$(OBJEXT) xstrdup_.$(OBJEXT) \
|
||||
xstrtod_.$(OBJEXT) xstrtol_.$(OBJEXT) xstrtoul_.$(OBJEXT) \
|
||||
xstrtoumax_.$(OBJEXT) yesno_.$(OBJEXT) : $(ANSI2KNR)
|
||||
strtod_.$(OBJEXT) strtoimax_.$(OBJEXT) strtol_.$(OBJEXT) \
|
||||
strtoll_.$(OBJEXT) strtoul_.$(OBJEXT) strtoull_.$(OBJEXT) \
|
||||
strtoumax_.$(OBJEXT) strverscmp_.$(OBJEXT) tempname_.$(OBJEXT) \
|
||||
unicodeio_.$(OBJEXT) userspec_.$(OBJEXT) utime_.$(OBJEXT) \
|
||||
version-etc_.$(OBJEXT) xgetcwd_.$(OBJEXT) xgethostname_.$(OBJEXT) \
|
||||
xmalloc_.$(OBJEXT) xreadlink_.$(OBJEXT) xstrdup_.$(OBJEXT) \
|
||||
xstrtod_.$(OBJEXT) xstrtoimax_.$(OBJEXT) xstrtol_.$(OBJEXT) \
|
||||
xstrtoul_.$(OBJEXT) xstrtoumax_.$(OBJEXT) yesno_.$(OBJEXT) : \
|
||||
$(ANSI2KNR)
|
||||
|
||||
.y.c:
|
||||
$(YACCCOMPILE) $< && mv y.tab.c $@
|
||||
@@ -771,8 +815,6 @@ xstrtoumax_.$(OBJEXT) yesno_.$(OBJEXT) : $(ANSI2KNR)
|
||||
mv y.tab.h $*.h; \
|
||||
fi; \
|
||||
fi
|
||||
.y.h:
|
||||
@:
|
||||
uninstall-info-am:
|
||||
|
||||
tags: TAGS
|
||||
@@ -802,10 +844,10 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
GTAGS:
|
||||
here=`CDPATH=: && cd $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $$here
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
@@ -897,7 +939,7 @@ mostlyclean-am: mostlyclean-compile mostlyclean-generic mostlyclean-kr
|
||||
|
||||
uninstall-am: uninstall-info-am uninstall-local
|
||||
|
||||
.PHONY: all all-am all-local check check-am clean clean-generic \
|
||||
.PHONY: GTAGS all all-am all-local check check-am clean clean-generic \
|
||||
clean-noinstLIBRARIES distclean distclean-compile \
|
||||
distclean-depend distclean-generic distclean-tags distdir dvi \
|
||||
dvi-am info info-am install install-am install-data \
|
||||
@@ -933,7 +975,7 @@ stat.c: xstat.in
|
||||
# On systems with glibc-2.1 or newer, the file is redundant, therefore we
|
||||
# avoid installing it.
|
||||
|
||||
all-local: charset.alias ref-add.sed ref-del.sed lstat.c stat.c
|
||||
all-local: charset.alias ref-add.sed ref-del.sed lstat.c stat.c unlocked-io.h
|
||||
install-exec-local: all-local
|
||||
$(mkinstalldirs) $(DESTDIR)$(libdir)
|
||||
if test -f $(charset_alias); then \
|
||||
@@ -966,6 +1008,10 @@ charset.alias: config.charset
|
||||
.sin.sed:
|
||||
sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > $@-t
|
||||
mv $@-t $@
|
||||
|
||||
unlocked-io.h: $(srcdir)/gen-uio Makefile.am
|
||||
srcdir=$(srcdir) $(SHELL) $(srcdir)/gen-uio $(io_functions) > $@t
|
||||
mv $@t $@
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
|
||||
39
lib/addext.c
39
lib/addext.c
@@ -47,6 +47,11 @@
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
#include <errno.h>
|
||||
#ifndef errno
|
||||
extern int errno;
|
||||
#endif
|
||||
|
||||
#include "backupfile.h"
|
||||
#include "dirname.h"
|
||||
|
||||
@@ -57,26 +62,30 @@ void
|
||||
addext (char *filename, char const *ext, int e)
|
||||
{
|
||||
char *s = base_name (filename);
|
||||
size_t slen = base_len (s), extlen = strlen (ext);
|
||||
long slen_max = -1;
|
||||
size_t slen = base_len (s);
|
||||
size_t extlen = strlen (ext);
|
||||
size_t slen_max = HAVE_LONG_FILE_NAMES ? 255 : _POSIX_NAME_MAX;
|
||||
|
||||
#if HAVE_PATHCONF && defined _PC_NAME_MAX
|
||||
if (slen + extlen <= _POSIX_NAME_MAX && ! HAVE_DOS_FILE_NAMES)
|
||||
/* The file name is so short there's no need to call pathconf. */
|
||||
slen_max = _POSIX_NAME_MAX;
|
||||
else if (s == filename)
|
||||
slen_max = pathconf (".", _PC_NAME_MAX);
|
||||
else
|
||||
if (_POSIX_NAME_MAX < slen + extlen || HAVE_DOS_FILE_NAMES)
|
||||
{
|
||||
char c = *s;
|
||||
if (! ISSLASH (c))
|
||||
*s = 0;
|
||||
slen_max = pathconf (filename, _PC_NAME_MAX);
|
||||
*s = c;
|
||||
/* The new base name is long enough to require a pathconf check. */
|
||||
long name_max;
|
||||
errno = 0;
|
||||
if (s == filename)
|
||||
name_max = pathconf (".", _PC_NAME_MAX);
|
||||
else
|
||||
{
|
||||
char c = *s;
|
||||
if (! ISSLASH (c))
|
||||
*s = 0;
|
||||
name_max = pathconf (filename, _PC_NAME_MAX);
|
||||
*s = c;
|
||||
}
|
||||
if (0 <= name_max || errno == 0)
|
||||
slen_max = name_max == (size_t) name_max ? name_max : -1;
|
||||
}
|
||||
#endif
|
||||
if (slen_max < 0)
|
||||
slen_max = HAVE_LONG_FILE_NAMES ? 255 : 14;
|
||||
|
||||
if (HAVE_DOS_FILE_NAMES && slen_max <= 12)
|
||||
{
|
||||
|
||||
@@ -169,7 +169,7 @@ static header *last_alloca_header = NULL; /* -> last alloca header. */
|
||||
implementations of C, for example under Gould's UTX/32. */
|
||||
|
||||
pointer
|
||||
alloca (unsigned size)
|
||||
alloca (size_t size)
|
||||
{
|
||||
auto char probe; /* Probes stack depth: */
|
||||
register char *depth = ADDRESS_FUNCTION (probe);
|
||||
|
||||
@@ -160,8 +160,8 @@ argmatch_invalid (const char *context, const char *value, int problem)
|
||||
? _("invalid argument %s for %s")
|
||||
: _("ambiguous argument %s for %s"));
|
||||
|
||||
error (0, 0, format, quotearg_style (ARGMATCH_QUOTING_STYLE, value),
|
||||
quote (context));
|
||||
error (0, 0, format, quotearg_n_style (0, ARGMATCH_QUOTING_STYLE, value),
|
||||
quote_n (1, context));
|
||||
}
|
||||
|
||||
/* List the valid arguments for argmatch.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* argmatch.h -- definitions and prototypes for argmatch.c
|
||||
Copyright (C) 1990, 1998, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1990, 1998, 1999, 2001 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
|
||||
@@ -123,7 +123,7 @@ const char *argmatch_to_argument
|
||||
const char *vallist, size_t valsize));
|
||||
|
||||
# define ARGMATCH_TO_ARGUMENT(Value, Arglist, Vallist) \
|
||||
argmatch_to_argument ((char const *) &(Value), (Arglist), \
|
||||
argmatch_to_argument ((Value), (Arglist), \
|
||||
(const char *) (Vallist), sizeof (*(Vallist)))
|
||||
|
||||
#endif /* ARGMATCH_H_ */
|
||||
|
||||
@@ -80,10 +80,10 @@
|
||||
# EUC-KR glibc aix hpux irix osf solaris freebsd yes
|
||||
# EUC-TW glibc aix hpux irix osf solaris
|
||||
# BIG5 glibc aix hpux osf solaris freebsd yes
|
||||
# BIG5HKSCS glibc
|
||||
# BIG5-HKSCS glibc
|
||||
# GBK aix osf win32 dos
|
||||
# GB18030 glibc
|
||||
# SJIS hpux osf solaris freebsd
|
||||
# SHIFT_JIS hpux osf solaris freebsd yes
|
||||
# JOHAB glibc win32
|
||||
# TIS-620 glibc aix hpux osf solaris
|
||||
# VISCII glibc yes
|
||||
@@ -174,7 +174,7 @@ case "$os" in
|
||||
echo "eucTW EUC-TW"
|
||||
echo "hp15CN GB2312"
|
||||
#echo "ccdc ?" # what is this?
|
||||
echo "SJIS SJIS"
|
||||
echo "SJIS SHIFT_JIS"
|
||||
echo "utf8 UTF-8"
|
||||
;;
|
||||
irix*)
|
||||
@@ -209,7 +209,7 @@ case "$os" in
|
||||
echo "GBK GBK"
|
||||
echo "KSC5601 CP949"
|
||||
echo "sdeckanji EUC-JP"
|
||||
echo "SJIS SJIS"
|
||||
echo "SJIS SHIFT_JIS"
|
||||
echo "TACTIS TIS-620"
|
||||
echo "UTF-8 UTF-8"
|
||||
;;
|
||||
@@ -230,7 +230,7 @@ case "$os" in
|
||||
echo "cns11643 EUC-TW"
|
||||
echo "5601 EUC-KR"
|
||||
echo "eucJP EUC-JP"
|
||||
echo "PCK SJIS"
|
||||
echo "PCK SHIFT_JIS"
|
||||
echo "TIS620.2533 TIS-620"
|
||||
#echo "sun_eu_greek ?" # what is this?
|
||||
echo "UTF-8 UTF-8"
|
||||
@@ -266,8 +266,8 @@ case "$os" in
|
||||
echo "zh_TW.Big5 BIG5"
|
||||
echo "zh_CN.EUC GB2312"
|
||||
echo "ja_JP.EUC EUC-JP"
|
||||
echo "ja_JP.SJIS SJIS"
|
||||
echo "ja_JP.Shift_JIS SJIS"
|
||||
echo "ja_JP.SJIS SHIFT_JIS"
|
||||
echo "ja_JP.Shift_JIS SHIFT_JIS"
|
||||
echo "ko_KR.EUC EUC-KR"
|
||||
;;
|
||||
beos*)
|
||||
|
||||
30
lib/dirfd.c
Normal file
30
lib/dirfd.c
Normal file
@@ -0,0 +1,30 @@
|
||||
/* dirfd.c -- return the file descriptor associated with an open DIR*
|
||||
Copyright (C) 2001 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 2, 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, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* Written by Jim Meyering. */
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include "dirfd.h"
|
||||
|
||||
int
|
||||
dirfd (DIR const *dir_p)
|
||||
{
|
||||
return DIR_TO_FD (dir_p);
|
||||
}
|
||||
27
lib/dirfd.h
Normal file
27
lib/dirfd.h
Normal file
@@ -0,0 +1,27 @@
|
||||
#if HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
#if HAVE_DIRENT_H
|
||||
# include <dirent.h>
|
||||
#else /* not HAVE_DIRENT_H */
|
||||
# define dirent direct
|
||||
# if HAVE_SYS_NDIR_H
|
||||
# include <sys/ndir.h>
|
||||
# endif /* HAVE_SYS_NDIR_H */
|
||||
# if HAVE_SYS_DIR_H
|
||||
# include <sys/dir.h>
|
||||
# endif /* HAVE_SYS_DIR_H */
|
||||
# if HAVE_NDIR_H
|
||||
# include <ndir.h>
|
||||
# endif /* HAVE_NDIR_H */
|
||||
#endif /* HAVE_DIRENT_H */
|
||||
|
||||
#ifndef HAVE_DECL_DIRFD
|
||||
"this configure-time declaration test was not run"
|
||||
#endif
|
||||
#if !HAVE_DECL_DIRFD
|
||||
int dirfd (DIR const *);
|
||||
#endif
|
||||
272
lib/error.c
272
lib/error.c
@@ -1,23 +1,22 @@
|
||||
/* Error handler for noninteractive utilities
|
||||
Copyright (C) 1990-1998, 2000 Free Software Foundation, Inc.
|
||||
|
||||
Copyright (C) 1990-1998, 2000, 2001 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however. The master source lives in /gd/gnu/lib.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library 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
|
||||
Library General Public License for more details.
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
/* Written by David MacKenzie <djm@gnu.ai.mit.edu>. */
|
||||
|
||||
@@ -29,6 +28,10 @@
|
||||
#if HAVE_LIBINTL_H
|
||||
# include <libintl.h>
|
||||
#endif
|
||||
#ifdef _LIBC
|
||||
# include <wchar.h>
|
||||
# define mbsrtowcs __mbsrtowcs
|
||||
#endif
|
||||
|
||||
#if HAVE_VPRINTF || HAVE_DOPRNT || _LIBC
|
||||
# if __STDC__
|
||||
@@ -52,13 +55,6 @@ void exit ();
|
||||
|
||||
#include "error.h"
|
||||
|
||||
#ifndef HAVE_DECL_STRERROR_R
|
||||
"this configure-time declaration test was not run"
|
||||
#endif
|
||||
#if !HAVE_DECL_STRERROR_R
|
||||
char *strerror_r ();
|
||||
#endif
|
||||
|
||||
#ifndef _
|
||||
# define _(String) String
|
||||
#endif
|
||||
@@ -83,6 +79,12 @@ unsigned int error_message_count;
|
||||
|
||||
/* In GNU libc we want do not want to use the common name `error' directly.
|
||||
Instead make it a weak alias. */
|
||||
extern void __error (int status, int errnum, const char *message, ...)
|
||||
__attribute__ ((__format__ (__printf__, 3, 4)));
|
||||
extern void __error_at_line (int status, int errnum, const char *file_name,
|
||||
unsigned int line_number, const char *message,
|
||||
...)
|
||||
__attribute__ ((__format__ (__printf__, 5, 6)));;
|
||||
# define error __error
|
||||
# define error_at_line __error_at_line
|
||||
|
||||
@@ -93,21 +95,30 @@ unsigned int error_message_count;
|
||||
|
||||
#else /* not _LIBC */
|
||||
|
||||
# if !HAVE_DECL_STRERROR_R && STRERROR_R_CHAR_P
|
||||
# ifndef HAVE_DECL_STRERROR_R
|
||||
"this configure-time declaration test was not run"
|
||||
# endif
|
||||
char *strerror_r ();
|
||||
# endif
|
||||
|
||||
/* The calling program should define program_name and set it to the
|
||||
name of the executing program. */
|
||||
extern char *program_name;
|
||||
|
||||
# ifdef HAVE_STRERROR_R
|
||||
# if HAVE_STRERROR_R || defined strerror_r
|
||||
# define __strerror_r strerror_r
|
||||
# else
|
||||
# if HAVE_STRERROR
|
||||
# ifndef strerror /* On some systems, strerror is a macro */
|
||||
# ifndef HAVE_DECL_STRERROR
|
||||
"this configure-time declaration test was not run"
|
||||
# endif
|
||||
# if !HAVE_DECL_STRERROR
|
||||
char *strerror ();
|
||||
# endif
|
||||
# else
|
||||
static char *
|
||||
private_strerror (errnum)
|
||||
int errnum;
|
||||
private_strerror (int errnum)
|
||||
{
|
||||
extern char *sys_errlist[];
|
||||
extern int sys_nerr;
|
||||
@@ -118,15 +129,118 @@ private_strerror (errnum)
|
||||
}
|
||||
# define strerror private_strerror
|
||||
# endif /* HAVE_STRERROR */
|
||||
# endif /* HAVE_STRERROR_R */
|
||||
# endif /* HAVE_STRERROR_R || defined strerror_r */
|
||||
#endif /* not _LIBC */
|
||||
|
||||
static void
|
||||
print_errno_message (int errnum)
|
||||
{
|
||||
char const *s;
|
||||
|
||||
#if defined HAVE_STRERROR_R || _LIBC
|
||||
char errbuf[1024];
|
||||
# if STRERROR_R_CHAR_P || _LIBC
|
||||
s = __strerror_r (errnum, errbuf, sizeof errbuf);
|
||||
# else
|
||||
if (__strerror_r (errnum, errbuf, sizeof errbuf) == 0)
|
||||
s = errbuf;
|
||||
else
|
||||
s = 0;
|
||||
# endif
|
||||
#else
|
||||
s = strerror (errnum);
|
||||
#endif
|
||||
|
||||
#if !_LIBC
|
||||
if (! s)
|
||||
s = _("Unknown system error");
|
||||
#endif
|
||||
|
||||
#if _LIBC && USE_IN_LIBIO
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
{
|
||||
__fwprintf (stderr, L": %s", s);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
fprintf (stderr, ": %s", s);
|
||||
}
|
||||
|
||||
#ifdef VA_START
|
||||
static void
|
||||
error_tail (int status, int errnum, const char *message, va_list args)
|
||||
{
|
||||
# if HAVE_VPRINTF || _LIBC
|
||||
# if _LIBC && USE_IN_LIBIO
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
{
|
||||
# define ALLOCA_LIMIT 2000
|
||||
size_t len = strlen (message) + 1;
|
||||
wchar_t *wmessage = NULL;
|
||||
mbstate_t st;
|
||||
size_t res;
|
||||
const char *tmp;
|
||||
|
||||
do
|
||||
{
|
||||
if (len < ALLOCA_LIMIT)
|
||||
wmessage = (wchar_t *) alloca (len * sizeof (wchar_t));
|
||||
else
|
||||
{
|
||||
if (wmessage != NULL && len / 2 < ALLOCA_LIMIT)
|
||||
wmessage = NULL;
|
||||
|
||||
wmessage = (wchar_t *) realloc (wmessage,
|
||||
len * sizeof (wchar_t));
|
||||
|
||||
if (wmessage == NULL)
|
||||
{
|
||||
fputws_unlocked (L"out of memory\n", stderr);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
memset (&st, '\0', sizeof (st));
|
||||
tmp =message;
|
||||
}
|
||||
while ((res = mbsrtowcs (wmessage, &tmp, len, &st)) == len);
|
||||
|
||||
if (res == (size_t) -1)
|
||||
/* The string cannot be converted. */
|
||||
wmessage = (wchar_t *) L"???";
|
||||
|
||||
__vfwprintf (stderr, wmessage, args);
|
||||
}
|
||||
else
|
||||
# endif
|
||||
vfprintf (stderr, message, args);
|
||||
# else
|
||||
_doprnt (message, args, stderr);
|
||||
# endif
|
||||
va_end (args);
|
||||
|
||||
++error_message_count;
|
||||
if (errnum)
|
||||
print_errno_message (errnum);
|
||||
# if _LIBC && USE_IN_LIBIO
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
putwc (L'\n', stderr);
|
||||
else
|
||||
# endif
|
||||
putc ('\n', stderr);
|
||||
fflush (stderr);
|
||||
if (status)
|
||||
exit (status);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/* Print the program name and error message MESSAGE, which is a printf-style
|
||||
format string with optional args.
|
||||
If ERRNUM is nonzero, print its corresponding system error message.
|
||||
Exit with status STATUS if it is nonzero. */
|
||||
/* VARARGS */
|
||||
|
||||
void
|
||||
#if defined VA_START && __STDC__
|
||||
error (int status, int errnum, const char *message, ...)
|
||||
@@ -142,47 +256,48 @@ error (status, errnum, message, va_alist)
|
||||
va_list args;
|
||||
#endif
|
||||
|
||||
fflush (stdout);
|
||||
#ifdef _LIBC
|
||||
# ifdef USE_IN_LIBIO
|
||||
_IO_flockfile (stderr);
|
||||
# else
|
||||
__flockfile (stderr);
|
||||
# endif
|
||||
#endif
|
||||
if (error_print_progname)
|
||||
(*error_print_progname) ();
|
||||
else
|
||||
{
|
||||
fflush (stdout);
|
||||
fprintf (stderr, "%s: ", program_name);
|
||||
#if _LIBC && USE_IN_LIBIO
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
__fwprintf (stderr, L"%s: ", program_name);
|
||||
else
|
||||
#endif
|
||||
fprintf (stderr, "%s: ", program_name);
|
||||
}
|
||||
|
||||
#ifdef VA_START
|
||||
VA_START (args, message);
|
||||
# if HAVE_VPRINTF || _LIBC
|
||||
vfprintf (stderr, message, args);
|
||||
# else
|
||||
_doprnt (message, args, stderr);
|
||||
# endif
|
||||
va_end (args);
|
||||
error_tail (status, errnum, message, args);
|
||||
#else
|
||||
fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
|
||||
#endif
|
||||
|
||||
++error_message_count;
|
||||
if (errnum)
|
||||
{
|
||||
#if defined HAVE_STRERROR_R || _LIBC
|
||||
char errbuf[1024];
|
||||
# if HAVE_WORKING_STRERROR_R || _LIBC
|
||||
fprintf (stderr, ": %s", __strerror_r (errnum, errbuf, sizeof errbuf));
|
||||
# else
|
||||
/* Don't use __strerror_r's return value because on some systems
|
||||
(at least DEC UNIX 4.0[A-D]) strerror_r returns `int'. */
|
||||
__strerror_r (errnum, errbuf, sizeof errbuf);
|
||||
fprintf (stderr, ": %s", errbuf);
|
||||
# endif
|
||||
#else
|
||||
fprintf (stderr, ": %s", strerror (errnum));
|
||||
#endif
|
||||
}
|
||||
print_errno_message (errnum);
|
||||
putc ('\n', stderr);
|
||||
fflush (stderr);
|
||||
if (status)
|
||||
exit (status);
|
||||
#endif
|
||||
|
||||
#ifdef _LIBC
|
||||
# ifdef USE_IN_LIBIO
|
||||
_IO_funlockfile (stderr);
|
||||
# else
|
||||
__funlockfile (stderr);
|
||||
# endif
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Sometimes we want to have at most one error per line. This
|
||||
@@ -212,8 +327,9 @@ error_at_line (status, errnum, file_name, line_number, message, va_alist)
|
||||
static const char *old_file_name;
|
||||
static unsigned int old_line_number;
|
||||
|
||||
if (old_line_number == line_number &&
|
||||
(file_name == old_file_name || !strcmp (old_file_name, file_name)))
|
||||
if (old_line_number == line_number
|
||||
&& (file_name == old_file_name
|
||||
|| strcmp (old_file_name, file_name) == 0))
|
||||
/* Simply return and print nothing. */
|
||||
return;
|
||||
|
||||
@@ -221,50 +337,58 @@ error_at_line (status, errnum, file_name, line_number, message, va_alist)
|
||||
old_line_number = line_number;
|
||||
}
|
||||
|
||||
fflush (stdout);
|
||||
#ifdef _LIBC
|
||||
# ifdef USE_IN_LIBIO
|
||||
_IO_flockfile (stderr);
|
||||
# else
|
||||
__flockfile (stderr);
|
||||
# endif
|
||||
#endif
|
||||
if (error_print_progname)
|
||||
(*error_print_progname) ();
|
||||
else
|
||||
{
|
||||
fflush (stdout);
|
||||
fprintf (stderr, "%s:", program_name);
|
||||
#if _LIBC && USE_IN_LIBIO
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
__fwprintf (stderr, L"%s: ", program_name);
|
||||
else
|
||||
#endif
|
||||
fprintf (stderr, "%s:", program_name);
|
||||
}
|
||||
|
||||
if (file_name != NULL)
|
||||
fprintf (stderr, "%s:%d: ", file_name, line_number);
|
||||
{
|
||||
#if _LIBC && USE_IN_LIBIO
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
__fwprintf (stderr, L"%s:%d: ", file_name, line_number);
|
||||
else
|
||||
#endif
|
||||
fprintf (stderr, "%s:%d: ", file_name, line_number);
|
||||
}
|
||||
|
||||
#ifdef VA_START
|
||||
VA_START (args, message);
|
||||
# if HAVE_VPRINTF || _LIBC
|
||||
vfprintf (stderr, message, args);
|
||||
# else
|
||||
_doprnt (message, args, stderr);
|
||||
# endif
|
||||
va_end (args);
|
||||
error_tail (status, errnum, message, args);
|
||||
#else
|
||||
fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
|
||||
#endif
|
||||
|
||||
++error_message_count;
|
||||
if (errnum)
|
||||
{
|
||||
#if defined HAVE_STRERROR_R || _LIBC
|
||||
char errbuf[1024];
|
||||
# if HAVE_WORKING_STRERROR_R || _LIBC
|
||||
fprintf (stderr, ": %s", __strerror_r (errnum, errbuf, sizeof errbuf));
|
||||
# else
|
||||
/* Don't use __strerror_r's return value because on some systems
|
||||
(at least DEC UNIX 4.0[A-D]) strerror_r returns `int'. */
|
||||
__strerror_r (errnum, errbuf, sizeof errbuf);
|
||||
fprintf (stderr, ": %s", errbuf);
|
||||
# endif
|
||||
#else
|
||||
fprintf (stderr, ": %s", strerror (errnum));
|
||||
#endif
|
||||
}
|
||||
print_errno_message (errnum);
|
||||
putc ('\n', stderr);
|
||||
fflush (stderr);
|
||||
if (status)
|
||||
exit (status);
|
||||
#endif
|
||||
|
||||
#ifdef _LIBC
|
||||
# ifdef USE_IN_LIBIO
|
||||
_IO_funlockfile (stderr);
|
||||
# else
|
||||
__funlockfile (stderr);
|
||||
# endif
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef _LIBC
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
#ifndef __attribute__
|
||||
/* This feature is available in gcc versions 2.5 and later. */
|
||||
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
|
||||
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
|
||||
# define __attribute__(Spec) /* empty */
|
||||
# endif
|
||||
/* The __-protected variants of `format' and `printf' attributes
|
||||
|
||||
223
lib/exclude.c
223
lib/exclude.c
@@ -1,5 +1,7 @@
|
||||
/* exclude.c -- exclude file names
|
||||
Copyright 1992, 1993, 1994, 1997, 1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
Copyright 1992, 1993, 1994, 1997, 1999, 2000, 2001 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
|
||||
@@ -22,73 +24,205 @@
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_STDBOOL_H
|
||||
# include <stdbool.h>
|
||||
#else
|
||||
typedef enum {false = 0, true = 1} bool;
|
||||
#endif
|
||||
|
||||
#include <errno.h>
|
||||
#ifndef errno
|
||||
extern int errno;
|
||||
#endif
|
||||
#include <exclude.h>
|
||||
#include <fnmatch.h>
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
#if HAVE_SYS_TYPES_H
|
||||
# include <sys/types.h>
|
||||
#endif
|
||||
#if HAVE_STDLIB_H
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
#if HAVE_STRING_H
|
||||
# include <string.h>
|
||||
#endif
|
||||
#if HAVE_STRINGS_H
|
||||
# include <strings.h>
|
||||
#endif
|
||||
#if HAVE_INTTYPES_H
|
||||
# include <inttypes.h>
|
||||
#else
|
||||
# if HAVE_STDINT_H
|
||||
# include <stdint.h>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
void *xmalloc PARAMS ((size_t));
|
||||
void *xrealloc PARAMS ((void *, size_t));
|
||||
#include "exclude.h"
|
||||
#include "fnmatch.h"
|
||||
#include "xalloc.h"
|
||||
|
||||
/* Keep track of excluded file name patterns. */
|
||||
#ifndef SIZE_MAX
|
||||
# define SIZE_MAX ((size_t) -1)
|
||||
#endif
|
||||
|
||||
/* Verify a requirement at compile-time (unlike assert, which is runtime). */
|
||||
#define verify(name, assertion) struct name { char a[(assertion) ? 1 : -1]; }
|
||||
|
||||
verify (EXCLUDE_macros_do_not_collide_with_FNM_macros,
|
||||
(((EXCLUDE_ANCHORED | EXCLUDE_INCLUDE | EXCLUDE_WILDCARDS)
|
||||
& (FNM_FILE_NAME | FNM_NOESCAPE | FNM_PERIOD | FNM_LEADING_DIR
|
||||
| FNM_CASEFOLD))
|
||||
== 0));
|
||||
|
||||
/* An exclude pattern-options pair. The options are fnmatch options
|
||||
ORed with EXCLUDE_* options. */
|
||||
|
||||
struct patopts
|
||||
{
|
||||
char const *pattern;
|
||||
int options;
|
||||
};
|
||||
|
||||
/* An exclude list, of pattern-options pairs. */
|
||||
|
||||
struct exclude
|
||||
{
|
||||
char const **exclude;
|
||||
int exclude_alloc;
|
||||
int exclude_count;
|
||||
struct patopts *exclude;
|
||||
size_t exclude_alloc;
|
||||
size_t exclude_count;
|
||||
};
|
||||
|
||||
/* Return a newly allocated and empty exclude list. */
|
||||
|
||||
struct exclude *
|
||||
new_exclude (void)
|
||||
{
|
||||
struct exclude *ex = (struct exclude *) xmalloc (sizeof (struct exclude));
|
||||
struct exclude *ex = (struct exclude *) xmalloc (sizeof *ex);
|
||||
ex->exclude_count = 0;
|
||||
ex->exclude_alloc = 64;
|
||||
ex->exclude = (char const **) xmalloc (ex->exclude_alloc * sizeof (char *));
|
||||
ex->exclude_alloc = (1 << 6); /* This must be a power of 2. */
|
||||
ex->exclude = (struct patopts *) xmalloc (ex->exclude_alloc
|
||||
* sizeof ex->exclude[0]);
|
||||
return ex;
|
||||
}
|
||||
|
||||
int
|
||||
excluded_filename (struct exclude const *ex, char const *f, int options)
|
||||
{
|
||||
char const * const *exclude = ex->exclude;
|
||||
int exclude_count = ex->exclude_count;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < exclude_count; i++)
|
||||
if (fnmatch (exclude[i], f, options) == 0)
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
/* Free the storage associated with an exclude list. */
|
||||
|
||||
void
|
||||
add_exclude (struct exclude *ex, char const *pattern)
|
||||
free_exclude (struct exclude *ex)
|
||||
{
|
||||
if (ex->exclude_alloc <= ex->exclude_count)
|
||||
ex->exclude = (char const **) xrealloc (ex->exclude,
|
||||
((ex->exclude_alloc *= 2)
|
||||
* sizeof (char *)));
|
||||
|
||||
ex->exclude[ex->exclude_count++] = pattern;
|
||||
free (ex->exclude);
|
||||
free (ex);
|
||||
}
|
||||
|
||||
int
|
||||
add_exclude_file (void (*add_func) PARAMS ((struct exclude *, char const *)),
|
||||
struct exclude *ex, char const *filename, char line_end)
|
||||
/* Return zero if PATTERN matches F, obeying OPTIONS, except that
|
||||
(unlike fnmatch) wildcards are disabled in PATTERN. */
|
||||
|
||||
static int
|
||||
fnmatch_no_wildcards (char const *pattern, char const *f, int options)
|
||||
{
|
||||
int use_stdin = filename[0] == '-' && !filename[1];
|
||||
if (! (options & FNM_LEADING_DIR))
|
||||
return ((options & FNM_CASEFOLD)
|
||||
? strcasecmp (pattern, f)
|
||||
: strcmp (pattern, f));
|
||||
else
|
||||
{
|
||||
size_t patlen = strlen (pattern);
|
||||
int r = ((options & FNM_CASEFOLD)
|
||||
? strncasecmp (pattern, f, patlen)
|
||||
: strncmp (pattern, f, patlen));
|
||||
if (! r)
|
||||
{
|
||||
r = f[patlen];
|
||||
if (r == '/')
|
||||
r = 0;
|
||||
}
|
||||
return r;
|
||||
}
|
||||
}
|
||||
|
||||
/* Return true if EX excludes F. */
|
||||
|
||||
bool
|
||||
excluded_filename (struct exclude const *ex, char const *f)
|
||||
{
|
||||
size_t exclude_count = ex->exclude_count;
|
||||
|
||||
/* If no options are given, the default is to include. */
|
||||
if (exclude_count == 0)
|
||||
return false;
|
||||
else
|
||||
{
|
||||
struct patopts const *exclude = ex->exclude;
|
||||
size_t i;
|
||||
|
||||
/* Otherwise, the default is the opposite of the first option. */
|
||||
bool excluded = !! (exclude[0].options & EXCLUDE_INCLUDE);
|
||||
|
||||
/* Scan through the options, seeing whether they change F from
|
||||
excluded to included or vice versa. */
|
||||
for (i = 0; i < exclude_count; i++)
|
||||
{
|
||||
char const *pattern = exclude[i].pattern;
|
||||
int options = exclude[i].options;
|
||||
if (excluded == !! (options & EXCLUDE_INCLUDE))
|
||||
{
|
||||
int (*matcher) PARAMS ((char const *, char const *, int)) =
|
||||
(options & EXCLUDE_WILDCARDS
|
||||
? fnmatch
|
||||
: fnmatch_no_wildcards);
|
||||
bool matched = ((*matcher) (pattern, f, options) == 0);
|
||||
char const *p;
|
||||
|
||||
if (! (options & EXCLUDE_ANCHORED))
|
||||
for (p = f; *p && ! matched; p++)
|
||||
if (*p == '/' && p[1] != '/')
|
||||
matched = ((*matcher) (pattern, p + 1, options) == 0);
|
||||
|
||||
excluded ^= matched;
|
||||
}
|
||||
}
|
||||
|
||||
return excluded;
|
||||
}
|
||||
}
|
||||
|
||||
/* Append to EX the exclusion PATTERN with OPTIONS. */
|
||||
|
||||
void
|
||||
add_exclude (struct exclude *ex, char const *pattern, int options)
|
||||
{
|
||||
struct patopts *patopts;
|
||||
|
||||
if (ex->exclude_alloc <= ex->exclude_count)
|
||||
{
|
||||
size_t s = 2 * ex->exclude_alloc;
|
||||
if (! (0 < s && s <= SIZE_MAX / sizeof ex->exclude[0]))
|
||||
xalloc_die ();
|
||||
ex->exclude_alloc = s;
|
||||
ex->exclude = (struct patopts *) xrealloc (ex->exclude,
|
||||
s * sizeof ex->exclude[0]);
|
||||
}
|
||||
|
||||
patopts = &ex->exclude[ex->exclude_count++];
|
||||
patopts->pattern = pattern;
|
||||
patopts->options = options;
|
||||
}
|
||||
|
||||
/* Use ADD_FUNC to append to EX the patterns in FILENAME, each with
|
||||
OPTIONS. LINE_END terminates each pattern in the file. Return -1
|
||||
on failure, 0 on success. */
|
||||
|
||||
int
|
||||
add_exclude_file (void (*add_func) PARAMS ((struct exclude *,
|
||||
char const *, int)),
|
||||
struct exclude *ex, char const *filename, int options,
|
||||
char line_end)
|
||||
{
|
||||
bool use_stdin = filename[0] == '-' && !filename[1];
|
||||
FILE *in;
|
||||
char *buf;
|
||||
char *p;
|
||||
char const *pattern;
|
||||
char const *lim;
|
||||
size_t buf_alloc = 1024;
|
||||
size_t buf_alloc = (1 << 10); /* This must be a power of two. */
|
||||
size_t buf_count = 0;
|
||||
int c;
|
||||
int e = 0;
|
||||
@@ -104,22 +238,27 @@ add_exclude_file (void (*add_func) PARAMS ((struct exclude *, char const *)),
|
||||
{
|
||||
buf[buf_count++] = c;
|
||||
if (buf_count == buf_alloc)
|
||||
buf = xrealloc (buf, buf_alloc *= 2);
|
||||
{
|
||||
buf_alloc *= 2;
|
||||
if (! buf_alloc)
|
||||
xalloc_die ();
|
||||
buf = xrealloc (buf, buf_alloc);
|
||||
}
|
||||
}
|
||||
|
||||
buf = xrealloc (buf, buf_count + 1);
|
||||
|
||||
if (ferror (in))
|
||||
e = errno;
|
||||
|
||||
if (!use_stdin && fclose (in) != 0)
|
||||
e = errno;
|
||||
|
||||
buf = xrealloc (buf, buf_count + 1);
|
||||
|
||||
for (pattern = p = buf, lim = buf + buf_count; p <= lim; p++)
|
||||
if (p < lim ? *p == line_end : buf < p && p[-1])
|
||||
{
|
||||
*p = '\0';
|
||||
(*add_func) (ex, pattern);
|
||||
(*add_func) (ex, pattern, options);
|
||||
pattern = p + 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* exclude.h -- declarations for excluding file names
|
||||
Copyright 1992, 1993, 1994, 1997, 1999 Free Software Foundation, Inc.
|
||||
Copyright 1992, 1993, 1994, 1997, 1999, 2001 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
|
||||
@@ -26,10 +26,24 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Exclude options, which can be ORed with fnmatch options. */
|
||||
|
||||
/* Patterns must match the start of file names, instead of matching
|
||||
anywhere after a '/'. */
|
||||
#define EXCLUDE_ANCHORED (1 << 5)
|
||||
|
||||
/* Include instead of exclude. */
|
||||
#define EXCLUDE_INCLUDE (1 << 6)
|
||||
|
||||
/* '?', '*', '[', and '\\' are special in patterns. Without this
|
||||
option, these characters are ordinary and fnmatch is not used. */
|
||||
#define EXCLUDE_WILDCARDS (1 << 7)
|
||||
|
||||
struct exclude;
|
||||
|
||||
struct exclude *new_exclude PARAMS ((void));
|
||||
void add_exclude PARAMS ((struct exclude *, char const *));
|
||||
int add_exclude_file PARAMS ((void (*) (struct exclude *, char const *),
|
||||
struct exclude *, char const *, char));
|
||||
int excluded_filename PARAMS ((struct exclude const *, char const *, int));
|
||||
void free_exclude PARAMS ((struct exclude *));
|
||||
void add_exclude PARAMS ((struct exclude *, char const *, int));
|
||||
int add_exclude_file PARAMS ((void (*) (struct exclude *, char const *, int),
|
||||
struct exclude *, char const *, int, char));
|
||||
bool excluded_filename PARAMS ((struct exclude const *, char const *));
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
/* full-write.c -- an interface to write that retries after interrupts
|
||||
Copyright (C) 1993, 1994, 1997, 1998, 2000 Free Software Foundation, Inc.
|
||||
|
||||
Copyright 1993, 1994, 1997, 1998, 1999, 2000, 2001 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
|
||||
@@ -15,8 +17,7 @@
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Copied largely from GNU C's cccp.c.
|
||||
*/
|
||||
Written by Paul Eggert. */
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
@@ -24,6 +25,8 @@
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
#include "full-write.h"
|
||||
|
||||
#if HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
@@ -33,30 +36,28 @@
|
||||
extern int errno;
|
||||
#endif
|
||||
|
||||
/* Write LEN bytes at PTR to descriptor DESC, retrying if interrupted.
|
||||
Return LEN upon success, write's (negative) error code otherwise. */
|
||||
/* Write LEN bytes at PTR to descriptor DESC, retrying if interrupted
|
||||
or if partial writes occur. Return the number of bytes successfully
|
||||
written, setting errno if that is less than LEN. */
|
||||
|
||||
int
|
||||
size_t
|
||||
full_write (int desc, const char *ptr, size_t len)
|
||||
{
|
||||
int total_written;
|
||||
size_t total_written = 0;
|
||||
|
||||
total_written = 0;
|
||||
while (len > 0)
|
||||
{
|
||||
int written = write (desc, ptr, len);
|
||||
/* write on an old Slackware Linux 1.2.13 returns zero when
|
||||
I try to write more data than there is room on a floppy disk.
|
||||
This puts dd into an infinite loop. Reproduce with
|
||||
dd if=/dev/zero of=/dev/fd0. If you have this problem,
|
||||
consider upgrading to a newer kernel. */
|
||||
if (written < 0)
|
||||
ssize_t written = write (desc, ptr, len);
|
||||
if (written <= 0)
|
||||
{
|
||||
/* Some buggy drivers return 0 when you fall off a device's end. */
|
||||
if (written == 0)
|
||||
errno = ENOSPC;
|
||||
#ifdef EINTR
|
||||
if (errno == EINTR)
|
||||
continue;
|
||||
#endif
|
||||
return written;
|
||||
break;
|
||||
}
|
||||
total_written += written;
|
||||
ptr += written;
|
||||
|
||||
9
lib/full-write.h
Normal file
9
lib/full-write.h
Normal file
@@ -0,0 +1,9 @@
|
||||
#ifndef PARAMS
|
||||
# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
|
||||
# define PARAMS(Args) Args
|
||||
# else
|
||||
# define PARAMS(Args) ()
|
||||
# endif
|
||||
#endif
|
||||
|
||||
size_t full_write PARAMS ((int, const char *, size_t));
|
||||
53
lib/gen-uio
Executable file
53
lib/gen-uio
Executable file
@@ -0,0 +1,53 @@
|
||||
#!/bin/sh
|
||||
|
||||
fail=0
|
||||
cat <<\EOF || fail=1
|
||||
#ifndef UNLOCKED_IO_H
|
||||
# define UNLOCKED_IO_H 1
|
||||
|
||||
# ifndef USE_UNLOCKED_IO
|
||||
# define USE_UNLOCKED_IO 1
|
||||
# endif
|
||||
|
||||
# if USE_UNLOCKED_IO
|
||||
|
||||
/* These are wrappers for functions/macros from GNU libc.
|
||||
The standard I/O functions are thread-safe. These *_unlocked ones are
|
||||
more efficient but not thread-safe. That they're not thread-safe is
|
||||
fine since all of the applications in this package are single threaded. */
|
||||
|
||||
EOF
|
||||
|
||||
for f in $@; do
|
||||
u=`echo $f|tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
|
||||
cat <<EOF || fail=1
|
||||
# if HAVE_${u}_UNLOCKED
|
||||
# undef $f
|
||||
EOF
|
||||
case $f in
|
||||
getchar)
|
||||
params=;;
|
||||
putchar | clearerr | feof | ferror | fflush | getc )
|
||||
params=x;;
|
||||
putc | fputc | fputs )
|
||||
params=x,y;;
|
||||
fgets )
|
||||
params=x,y,z;;
|
||||
fread | fwrite )
|
||||
params=w,x,y,z;;
|
||||
*)
|
||||
echo $0: missing case for $f 2>&1; fail=1;;
|
||||
esac
|
||||
cat <<EOF || fail=1
|
||||
# define $f($params) ${f}_unlocked ($params)
|
||||
# endif
|
||||
EOF
|
||||
done
|
||||
|
||||
cat <<\EOF || fail=1
|
||||
|
||||
# endif /* USE_UNLOCKED_IO */
|
||||
#endif /* UNLOCKED_IO_H */
|
||||
EOF
|
||||
|
||||
(exit $fail); exit
|
||||
46
lib/getopt.c
46
lib/getopt.c
@@ -1,23 +1,25 @@
|
||||
/* Getopt for GNU.
|
||||
NOTE: The canonical source of this file is maintained with the GNU
|
||||
C Library. Bugs can be reported to bug-glibc@gnu.org.
|
||||
|
||||
Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000
|
||||
NOTE: getopt is now part of the C library, so if you don't know what
|
||||
"Keep this file name-space clean" means, talk to drepper@gnu.org
|
||||
before changing it!
|
||||
Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001
|
||||
Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
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 2, or (at your option) any
|
||||
later version.
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
The GNU C Library 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.
|
||||
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 General Public License
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.
|
||||
Ditto for AIX 3.2 and <stdlib.h>. */
|
||||
@@ -76,7 +78,7 @@
|
||||
|
||||
#ifndef _
|
||||
/* This is for other GNU distributions with internationalized messages. */
|
||||
# if defined HAVE_LIBINTL_H || defined _LIBC
|
||||
# if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC
|
||||
# include <libintl.h>
|
||||
# ifndef _
|
||||
# define _(msgid) gettext (msgid)
|
||||
@@ -251,11 +253,13 @@ static int last_nonopt;
|
||||
/* Bash 2.0 gives us an environment variable containing flags
|
||||
indicating ARGV elements that should not be considered arguments. */
|
||||
|
||||
#ifdef USE_NONOPTION_FLAGS
|
||||
/* Defined in getopt_init.c */
|
||||
extern char *__getopt_nonoption_flags;
|
||||
|
||||
static int nonoption_flags_max_len;
|
||||
static int nonoption_flags_len;
|
||||
#endif
|
||||
|
||||
static int original_argc;
|
||||
static char *const *original_argv;
|
||||
@@ -276,13 +280,17 @@ store_args_and_env (int argc, char *const *argv)
|
||||
text_set_element (__libc_subinit, store_args_and_env);
|
||||
# endif /* text_set_element */
|
||||
|
||||
# define SWAP_FLAGS(ch1, ch2) \
|
||||
# ifdef USE_NONOPTION_FLAGS
|
||||
# define SWAP_FLAGS(ch1, ch2) \
|
||||
if (nonoption_flags_len > 0) \
|
||||
{ \
|
||||
char __tmp = __getopt_nonoption_flags[ch1]; \
|
||||
__getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \
|
||||
__getopt_nonoption_flags[ch2] = __tmp; \
|
||||
}
|
||||
# else
|
||||
# define SWAP_FLAGS(ch1, ch2)
|
||||
# endif
|
||||
#else /* !_LIBC */
|
||||
# define SWAP_FLAGS(ch1, ch2)
|
||||
#endif /* _LIBC */
|
||||
@@ -314,7 +322,7 @@ exchange (argv)
|
||||
It leaves the longer segment in the right place overall,
|
||||
but it consists of two parts that need to be swapped next. */
|
||||
|
||||
#ifdef _LIBC
|
||||
#if defined _LIBC && defined USE_NONOPTION_FLAGS
|
||||
/* First make sure the handling of the `__getopt_nonoption_flags'
|
||||
string can work normally. Our top argument must be in the range
|
||||
of the string. */
|
||||
@@ -418,7 +426,7 @@ _getopt_initialize (argc, argv, optstring)
|
||||
else
|
||||
ordering = PERMUTE;
|
||||
|
||||
#ifdef _LIBC
|
||||
#if defined _LIBC && defined USE_NONOPTION_FLAGS
|
||||
if (posixly_correct == NULL
|
||||
&& argc == original_argc && argv == original_argv)
|
||||
{
|
||||
@@ -537,7 +545,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
Either it does not have option syntax, or there is an environment flag
|
||||
from the shell indicating it is not an option. The later information
|
||||
is only used when the used in the GNU libc. */
|
||||
#ifdef _LIBC
|
||||
#if defined _LIBC && defined USE_NONOPTION_FLAGS
|
||||
# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0' \
|
||||
|| (optind < nonoption_flags_len \
|
||||
&& __getopt_nonoption_flags[optind] == '1'))
|
||||
|
||||
43
lib/getopt.h
43
lib/getopt.h
@@ -1,21 +1,21 @@
|
||||
/* Declarations for getopt.
|
||||
Copyright (C) 1989,90,91,92,93,94,96,97,98 Free Software Foundation, Inc.
|
||||
NOTE: The canonical source of this file is maintained with the GNU C Library.
|
||||
Bugs can be reported to bug-glibc@gnu.org.
|
||||
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 2, or (at your option) any
|
||||
later version.
|
||||
Copyright (C) 1989-1994, 1996-1999, 2001 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library 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.
|
||||
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 General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
#ifndef _GETOPT_H
|
||||
|
||||
@@ -23,6 +23,17 @@
|
||||
# define _GETOPT_H 1
|
||||
#endif
|
||||
|
||||
/* If __GNU_LIBRARY__ is not already defined, either we are being used
|
||||
standalone, or this is the first header included in the source file.
|
||||
If we are being used with glibc, we need to include <features.h>, but
|
||||
that does not exist if we are standalone. So: if __GNU_LIBRARY__ is
|
||||
not defined, include <ctype.h>, which will pull in <features.h> for us
|
||||
if it's from glibc. (Why ctype.h? It's guaranteed to exist and it
|
||||
doesn't flood the namespace with stuff the way some other headers do.) */
|
||||
#if !defined __GNU_LIBRARY__
|
||||
# include <ctype.h>
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@@ -82,7 +93,7 @@ extern int optopt;
|
||||
|
||||
struct option
|
||||
{
|
||||
# if defined __STDC__ && __STDC__
|
||||
# if (defined __STDC__ && __STDC__) || defined __cplusplus
|
||||
const char *name;
|
||||
# else
|
||||
char *name;
|
||||
@@ -126,7 +137,7 @@ struct option
|
||||
arguments to the option '\0'. This behavior is specific to the GNU
|
||||
`getopt'. */
|
||||
|
||||
#if defined __STDC__ && __STDC__
|
||||
#if (defined __STDC__ && __STDC__) || defined __cplusplus
|
||||
# ifdef __GNU_LIBRARY__
|
||||
/* Many other libraries have conflicting prototypes for getopt, with
|
||||
differences in the consts, in stdlib.h. To avoid compilation
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
/* getopt_long and getopt_long_only entry points for GNU getopt.
|
||||
Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98
|
||||
Free Software Foundation, Inc.
|
||||
NOTE: The canonical source of this file is maintained with the GNU C Library.
|
||||
Bugs can be reported to bug-glibc@gnu.org.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
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 2, or (at your option) any
|
||||
later version.
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
The GNU C Library 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.
|
||||
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 General Public License
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
|
||||
73
lib/gettimeofday.c
Normal file
73
lib/gettimeofday.c
Normal file
@@ -0,0 +1,73 @@
|
||||
/* Work around the bug in some systems whereby gettimeofday clobbers the
|
||||
static buffer that localtime uses for it's return value. The gettimeofday
|
||||
function from Mac OS X 10.0.4, i.e. Darwin 1.3.7 has this problem.
|
||||
Copyright (C) 2001 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 2, 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, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* written by Jim Meyering */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
/* Disable the definition of gettimeofday (from config.h) so we can use
|
||||
the library version. */
|
||||
#undef gettimeofday
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
#if TIME_WITH_SYS_TIME
|
||||
# include <sys/time.h>
|
||||
# include <time.h>
|
||||
#else
|
||||
# if HAVE_SYS_TIME_H
|
||||
# include <sys/time.h>
|
||||
# else
|
||||
# include <time.h>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
#include "gtod.h"
|
||||
|
||||
static struct tm *localtime_buffer_addr;
|
||||
|
||||
void
|
||||
GTOD_init (void)
|
||||
{
|
||||
time_t t = 0;
|
||||
localtime_buffer_addr = localtime (&t);
|
||||
}
|
||||
|
||||
/* This is a wrapper for gettimeofday. It is used only on systems for which
|
||||
gettimeofday clobbers the static buffer used for localtime's result.
|
||||
|
||||
Save and restore the contents of the buffer used for localtime's result
|
||||
around the call to gettimeofday. */
|
||||
|
||||
int
|
||||
rpl_gettimeofday (struct timeval *tv, struct timezone *tz)
|
||||
{
|
||||
struct tm save;
|
||||
int result;
|
||||
|
||||
if (! localtime_buffer_addr)
|
||||
abort ();
|
||||
|
||||
save = *localtime_buffer_addr;
|
||||
result = gettimeofday (tv, tz);
|
||||
*localtime_buffer_addr = save;
|
||||
|
||||
return result;
|
||||
}
|
||||
21
lib/gtod.h
Normal file
21
lib/gtod.h
Normal file
@@ -0,0 +1,21 @@
|
||||
#ifndef GTOD_H
|
||||
# define GTOD_H 1
|
||||
|
||||
# ifndef PARAMS
|
||||
# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
|
||||
# define PARAMS(Args) Args
|
||||
# else
|
||||
# define PARAMS(Args) ()
|
||||
# endif
|
||||
# endif
|
||||
|
||||
void GTOD_init PARAMS ((void));
|
||||
|
||||
/* This is a no-op on compliant systems. */
|
||||
# if GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER
|
||||
# define GETTIMEOFDAY_INIT() GTOD_init ()
|
||||
# else
|
||||
# define GETTIMEOFDAY_INIT() /* empty */
|
||||
# endif
|
||||
|
||||
#endif
|
||||
@@ -19,7 +19,9 @@
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#ifndef __GNUC__
|
||||
#if __GNUC__
|
||||
# define alloca __builtin_alloca
|
||||
#else
|
||||
# ifdef HAVE_ALLOCA_H
|
||||
# include <alloca.h>
|
||||
# else
|
||||
|
||||
42
lib/hash-pjw.c
Normal file
42
lib/hash-pjw.c
Normal file
@@ -0,0 +1,42 @@
|
||||
/* hash-pjw.c -- compute a hash value from a NUL-terminated string.
|
||||
Copyright 2001 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 2, 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, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include "hash-pjw.h"
|
||||
|
||||
/* A hash function for NUL-terminated char* strings using
|
||||
the method described in Aho, Sethi, & Ullman, p 436. */
|
||||
|
||||
unsigned int
|
||||
hash_pjw (const void *x, unsigned int tablesize)
|
||||
{
|
||||
const char *s = x;
|
||||
unsigned int h = 0;
|
||||
unsigned int g;
|
||||
|
||||
while (*s != 0)
|
||||
{
|
||||
h = (h << 4) + *s++;
|
||||
if ((g = h & (unsigned int) 0xf0000000) != 0)
|
||||
h = (h ^ (g >> 24)) ^ g;
|
||||
}
|
||||
|
||||
return (h % tablesize);
|
||||
}
|
||||
20
lib/hash-pjw.h
Normal file
20
lib/hash-pjw.h
Normal file
@@ -0,0 +1,20 @@
|
||||
/* hash-pjw.h -- declaration for a simple hash function
|
||||
Copyright 2001 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 2, 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; see the file COPYING.
|
||||
If not, write to the Free Software Foundation,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
unsigned int
|
||||
hash_pjw (const void *x, unsigned int tablesize);
|
||||
12
lib/hash.c
12
lib/hash.c
@@ -576,19 +576,22 @@ void
|
||||
hash_clear (Hash_table *table)
|
||||
{
|
||||
struct hash_entry *bucket;
|
||||
struct hash_entry *cursor;
|
||||
|
||||
for (bucket = table->bucket; bucket < table->bucket_limit; bucket++)
|
||||
{
|
||||
if (bucket->data)
|
||||
{
|
||||
struct hash_entry *cursor;
|
||||
struct hash_entry *next;
|
||||
|
||||
/* Free the bucket overflow. */
|
||||
for (cursor = bucket->next; cursor; cursor = cursor->next)
|
||||
for (cursor = bucket->next; cursor; cursor = next)
|
||||
{
|
||||
if (table->data_freer)
|
||||
(*table->data_freer) (cursor->data);
|
||||
cursor->data = NULL;
|
||||
|
||||
next = cursor->next;
|
||||
/* Relinking is done one entry at a time, as it is to be expected
|
||||
that overflows are either rare or short. */
|
||||
cursor->next = table->free_entry_list;
|
||||
@@ -995,13 +998,14 @@ hash_print (const Hash_table *table)
|
||||
struct hash_entry *cursor;
|
||||
|
||||
if (bucket)
|
||||
printf ("%d:\n", slot);
|
||||
printf ("%d:\n", bucket - table->bucket);
|
||||
|
||||
for (cursor = bucket; cursor; cursor = cursor->next)
|
||||
{
|
||||
char *s = (char *) cursor->data;
|
||||
/* FIXME */
|
||||
printf (" %s\n", s);
|
||||
if (s)
|
||||
printf (" %s\n", s);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,16 +69,19 @@
|
||||
'charset_aliases' simultaneously, both will produce the same value,
|
||||
and everything will be ok if the two assignments to 'charset_aliases'
|
||||
are atomic. But I don't know what will happen if the two assignments mix. */
|
||||
#if __STDC__ != 1
|
||||
# define volatile /* empty */
|
||||
#endif
|
||||
/* Pointer to the contents of the charset.alias file, if it has already been
|
||||
read, else NULL. Its format is:
|
||||
ALIAS_1 '\0' CANONICAL_1 '\0' ... ALIAS_n '\0' CANONICAL_n '\0' '\0' */
|
||||
static char * volatile charset_aliases;
|
||||
static const char * volatile charset_aliases;
|
||||
|
||||
/* Return a pointer to the contents of the charset.alias file. */
|
||||
static const char *
|
||||
get_charset_aliases ()
|
||||
{
|
||||
char *cp;
|
||||
const char *cp;
|
||||
|
||||
cp = charset_aliases;
|
||||
if (cp == NULL)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* Determine the number of screen columns needed for a string.
|
||||
Copyright (C) 2000 Free Software Foundation, Inc.
|
||||
Copyright (C) 2000-2001 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
|
||||
@@ -21,19 +21,10 @@
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
/* Get MB_LEN_MAX. */
|
||||
#if HAVE_LIMITS_H
|
||||
# include <limits.h>
|
||||
#endif
|
||||
|
||||
/* Get MB_CUR_MAX. */
|
||||
#if HAVE_STDLIB_H
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
#include <stdlib.h>
|
||||
|
||||
#if HAVE_STRING_H
|
||||
# include <string.h>
|
||||
#endif
|
||||
#include <string.h>
|
||||
|
||||
/* Get isprint(). */
|
||||
#include <ctype.h>
|
||||
@@ -43,13 +34,22 @@
|
||||
# include <wchar.h>
|
||||
#endif
|
||||
|
||||
/* Get iswprint(). */
|
||||
/* Get iswprint(), iswcntrl(). */
|
||||
#if HAVE_WCTYPE_H
|
||||
# include <wctype.h>
|
||||
#endif
|
||||
#if !defined iswprint && !HAVE_ISWPRINT
|
||||
# define iswprint(wc) 1
|
||||
#endif
|
||||
#if !defined iswcntrl && !HAVE_ISWCNTRL
|
||||
# define iswcntrl(wc) 0
|
||||
#endif
|
||||
|
||||
#ifndef mbsinit
|
||||
# if !HAVE_MBSINIT
|
||||
# define mbsinit(ps) 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_DECL_WCWIDTH
|
||||
"this configure-time declaration test was not run"
|
||||
@@ -75,32 +75,40 @@ int wcwidth ();
|
||||
/* Undefine to protect against the definition in wctype.h of solaris2.6. */
|
||||
#undef ISPRINT
|
||||
#define ISPRINT(c) (IN_CTYPE_DOMAIN (c) && isprint (c))
|
||||
#undef ISCNTRL
|
||||
#define ISCNTRL(c) (IN_CTYPE_DOMAIN (c) && iscntrl (c))
|
||||
|
||||
#include "mbswidth.h"
|
||||
|
||||
/* Returns the number of columns needed to represent the multibyte
|
||||
character string pointed to by STRING. If a non-printable character
|
||||
occurs, -1 is returned, unless MBSW_ACCEPT_UNPRINTABLE is specified.
|
||||
With flags = 0, this is the multibyte analogon of the wcswidth function. */
|
||||
occurs, and MBSW_REJECT_UNPRINTABLE is specified, -1 is returned.
|
||||
With flags = MBSW_REJECT_INVALID | MBSW_REJECT_UNPRINTABLE, this is
|
||||
the multibyte analogon of the wcswidth function. */
|
||||
int
|
||||
mbswidth (const char *string, int flags)
|
||||
mbswidth (string, flags)
|
||||
const char *string;
|
||||
int flags;
|
||||
{
|
||||
return mbsnwidth (string, strlen (string), flags);
|
||||
}
|
||||
|
||||
/* Returns the number of columns needed to represent the multibyte
|
||||
character string pointed to by STRING of length NBYTES. If a
|
||||
non-printable character occurs, -1 is returned, unless
|
||||
MBSW_ACCEPT_UNPRINTABLE is specified. */
|
||||
non-printable character occurs, and MBSW_REJECT_UNPRINTABLE is
|
||||
specified, -1 is returned. */
|
||||
int
|
||||
mbsnwidth (const char *string, size_t nbytes, int flags)
|
||||
mbsnwidth (string, nbytes, flags)
|
||||
const char *string;
|
||||
size_t nbytes;
|
||||
int flags;
|
||||
{
|
||||
const char *p = string;
|
||||
const char *plimit = p + nbytes;
|
||||
int width;
|
||||
|
||||
width = 0;
|
||||
#if HAVE_MBRTOWC && (MB_LEN_MAX > 1)
|
||||
#if HAVE_MBRTOWC
|
||||
if (MB_CUR_MAX > 1)
|
||||
{
|
||||
while (p < plimit)
|
||||
@@ -146,7 +154,7 @@ mbsnwidth (const char *string, size_t nbytes, int flags)
|
||||
if (bytes == (size_t) -1)
|
||||
/* An invalid multibyte sequence was encountered. */
|
||||
{
|
||||
if (flags & MBSW_ACCEPT_INVALID)
|
||||
if (!(flags & MBSW_REJECT_INVALID))
|
||||
{
|
||||
p++;
|
||||
width++;
|
||||
@@ -159,7 +167,7 @@ mbsnwidth (const char *string, size_t nbytes, int flags)
|
||||
if (bytes == (size_t) -2)
|
||||
/* An incomplete multibyte character at the end. */
|
||||
{
|
||||
if (flags & MBSW_ACCEPT_INVALID)
|
||||
if (!(flags & MBSW_REJECT_INVALID))
|
||||
{
|
||||
p = plimit;
|
||||
width++;
|
||||
@@ -179,8 +187,8 @@ mbsnwidth (const char *string, size_t nbytes, int flags)
|
||||
width += w;
|
||||
else
|
||||
/* An unprintable multibyte character. */
|
||||
if (flags & MBSW_ACCEPT_UNPRINTABLE)
|
||||
width += 1;
|
||||
if (!(flags & MBSW_REJECT_UNPRINTABLE))
|
||||
width += (iswcntrl (wc) ? 0 : 1);
|
||||
else
|
||||
return -1;
|
||||
|
||||
@@ -198,8 +206,10 @@ mbsnwidth (const char *string, size_t nbytes, int flags)
|
||||
{
|
||||
unsigned char c = (unsigned char) *p++;
|
||||
|
||||
if ((flags & MBSW_ACCEPT_UNPRINTABLE) || ISPRINT (c))
|
||||
if (ISPRINT (c))
|
||||
width++;
|
||||
else if (!(flags & MBSW_REJECT_UNPRINTABLE))
|
||||
width += (ISCNTRL (c) ? 0 : 1);
|
||||
else
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifndef PARAMS
|
||||
# if defined PROTOTYPES || defined __STDC__
|
||||
# if defined (__GNUC__) || __STDC__
|
||||
# define PARAMS(Args) Args
|
||||
# else
|
||||
# define PARAMS(Args) ()
|
||||
@@ -25,13 +25,14 @@
|
||||
|
||||
/* Optional flags to influence mbswidth/mbsnwidth behavior. */
|
||||
|
||||
/* If this bit is set, assume invalid characters have width 0.
|
||||
Otherwise, return -1 upon finding an invalid or incomplete character. */
|
||||
#define MBSW_ACCEPT_INVALID 1
|
||||
/* If this bit is set, return -1 upon finding an invalid or incomplete
|
||||
character. Otherwise, assume invalid characters have width 1. */
|
||||
#define MBSW_REJECT_INVALID 1
|
||||
|
||||
/* If this bit is set, assume unprintable characters have width 1.
|
||||
Otherwise, return -1 upon finding a non-printable character. */
|
||||
#define MBSW_ACCEPT_UNPRINTABLE 2
|
||||
/* If this bit is set, return -1 upon finding a non-printable character.
|
||||
Otherwise, assume unprintable characters have width 0 if they are
|
||||
control characters and 1 otherwise. */
|
||||
#define MBSW_REJECT_UNPRINTABLE 2
|
||||
|
||||
/* Returns the number of screen columns needed for STRING. */
|
||||
#define mbswidth gnu_mbswidth /* avoid clash with UnixWare 7.1.1 function */
|
||||
|
||||
76
lib/mkdir.c
Normal file
76
lib/mkdir.c
Normal file
@@ -0,0 +1,76 @@
|
||||
/* On some systems, mkdir ("foo/", 0700) fails because of the trailing
|
||||
slash. On those systems, this wrapper removes the trailing slash.
|
||||
Copyright (C) 2001 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 2, 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, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* written by Jim Meyering */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
/* Disable the definition of mkdir to rpl_mkdir (from config.h) in this
|
||||
file. Otherwise, we'd get conflicting prototypes for rpl_mkdir on
|
||||
most systems. */
|
||||
#undef mkdir
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <stdio.h>
|
||||
#if HAVE_STDLIB_H
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_STRING_H
|
||||
# include <string.h>
|
||||
#else
|
||||
# include <strings.h>
|
||||
#endif
|
||||
|
||||
#include "dirname.h"
|
||||
#include "xalloc.h"
|
||||
|
||||
#ifndef HAVE_DECL_FREE
|
||||
"this configure-time declaration test was not run"
|
||||
#endif
|
||||
#if !HAVE_DECL_FREE
|
||||
void free ();
|
||||
#endif
|
||||
|
||||
/* This function is required at least for NetBSD 1.5.2. */
|
||||
|
||||
int
|
||||
rpl_mkdir (char const *dir, mode_t mode)
|
||||
{
|
||||
int ret_val;
|
||||
char *tmp_dir;
|
||||
size_t len = strlen (dir);
|
||||
|
||||
if (len && dir[len - 1] == '/')
|
||||
{
|
||||
tmp_dir = xstrdup (dir);
|
||||
strip_trailing_slashes (tmp_dir);
|
||||
}
|
||||
else
|
||||
{
|
||||
tmp_dir = (char *) dir;
|
||||
}
|
||||
|
||||
ret_val = mkdir (tmp_dir, mode);
|
||||
|
||||
if (tmp_dir != dir)
|
||||
free (tmp_dir);
|
||||
|
||||
return ret_val;
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
/* mountlist.c -- return a list of mounted filesystems
|
||||
Copyright (C) 1991, 1992, 1997-2000 Free Software Foundation, Inc.
|
||||
Copyright (C) 1991, 1992, 1997-2001 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
|
||||
@@ -28,7 +28,7 @@
|
||||
#else
|
||||
void free ();
|
||||
#endif
|
||||
#if defined(STDC_HEADERS) || defined(HAVE_STRING_H)
|
||||
#if defined STDC_HEADERS || defined HAVE_STRING_H
|
||||
# include <string.h>
|
||||
#else
|
||||
# include <strings.h>
|
||||
@@ -58,18 +58,33 @@ extern int errno;
|
||||
# include <sys/param.h>
|
||||
#endif
|
||||
|
||||
#if defined (MOUNTED_GETFSSTAT) /* __alpha running OSF_1 */
|
||||
# include <sys/mount.h>
|
||||
# include <sys/fs_types.h>
|
||||
#if defined MOUNTED_GETFSSTAT /* OSF_1 and Darwin1.3.x */
|
||||
# if HAVE_SYS_UCRED_H
|
||||
# include <sys/ucred.h> /* needed by powerpc-apple-darwin1.3.7 */
|
||||
# endif
|
||||
# if HAVE_SYS_MOUNT_H
|
||||
# include <sys/mount.h>
|
||||
# endif
|
||||
# if HAVE_SYS_FS_TYPES_H
|
||||
# include <sys/fs_types.h> /* needed by powerpc-apple-darwin1.3.7 */
|
||||
# endif
|
||||
# if HAVE_STRUCT_FSSTAT_F_FSTYPENAME
|
||||
# define FS_TYPE(Ent) ((Ent).f_fstypename)
|
||||
# else
|
||||
# define FS_TYPE(Ent) mnt_names[(Ent).f_type]
|
||||
# endif
|
||||
#endif /* MOUNTED_GETFSSTAT */
|
||||
|
||||
#ifdef MOUNTED_GETMNTENT1 /* 4.3BSD, SunOS, HP-UX, Dynix, Irix. */
|
||||
# include <mntent.h>
|
||||
# if !defined(MOUNTED)
|
||||
# if defined(MNT_MNTTAB) /* HP-UX. */
|
||||
# if !defined MOUNTED
|
||||
# if defined _PATH_MOUNTED /* GNU libc */
|
||||
# define MOUNTED _PATH_MOUNTED
|
||||
# endif
|
||||
# if defined MNT_MNTTAB /* HP-UX. */
|
||||
# define MOUNTED MNT_MNTTAB
|
||||
# endif
|
||||
# if defined(MNTTABNAME) /* Dynix. */
|
||||
# if defined MNTTABNAME /* Dynix. */
|
||||
# define MOUNTED MNTTABNAME
|
||||
# endif
|
||||
# endif
|
||||
@@ -123,7 +138,7 @@ extern int errno;
|
||||
# include <sys/mntent.h>
|
||||
#endif
|
||||
|
||||
#if defined (MNTOPT_IGNORE) && defined (HAVE_HASMNTOPT)
|
||||
#if defined MNTOPT_IGNORE && defined HAVE_HASMNTOPT
|
||||
# define MNT_IGNORE(M) hasmntopt ((M), MNTOPT_IGNORE)
|
||||
#else
|
||||
# define MNT_IGNORE(M) 0
|
||||
@@ -417,7 +432,7 @@ read_filesystem_list (int need_fs_type)
|
||||
}
|
||||
#endif /* MOUNTED_GETMNT. */
|
||||
|
||||
#if defined (MOUNTED_FS_STAT_DEV) /* BeOS */
|
||||
#if defined MOUNTED_FS_STAT_DEV /* BeOS */
|
||||
{
|
||||
/* The next_dev() and fs_stat_dev() system calls give the list of
|
||||
all filesystems, including the information returned by statvfs()
|
||||
@@ -522,7 +537,7 @@ read_filesystem_list (int need_fs_type)
|
||||
}
|
||||
#endif /* MOUNTED_FS_STAT_DEV */
|
||||
|
||||
#if defined (MOUNTED_GETFSSTAT) /* __alpha running OSF_1 */
|
||||
#if defined MOUNTED_GETFSSTAT /* __alpha running OSF_1 */
|
||||
{
|
||||
int numsys, counter, bufsize;
|
||||
struct statfs *stats;
|
||||
@@ -546,7 +561,7 @@ read_filesystem_list (int need_fs_type)
|
||||
me = (struct mount_entry *) xmalloc (sizeof (struct mount_entry));
|
||||
me->me_devname = xstrdup (stats[counter].f_mntfromname);
|
||||
me->me_mountdir = xstrdup (stats[counter].f_mntonname);
|
||||
me->me_type = mnt_names[stats[counter].f_type];
|
||||
me->me_type = xstrdup (FS_TYPE (stats[counter]));
|
||||
me->me_dummy = ME_DUMMY (me->me_devname, me->me_type);
|
||||
me->me_remote = ME_REMOTE (me->me_devname, me->me_type);
|
||||
me->me_dev = (dev_t) -1; /* Magic; means not known yet. */
|
||||
@@ -560,7 +575,7 @@ read_filesystem_list (int need_fs_type)
|
||||
}
|
||||
#endif /* MOUNTED_GETFSSTAT */
|
||||
|
||||
#if defined (MOUNTED_FREAD) || defined (MOUNTED_FREAD_FSTYP) /* SVR[23]. */
|
||||
#if defined MOUNTED_FREAD || defined MOUNTED_FREAD_FSTYP /* SVR[23]. */
|
||||
{
|
||||
struct mnttab mnt;
|
||||
char *table = "/etc/mnttab";
|
||||
|
||||
@@ -1,23 +1,22 @@
|
||||
/* obstack.c - subroutines used implicitly by object stack macros
|
||||
Copyright (C) 1988-1994,96,97,98,99,2000,2001 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however. The master source lives in /gd/gnu/lib.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library 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
|
||||
Library General Public License for more details.
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
@@ -40,18 +39,21 @@
|
||||
files, it is simpler to just do this in the source for each such file. */
|
||||
|
||||
#include <stdio.h> /* Random thing to get __GNU_LIBRARY__. */
|
||||
#if !defined (_LIBC) && defined (__GNU_LIBRARY__) && __GNU_LIBRARY__ > 1
|
||||
#if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
|
||||
# include <gnu-versions.h>
|
||||
# if _GNU_OBSTACK_INTERFACE_VERSION == OBSTACK_INTERFACE_VERSION
|
||||
# define ELIDE_CODE
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined _LIBC && defined USE_IN_LIBIO
|
||||
# include <wchar.h>
|
||||
#endif
|
||||
|
||||
#ifndef ELIDE_CODE
|
||||
|
||||
|
||||
# if defined (__STDC__) && __STDC__
|
||||
# if defined __STDC__ && __STDC__
|
||||
# define POINTER void *
|
||||
# else
|
||||
# define POINTER char *
|
||||
@@ -82,7 +84,7 @@ union fooround {long x; double d;};
|
||||
abort gracefully or use longjump - but shouldn't return. This
|
||||
variable by default points to the internal function
|
||||
`print_and_abort'. */
|
||||
# if defined (__STDC__) && __STDC__
|
||||
# if defined __STDC__ && __STDC__
|
||||
static void print_and_abort (void);
|
||||
void (*obstack_alloc_failed_handler) (void) = print_and_abort;
|
||||
# else
|
||||
@@ -110,7 +112,7 @@ struct obstack *_obstack;
|
||||
For free, do not use ?:, since some compilers, like the MIPS compilers,
|
||||
do not allow (expr) ? void : void. */
|
||||
|
||||
# if defined (__STDC__) && __STDC__
|
||||
# if defined __STDC__ && __STDC__
|
||||
# define CALL_CHUNKFUN(h, size) \
|
||||
(((h) -> use_extra_arg) \
|
||||
? (*(h)->chunkfun) ((h)->extra_arg, (size)) \
|
||||
@@ -152,7 +154,7 @@ _obstack_begin (h, size, alignment, chunkfun, freefun)
|
||||
struct obstack *h;
|
||||
int size;
|
||||
int alignment;
|
||||
# if defined (__STDC__) && __STDC__
|
||||
# if defined __STDC__ && __STDC__
|
||||
POINTER (*chunkfun) (long);
|
||||
void (*freefun) (void *);
|
||||
# else
|
||||
@@ -181,7 +183,7 @@ _obstack_begin (h, size, alignment, chunkfun, freefun)
|
||||
size = 4096 - extra;
|
||||
}
|
||||
|
||||
# if defined (__STDC__) && __STDC__
|
||||
# if defined __STDC__ && __STDC__
|
||||
h->chunkfun = (struct _obstack_chunk * (*)(void *, long)) chunkfun;
|
||||
h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun;
|
||||
# else
|
||||
@@ -210,7 +212,7 @@ _obstack_begin_1 (h, size, alignment, chunkfun, freefun, arg)
|
||||
struct obstack *h;
|
||||
int size;
|
||||
int alignment;
|
||||
# if defined (__STDC__) && __STDC__
|
||||
# if defined __STDC__ && __STDC__
|
||||
POINTER (*chunkfun) (POINTER, long);
|
||||
void (*freefun) (POINTER, POINTER);
|
||||
# else
|
||||
@@ -240,7 +242,7 @@ _obstack_begin_1 (h, size, alignment, chunkfun, freefun, arg)
|
||||
size = 4096 - extra;
|
||||
}
|
||||
|
||||
# if defined(__STDC__) && __STDC__
|
||||
# if defined __STDC__ && __STDC__
|
||||
h->chunkfun = (struct _obstack_chunk * (*)(void *,long)) chunkfun;
|
||||
h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun;
|
||||
# else
|
||||
@@ -341,7 +343,7 @@ _obstack_newchunk (h, length)
|
||||
This is here for debugging.
|
||||
If you use it in a program, you are probably losing. */
|
||||
|
||||
# if defined (__STDC__) && __STDC__
|
||||
# if defined __STDC__ && __STDC__
|
||||
/* Suppress -Wmissing-prototypes warning. We don't want to declare this in
|
||||
obstack.h because it is just for debugging. */
|
||||
int _obstack_allocated_p (struct obstack *h, POINTER obj);
|
||||
@@ -457,7 +459,7 @@ _obstack_memory_used (h)
|
||||
|
||||
/* Define the error handler. */
|
||||
# ifndef _
|
||||
# if defined HAVE_LIBINTL_H || defined _LIBC
|
||||
# if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC
|
||||
# include <libintl.h>
|
||||
# ifndef _
|
||||
# define _(Str) gettext (Str)
|
||||
@@ -471,19 +473,28 @@ _obstack_memory_used (h)
|
||||
# define fputs(s, f) _IO_fputs (s, f)
|
||||
# endif
|
||||
|
||||
#ifndef __attribute__
|
||||
# ifndef __attribute__
|
||||
/* This feature is available in gcc versions 2.5 and later. */
|
||||
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
|
||||
# define __attribute__(Spec) /* empty */
|
||||
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
|
||||
# define __attribute__(Spec) /* empty */
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
static void
|
||||
__attribute__ ((noreturn))
|
||||
print_and_abort ()
|
||||
{
|
||||
fputs (_("memory exhausted"), stderr);
|
||||
fputc ('\n', stderr);
|
||||
/* Don't change any of these strings. Yes, it would be possible to add
|
||||
the newline to the string and use fputs or so. But this must not
|
||||
happen because the "memory exhausted" message appears in other places
|
||||
like this and the translation should be reused instead of creating
|
||||
a very similar string which requires a separate translation. */
|
||||
# if defined _LIBC && defined USE_IN_LIBIO
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
__fwprintf (stderr, L"%s\n", _("memory exhausted"));
|
||||
else
|
||||
# endif
|
||||
fprintf (stderr, "%s\n", _("memory exhausted"));
|
||||
exit (obstack_exit_failure);
|
||||
}
|
||||
|
||||
@@ -494,7 +505,7 @@ print_and_abort ()
|
||||
/* Now define the functional versions of the obstack macros.
|
||||
Define them to simply use the corresponding macros to do the job. */
|
||||
|
||||
# if defined (__STDC__) && __STDC__
|
||||
# if defined __STDC__ && __STDC__
|
||||
/* These function definitions do not work with non-ANSI preprocessors;
|
||||
they won't pass through the macro names in parentheses. */
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* Define PATH_MAX somehow. Requires sys/types.h.
|
||||
Copyright (C) 1992, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1992, 1999, 2001 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
|
||||
@@ -18,14 +18,14 @@
|
||||
#ifndef _PATHMAX_H
|
||||
# define _PATHMAX_H
|
||||
|
||||
# ifdef HAVE_UNISTD_H
|
||||
# if HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
# endif
|
||||
|
||||
/* Non-POSIX BSD systems might have gcc's limits.h, which doesn't define
|
||||
PATH_MAX but might cause redefinition warnings when sys/param.h is
|
||||
later included (as on MORE/BSD 4.3). */
|
||||
# if defined(_POSIX_VERSION) || (defined(HAVE_LIMITS_H) && !defined(__GNUC__))
|
||||
# if defined _POSIX_VERSION || (defined HAVE_LIMITS_H && !defined __GNUC__)
|
||||
# include <limits.h>
|
||||
# endif
|
||||
|
||||
@@ -33,17 +33,17 @@
|
||||
# define _POSIX_PATH_MAX 255
|
||||
# endif
|
||||
|
||||
# if !defined(PATH_MAX) && defined(_PC_PATH_MAX)
|
||||
# if !defined PATH_MAX && defined _PC_PATH_MAX
|
||||
# define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 \
|
||||
: pathconf ("/", _PC_PATH_MAX))
|
||||
# endif
|
||||
|
||||
/* Don't include sys/param.h if it already has been. */
|
||||
# if defined(HAVE_SYS_PARAM_H) && !defined(PATH_MAX) && !defined(MAXPATHLEN)
|
||||
# if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN
|
||||
# include <sys/param.h>
|
||||
# endif
|
||||
|
||||
# if !defined(PATH_MAX) && defined(MAXPATHLEN)
|
||||
# if !defined PATH_MAX && defined MAXPATHLEN
|
||||
# define PATH_MAX MAXPATHLEN
|
||||
# endif
|
||||
|
||||
|
||||
@@ -63,6 +63,11 @@
|
||||
#endif
|
||||
|
||||
#if HAVE_WCHAR_H
|
||||
|
||||
/* BSD/OS 4.1 wchar.h requires FILE and struct tm to be declared. */
|
||||
# include <stdio.h>
|
||||
# include <time.h>
|
||||
|
||||
# include <wchar.h>
|
||||
#endif
|
||||
|
||||
|
||||
2496
lib/regex.c
2496
lib/regex.c
File diff suppressed because it is too large
Load Diff
17
lib/regex.h
17
lib/regex.h
@@ -1,24 +1,23 @@
|
||||
/* Definitions for data structures and routines for the regular
|
||||
expression library, version 0.12.
|
||||
Copyright (C) 1985,1989-1993,1995-1998, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however. The master source lives in /gd/gnu/lib.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library 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
|
||||
Library General Public License for more details.
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
#ifndef _REGEX_H
|
||||
#define _REGEX_H 1
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
/* savedir.c -- save the list of files in a directory in a string
|
||||
Copyright (C) 1990, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
Copyright 1990, 1997, 1998, 1999, 2000, 2001 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
|
||||
@@ -64,9 +66,6 @@ extern int errno;
|
||||
/* Return a freshly allocated string containing the filenames
|
||||
in directory DIR, separated by '\0' characters;
|
||||
the end is marked by two '\0' characters in a row.
|
||||
NAME_SIZE is the number of bytes to initially allocate
|
||||
for the string; it will be enlarged as needed.
|
||||
Use NAME_SIZE == -1 if you do not know the size.
|
||||
Return NULL (setting errno) if DIR cannot be opened, read, or closed. */
|
||||
|
||||
#ifndef NAME_SIZE_DEFAULT
|
||||
@@ -74,12 +73,12 @@ extern int errno;
|
||||
#endif
|
||||
|
||||
char *
|
||||
savedir (const char *dir, off_t name_size)
|
||||
savedir (const char *dir)
|
||||
{
|
||||
DIR *dirp;
|
||||
struct dirent *dp;
|
||||
char *name_space;
|
||||
size_t allocated = name_size; /* Overflow is checked indirectly below. */
|
||||
size_t allocated = NAME_SIZE_DEFAULT;
|
||||
size_t used = 0;
|
||||
int save_errno;
|
||||
|
||||
@@ -87,13 +86,6 @@ savedir (const char *dir, off_t name_size)
|
||||
if (dirp == NULL)
|
||||
return NULL;
|
||||
|
||||
/* Use the default if the size is not known. Be sure "allocated"
|
||||
is at least `1' so there's room for the final NUL byte.
|
||||
Do not simply test name_size <= 0, because the initialization
|
||||
of "allocated" might have overflowed. */
|
||||
if (name_size < 0 || allocated == 0)
|
||||
allocated = NAME_SIZE_DEFAULT;
|
||||
|
||||
name_space = xmalloc (allocated);
|
||||
|
||||
errno = 0;
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
# endif
|
||||
# endif
|
||||
|
||||
char *
|
||||
savedir PARAMS ((const char *dir, off_t name_size));
|
||||
char *savedir PARAMS ((const char *dir));
|
||||
|
||||
#endif
|
||||
|
||||
100
lib/strtoimax.c
Normal file
100
lib/strtoimax.c
Normal file
@@ -0,0 +1,100 @@
|
||||
/* Convert string representation of a number into an intmax_t value.
|
||||
Copyright 1999, 2001 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 2, 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, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* Written by Paul Eggert. */
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_INTTYPES_H
|
||||
# include <inttypes.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_STDLIB_H
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
|
||||
#ifndef PARAMS
|
||||
# if defined PROTOTYPES || defined __STDC__
|
||||
# define PARAMS(Args) Args
|
||||
# else
|
||||
# define PARAMS(Args) ()
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Verify a requirement at compile-time (unlike assert, which is runtime). */
|
||||
#define verify(name, assertion) struct name { char a[(assertion) ? 1 : -1]; }
|
||||
|
||||
#ifdef UNSIGNED
|
||||
# ifndef HAVE_DECL_STRTOUL
|
||||
"this configure-time declaration test was not run"
|
||||
# endif
|
||||
# if !HAVE_DECL_STRTOUL
|
||||
unsigned long strtoul PARAMS ((char const *, char **, int));
|
||||
# endif
|
||||
# ifndef HAVE_DECL_STRTOULL
|
||||
"this configure-time declaration test was not run"
|
||||
# endif
|
||||
# if !HAVE_DECL_STRTOULL && HAVE_UNSIGNED_LONG_LONG
|
||||
unsigned long long strtoull PARAMS ((char const *, char **, int));
|
||||
# endif
|
||||
|
||||
#else
|
||||
|
||||
# ifndef HAVE_DECL_STRTOL
|
||||
"this configure-time declaration test was not run"
|
||||
# endif
|
||||
# if !HAVE_DECL_STRTOL
|
||||
long strtol PARAMS ((char const *, char **, int));
|
||||
# endif
|
||||
# ifndef HAVE_DECL_STRTOLL
|
||||
"this configure-time declaration test was not run"
|
||||
# endif
|
||||
# if !HAVE_DECL_STRTOLL && HAVE_UNSIGNED_LONG_LONG
|
||||
long long strtoll PARAMS ((char const *, char **, int));
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef UNSIGNED
|
||||
# undef HAVE_LONG_LONG
|
||||
# define HAVE_LONG_LONG HAVE_UNSIGNED_LONG_LONG
|
||||
# define INT uintmax_t
|
||||
# define strtoimax strtoumax
|
||||
# define strtol strtoul
|
||||
# define strtoll strtoull
|
||||
#else
|
||||
# define INT intmax_t
|
||||
#endif
|
||||
|
||||
INT
|
||||
strtoimax (char const *ptr, char **endptr, int base)
|
||||
{
|
||||
#if HAVE_LONG_LONG
|
||||
verify (size_is_that_of_long_or_long_long,
|
||||
(sizeof (INT) == sizeof (long)
|
||||
|| sizeof (INT) == sizeof (long long)));
|
||||
|
||||
if (sizeof (INT) != sizeof (long))
|
||||
return strtoll (ptr, endptr, base);
|
||||
#else
|
||||
verify (size_is_that_of_long,
|
||||
sizeof (INT) == sizeof (long));
|
||||
#endif
|
||||
|
||||
return strtol (ptr, endptr, base);
|
||||
}
|
||||
34
lib/strtoll.c
Normal file
34
lib/strtoll.c
Normal file
@@ -0,0 +1,34 @@
|
||||
/* Function to parse a `long long int' from text.
|
||||
Copyright (C) 1995, 1996, 1997, 1999, 2001 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
#define QUAD 1
|
||||
|
||||
#include "strtol.c"
|
||||
|
||||
#ifdef _LIBC
|
||||
# ifdef SHARED
|
||||
# include <shlib-compat.h>
|
||||
|
||||
# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
|
||||
compat_symbol (libc, __strtoll_internal, __strtoq_internal, GLIBC_2_0);
|
||||
# endif
|
||||
|
||||
# endif
|
||||
weak_alias (strtoll, strtoq)
|
||||
#endif
|
||||
@@ -1,81 +1,2 @@
|
||||
/* Convert string representation of a number into an uintmax_t value.
|
||||
Copyright 1999 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 2, 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, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* Written by Paul Eggert. */
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_INTTYPES_H
|
||||
# include <inttypes.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_STDLIB_H
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
|
||||
#ifndef PARAMS
|
||||
# if defined PROTOTYPES || defined __STDC__
|
||||
# define PARAMS(Args) Args
|
||||
# else
|
||||
# define PARAMS(Args) ()
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_DECL_STRTOUL
|
||||
"this configure-time declaration test was not run"
|
||||
#endif
|
||||
#if !HAVE_DECL_STRTOUL
|
||||
unsigned long strtoul PARAMS ((char const *, char **, int));
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_DECL_STRTOULL
|
||||
"this configure-time declaration test was not run"
|
||||
#endif
|
||||
#if !HAVE_DECL_STRTOULL && HAVE_UNSIGNED_LONG_LONG
|
||||
unsigned long long strtoull PARAMS ((char const *, char **, int));
|
||||
#endif
|
||||
|
||||
uintmax_t
|
||||
strtoumax (char const *ptr, char **endptr, int base)
|
||||
{
|
||||
#define USE_IF_EQUIVALENT(function) \
|
||||
if (sizeof (uintmax_t) == sizeof function (ptr, endptr, base)) \
|
||||
return function (ptr, endptr, base);
|
||||
|
||||
#if HAVE_UNSIGNED_LONG_LONG
|
||||
USE_IF_EQUIVALENT (strtoull)
|
||||
#endif
|
||||
|
||||
USE_IF_EQUIVALENT (strtoul)
|
||||
|
||||
abort ();
|
||||
}
|
||||
|
||||
#ifdef TESTING
|
||||
# include <stdio.h>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
char *p, *endptr;
|
||||
printf ("sizeof uintmax_t: %d\n", sizeof (uintmax_t));
|
||||
printf ("sizeof strtoull(): %d\n", sizeof strtoull(p, &endptr, 10));
|
||||
printf ("sizeof strtoul(): %d\n", sizeof strtoul(p, &endptr, 10));
|
||||
exit (0);
|
||||
}
|
||||
#endif
|
||||
#define UNSIGNED 1
|
||||
#include "strtoimax.c"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1998 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1998, 2001 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
|
||||
@@ -27,6 +27,7 @@
|
||||
# include <utime.h>
|
||||
#endif
|
||||
|
||||
#include "full-write.h"
|
||||
#include "safe-read.h"
|
||||
|
||||
/* Some systems (even some that do have <utime.h>) don't declare this
|
||||
@@ -57,9 +58,9 @@ utime_null (const char *file)
|
||||
fd = open (file, O_RDWR);
|
||||
if (fd < 0
|
||||
|| fstat (fd, &sb) < 0
|
||||
|| safe_read (fd, &c, sizeof (char)) < 0
|
||||
|| safe_read (fd, &c, sizeof c) < 0
|
||||
|| lseek (fd, (off_t) 0, SEEK_SET) < 0
|
||||
|| full_write (fd, &c, sizeof (char)) < 0
|
||||
|| full_write (fd, &c, sizeof c) != sizeof c
|
||||
/* Maybe do this -- it's necessary on SunOS4.1.3 with some combination
|
||||
of patches, but that system doesn't use this code: it has utimes.
|
||||
|| fsync (fd) < 0
|
||||
|
||||
@@ -30,12 +30,12 @@
|
||||
#else
|
||||
# define _(Text) Text
|
||||
#endif
|
||||
#define N_(Text) Text
|
||||
|
||||
/* Default copyright goes to the FSF. */
|
||||
|
||||
char* version_etc_copyright =
|
||||
N_("Copyright (C) 2001 Free Software Foundation, Inc.");
|
||||
/* Do *not* mark this string for translation. */
|
||||
"Copyright (C) 2001 Free Software Foundation, Inc.";
|
||||
|
||||
|
||||
/* Display the --version information the standard way.
|
||||
@@ -60,7 +60,7 @@ version_etc (FILE *stream,
|
||||
fprintf (stream, _("Written by %s.\n"), authors);
|
||||
putc ('\n', stream);
|
||||
|
||||
fputs (_(version_etc_copyright), stream);
|
||||
fputs (version_etc_copyright, stream);
|
||||
putc ('\n', stream);
|
||||
|
||||
fputs (_("\
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* xgetcwd.c -- return current directory with unlimited length
|
||||
Copyright (C) 1992, 1996, 2000 Free Software Foundation, Inc.
|
||||
Copyright (C) 1992, 1996, 2000, 2001 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
|
||||
@@ -28,18 +28,24 @@ extern int errno;
|
||||
#endif
|
||||
|
||||
#include <sys/types.h>
|
||||
#include "pathmax.h"
|
||||
|
||||
#if HAVE_STDLIB_H
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
#if HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_GETCWD
|
||||
char *getcwd ();
|
||||
#else
|
||||
# include "pathmax.h"
|
||||
# define INITIAL_BUFFER_SIZE (PATH_MAX + 1)
|
||||
char *getwd ();
|
||||
# define getcwd(Buf, Max) getwd (Buf)
|
||||
#endif
|
||||
|
||||
extern void *xmalloc ();
|
||||
extern char *xstrdup ();
|
||||
extern void free ();
|
||||
#include "xalloc.h"
|
||||
|
||||
/* Return the current directory, newly allocated, arbitrarily long.
|
||||
Return NULL and set errno on error. */
|
||||
@@ -47,39 +53,35 @@ extern void free ();
|
||||
char *
|
||||
xgetcwd ()
|
||||
{
|
||||
char *ret;
|
||||
unsigned path_max;
|
||||
char buf[1024];
|
||||
#if HAVE_GETCWD_NULL
|
||||
char *cwd = getcwd (NULL, 0);
|
||||
if (! cwd && errno == ENOMEM)
|
||||
xalloc_die ();
|
||||
return cwd;
|
||||
#else
|
||||
|
||||
errno = 0;
|
||||
ret = getcwd (buf, sizeof (buf));
|
||||
if (ret != NULL)
|
||||
return xstrdup (buf);
|
||||
if (errno != ERANGE)
|
||||
return NULL;
|
||||
/* The initial buffer size for the working directory. A power of 2
|
||||
detects arithmetic overflow earlier, but is not required. */
|
||||
# ifndef INITIAL_BUFFER_SIZE
|
||||
# define INITIAL_BUFFER_SIZE 128
|
||||
# endif
|
||||
|
||||
path_max = (unsigned) PATH_MAX;
|
||||
path_max += 2; /* The getcwd docs say to do this. */
|
||||
size_t buf_size = INITIAL_BUFFER_SIZE;
|
||||
|
||||
for (;;)
|
||||
while (1)
|
||||
{
|
||||
char *cwd = (char *) xmalloc (path_max);
|
||||
|
||||
errno = 0;
|
||||
ret = getcwd (cwd, path_max);
|
||||
if (ret != NULL)
|
||||
return ret;
|
||||
if (errno != ERANGE)
|
||||
{
|
||||
int save_errno = errno;
|
||||
free (cwd);
|
||||
errno = save_errno;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
free (cwd);
|
||||
|
||||
path_max += path_max / 16;
|
||||
path_max += 32;
|
||||
char *buf = xmalloc (buf_size);
|
||||
char *cwd = getcwd (buf, buf_size);
|
||||
int saved_errno;
|
||||
if (cwd)
|
||||
return cwd;
|
||||
saved_errno = errno;
|
||||
free (buf);
|
||||
if (saved_errno != ERANGE)
|
||||
return NULL;
|
||||
buf_size *= 2;
|
||||
if (buf_size == 0)
|
||||
xalloc_die ();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
92
lib/xreadlink.c
Normal file
92
lib/xreadlink.c
Normal file
@@ -0,0 +1,92 @@
|
||||
/* xreadlink.c -- readlink wrapper to return the link name in malloc'd storage
|
||||
|
||||
Copyright 2001 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 2, 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; see the file COPYING.
|
||||
If not, write to the Free Software Foundation,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* Written by Jim Meyering <jim@meyering.net> */
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
#ifndef errno
|
||||
extern int errno;
|
||||
#endif
|
||||
|
||||
#if HAVE_LIMITS_H
|
||||
# include <limits.h>
|
||||
#endif
|
||||
#if HAVE_SYS_TYPES_H
|
||||
# include <sys/types.h>
|
||||
#endif
|
||||
#if HAVE_STDLIB_H
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
#if HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
#ifndef SIZE_MAX
|
||||
# define SIZE_MAX ((size_t) -1)
|
||||
#endif
|
||||
#ifndef SSIZE_MAX
|
||||
# define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2))
|
||||
#endif
|
||||
|
||||
#include "xalloc.h"
|
||||
#include "xreadlink.h"
|
||||
|
||||
/* Call readlink to get the symbolic link value of FILENAME.
|
||||
Return a pointer to that NUL-terminated string in malloc'd storage.
|
||||
If readlink fails, return NULL (caller may use errno to diagnose).
|
||||
If realloc fails, or if the link value is longer than SIZE_MAX :-),
|
||||
give a diagnostic and exit. */
|
||||
|
||||
char *
|
||||
xreadlink (char const *filename)
|
||||
{
|
||||
/* The initial buffer size for the link value. A power of 2
|
||||
detects arithmetic overflow earlier, but is not required. */
|
||||
size_t buf_size = 128;
|
||||
|
||||
while (1)
|
||||
{
|
||||
char *buffer = xmalloc (buf_size);
|
||||
ssize_t link_length = readlink (filename, buffer, buf_size);
|
||||
|
||||
if (link_length < 0)
|
||||
{
|
||||
int saved_errno = errno;
|
||||
free (buffer);
|
||||
errno = saved_errno;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (link_length < buf_size)
|
||||
{
|
||||
buffer[link_length] = 0;
|
||||
return buffer;
|
||||
}
|
||||
|
||||
free (buffer);
|
||||
buf_size *= 2;
|
||||
if (SSIZE_MAX < buf_size || (SIZE_MAX / 2 < SSIZE_MAX && buf_size == 0))
|
||||
xalloc_die ();
|
||||
}
|
||||
}
|
||||
9
lib/xreadlink.h
Normal file
9
lib/xreadlink.h
Normal file
@@ -0,0 +1,9 @@
|
||||
#ifndef PARAMS
|
||||
# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
|
||||
# define PARAMS(Args) Args
|
||||
# else
|
||||
# define PARAMS(Args) ()
|
||||
# endif
|
||||
#endif
|
||||
|
||||
char *xreadlink PARAMS ((char const *));
|
||||
31
lib/xstrtoimax.c
Normal file
31
lib/xstrtoimax.c
Normal file
@@ -0,0 +1,31 @@
|
||||
/* xstrtoimax.c -- A more useful interface to strtoimax.
|
||||
Copyright 2001 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 2, 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, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* Cloned by Jim Meyering. */
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_INTTYPES_H
|
||||
# include <inttypes.h>
|
||||
#endif
|
||||
|
||||
#define __strtol strtoimax
|
||||
#define __strtol_t intmax_t
|
||||
#define __xstrtol xstrtoimax
|
||||
#include "xstrtol.c"
|
||||
@@ -1,5 +1,5 @@
|
||||
/* A more useful interface to strtol.
|
||||
Copyright (C) 1995, 1996, 1998-2000 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995, 1996, 1998-2001 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
|
||||
@@ -78,15 +78,19 @@ extern int errno;
|
||||
|
||||
#include "xstrtol.h"
|
||||
|
||||
#ifndef strtol
|
||||
#if !HAVE_DECL_STRTOL && !defined strtol
|
||||
long int strtol ();
|
||||
#endif
|
||||
|
||||
#ifndef strtoul
|
||||
#if !HAVE_DECL_STRTOUL && !defined strtoul
|
||||
unsigned long int strtoul ();
|
||||
#endif
|
||||
|
||||
#ifndef strtoumax
|
||||
#if !HAVE_DECL_STRTOIMAX && !defined strtoimax
|
||||
intmax_t strtoimax ();
|
||||
#endif
|
||||
|
||||
#if !HAVE_DECL_STRTOUMAX && !defined strtoumax
|
||||
uintmax_t strtoumax ();
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,3 +1,20 @@
|
||||
/* A more useful interface to strtol.
|
||||
Copyright 1995, 1996, 1998, 1999, 2001 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 2, 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, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifndef XSTRTOL_H_
|
||||
# define XSTRTOL_H_ 1
|
||||
|
||||
@@ -27,6 +44,7 @@ typedef enum strtol_error strtol_error;
|
||||
type *val, const char *valid_suffixes));
|
||||
_DECLARE_XSTRTOL (xstrtol, long int)
|
||||
_DECLARE_XSTRTOL (xstrtoul, unsigned long int)
|
||||
_DECLARE_XSTRTOL (xstrtoimax, intmax_t)
|
||||
_DECLARE_XSTRTOL (xstrtoumax, uintmax_t)
|
||||
|
||||
# define _STRTOL_ERROR(Exit_code, Str, Argument_type_string, Err) \
|
||||
@@ -43,7 +61,7 @@ _DECLARE_XSTRTOL (xstrtoumax, uintmax_t)
|
||||
break; \
|
||||
\
|
||||
case LONGINT_INVALID_SUFFIX_CHAR: \
|
||||
error ((Exit_code), 0, "invalid character following %s `%s'", \
|
||||
error ((Exit_code), 0, "invalid character following %s in `%s'", \
|
||||
(Argument_type_string), (Str)); \
|
||||
break; \
|
||||
\
|
||||
|
||||
287
m4/ChangeLog
287
m4/ChangeLog
@@ -1,3 +1,288 @@
|
||||
2001-11-04 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* fpending.m4: Remove unused cruft that saved, set, and restored $DEFS.
|
||||
|
||||
2001-11-03 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
|
||||
of AC_DEFUN.
|
||||
|
||||
* dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
|
||||
know the name of the variable in the macro definition.
|
||||
|
||||
2001-11-01 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
|
||||
* jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
|
||||
|
||||
2001-10-20 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* error.m4 (jm_PREREQ_ERROR):
|
||||
Do not invoke AC_CHECK_FUNCS with strerror_r, as
|
||||
AC_FUNC_STRERROR_R does that.
|
||||
Check for strerror declaration.
|
||||
|
||||
* strerror_r.m4: Add copyright notice, as nontrivial m4 files
|
||||
are supposed to have them these days.
|
||||
(AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
|
||||
Merge changes from latest Autoconf CVS.
|
||||
Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
|
||||
and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
|
||||
POSIX decided to standardize on the int flavor of strerror_r.
|
||||
|
||||
2001-09-30 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
|
||||
`struct fsstat' has the `f_fstypename' member.
|
||||
Use that to define FS_TYPE, which is now used to make
|
||||
the getfsstat link test tighter.
|
||||
|
||||
2001-09-29 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
|
||||
[one-argument getmntent function]): Include stdio.h before mntent.h.
|
||||
SunOS4.1.x needs it for the declaration of `FILE'.
|
||||
Patch by Volker Borchert.
|
||||
|
||||
* ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
|
||||
Check for these headers: sys/param.h sys/ucred.h sys/mount.h
|
||||
sys/fs_types.h, and make the link-test for getfsstat guard #include
|
||||
directives with appropriate #if HAVE_*_H tests so that we can
|
||||
detect getfsstat on Apple Darwin1.3.7 systems.
|
||||
Reported by Nelson Beebe.
|
||||
Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
|
||||
|
||||
2001-09-28 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
|
||||
#defines strtoimax. Also treat the other strto* functions
|
||||
like strtoimax.
|
||||
|
||||
* xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
|
||||
Check for strtoul and strtoumax,
|
||||
as those declarations are made even in the signed case.
|
||||
* xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
|
||||
Likewise, for strtol and strtoimax.
|
||||
|
||||
2001-09-24 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* gettext.m4: Use the version from gettext-0.10.40, not CVS.
|
||||
|
||||
2001-09-23 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
|
||||
instead of the mere test for existence of mntent.h. The latter
|
||||
would get a false-positive on AIX 3.4 systems.
|
||||
In the outer getmntent if-block, don't die if neither of the getmntent
|
||||
tests succeeds. Instead, just fall through and continue with the
|
||||
remaining tests.
|
||||
|
||||
2001-09-22 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* gettext.m4: New file. From gettext.
|
||||
* lcmessage.m4: Sync with gettext -- this changes only comments.
|
||||
* progtest.m4: Likewise
|
||||
* isc-posix.m4: Decrement serial number to sync with gettext.
|
||||
* glibc21.m4: Likewise.
|
||||
|
||||
* libintl.m4: Remove. No longer used.
|
||||
|
||||
2001-09-20 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
|
||||
strtoimax.
|
||||
* xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
|
||||
strtoumax.
|
||||
|
||||
2001-09-17 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
|
||||
* jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
|
||||
* nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
|
||||
* st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
|
||||
* utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
|
||||
whenever the right hand side need not be expanded by the shell.
|
||||
|
||||
2001-09-16 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
|
||||
library. It's not correct, as some older glibcs are buggy.
|
||||
fnmatch wasn't fixed until glibc 2.2.
|
||||
|
||||
Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
|
||||
special shell magic here.
|
||||
|
||||
2001-09-16 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
|
||||
* jm-macros.m4: Require it.
|
||||
|
||||
2001-09-15 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* jm-macros.m4: Check for help2man.
|
||||
|
||||
2001-09-11 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* host-os.m4 (UTILS_HOST_OS): New file/macro.
|
||||
The body, by Paul Eggert, was moved here from configure.in.
|
||||
* jm-macros.m4: Require UTILS_HOST_OS.
|
||||
|
||||
2001-09-04 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* prereq.m4 (jm_PREREQ_XREADLINK): New macro.
|
||||
(jm_PREREQ): Use it.
|
||||
|
||||
2001-09-03 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
|
||||
sys/param.h, as pathmax.h includes them.
|
||||
|
||||
2001-09-03 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
|
||||
(jm_PREREQ_XGETCWD): New macro.
|
||||
|
||||
* getcwd.m4: New file.
|
||||
|
||||
2001-09-01 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
|
||||
Used by df.
|
||||
|
||||
2001-08-30 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
Simplify code, partly by assuming autoconf 2.52 semantics.
|
||||
|
||||
* Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
|
||||
|
||||
* inttypes.m4 (AC_PREREQ): Bump to 2.52.
|
||||
(jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
|
||||
All uses removed.
|
||||
(jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
|
||||
Move AC_REQUIRE to next-to-top level, to avoid confusion.
|
||||
Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
|
||||
* prereq.m4 (jm_PREREQ_HUMAN): Don't require jm_AC_HEADER_INTTYPES_H.
|
||||
* jm-macros.m4 (jm_MACROS): Likewise.
|
||||
|
||||
* uintmax_t.m4: Remove, as it duplicates inttypes.m4.
|
||||
|
||||
* xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
|
||||
Quote first arg of AC_DEFUN.
|
||||
Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
|
||||
since they are needed to parse the include file even if we need
|
||||
only xstrtoimax. Simplify logic behind the args to AC_REPLACE.
|
||||
* xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
|
||||
but with opposite signedness.
|
||||
|
||||
2001-08-30 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
|
||||
(jm_PREREQ_EXCLUDE): New macro.
|
||||
|
||||
2001-08-26 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
|
||||
|
||||
* xstrtoimax.m4: New file.
|
||||
* xstrtoumax.m4: Add comments explaining why we
|
||||
AC_REPLACE_FUNCS(strtol).
|
||||
|
||||
2001-06-20 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* inttypes.m4: Add AC_PREREQ(2.13).
|
||||
(jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
|
||||
(jm_AC_TYPE_INTMAX_T): New macro.
|
||||
(jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
|
||||
|
||||
* longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
|
||||
|
||||
* longlong.m4: Renamed from ulonglong.m4.
|
||||
* inttypes.m4: Renamed from inttypes_h.m4.
|
||||
* uintmax_t.m4: Removed.
|
||||
|
||||
2001-08-12 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
|
||||
d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
|
||||
fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
|
||||
group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
|
||||
jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
|
||||
link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
|
||||
mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
|
||||
prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
|
||||
rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
|
||||
strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
|
||||
utime.m4, utimes.m4, xstrtoumax.m4:
|
||||
Quote the first argument in each use of AC_DEFUN.
|
||||
|
||||
2001-08-05 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* jm-macros.m4: Require autoconf-2.52.
|
||||
|
||||
2001-08-03 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
The following changes are from gettext 0.10.39 as maintained by
|
||||
Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
|
||||
|
||||
* codeset.m4: Upgrade to serial AM1.
|
||||
(AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
|
||||
all uses changed. Quote first arg of AC_DEFUN.
|
||||
(am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
|
||||
|
||||
* iconv.m4: Upgrade to serial AM2.
|
||||
(AM_ICONV): Renamed from jm_ICONV; all uses changed.
|
||||
Add --with-libconv-prefix.
|
||||
Quote first arg of AC_DEFUN. Add description for ICONV_CONST.
|
||||
(am_cv_func_iconv): Renamed from jm_cv_func_iconv.
|
||||
(am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
|
||||
(am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
|
||||
* jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
|
||||
|
||||
* c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
|
||||
* getline.m4 (AM_FUNC_GETLINE): Likewise.
|
||||
* glibc21.m4 (jm_GLIBC21): Likewise.
|
||||
* inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
|
||||
* isc-posix.m4 (AC_ISC_POSIX): Likewise.
|
||||
* lcmessage.m4 (AM_LC_MESSAGES): Likewise.
|
||||
* progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
|
||||
* uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
|
||||
* ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
|
||||
|
||||
* getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
|
||||
string.h any more.
|
||||
|
||||
* progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
|
||||
not the default value.
|
||||
|
||||
2001-06-25 Bruno Haible <haible@clisp.cons.org>
|
||||
* mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
|
||||
Also check for mbsinit. Needed for SCO 3.2v5.0.2.
|
||||
Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
|
||||
Also check for iswcntrl, used for wcwidth fallback.
|
||||
Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
|
||||
to Autoconf 2.13.
|
||||
|
||||
2001-08-03 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
|
||||
as it was in the original. Reported by Paul Eggert.
|
||||
|
||||
2001-07-16 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* gettimeofday.m4: New file.
|
||||
Prompted by a report from Bernhard Baehr.
|
||||
|
||||
2001-07-15 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h stuff.
|
||||
Now it's in ../Makefile.cfg.
|
||||
|
||||
2001-07-04 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* Makefile.am.in (glibc-io.struct): New target. Rework the code
|
||||
that generates jm-glibc-io.m4 so that it doesn't trigger any make
|
||||
distcheck failure.
|
||||
|
||||
2001-07-02 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
The following changes were prompted by suggestions from Bruno Haible.
|
||||
@@ -40,7 +325,7 @@
|
||||
|
||||
2001-05-11 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
|
||||
* strftime.m4 (jm_FUNC_GNU_STRFTIME):
|
||||
Don't bother to check library strftime, since
|
||||
we'll be using our own my_strftime function anyway.
|
||||
Define my_strftime instead of strftime.
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
## Process this file with automake to produce Makefile.in -*-Makefile-*-
|
||||
|
||||
##m4-files-begin
|
||||
EXTRA_DIST = README jm-glibc-io.m4n Makefile.am.in \
|
||||
EXTRA_DIST = \
|
||||
README jm-glibc-io.m4 jm-glibc-io.m4n Makefile.am.in \
|
||||
afs.m4 \
|
||||
assert.m4 \
|
||||
bison.m4 \
|
||||
@@ -11,6 +12,7 @@ chown.m4 \
|
||||
codeset.m4 \
|
||||
d-ino.m4 \
|
||||
d-type.m4 \
|
||||
dirfd.m4 \
|
||||
dos.m4 \
|
||||
error.m4 \
|
||||
fnmatch.m4 \
|
||||
@@ -18,15 +20,19 @@ fpending.m4 \
|
||||
fstypename.m4 \
|
||||
fsusage.m4 \
|
||||
ftruncate.m4 \
|
||||
getcwd.m4 \
|
||||
getgroups.m4 \
|
||||
getline.m4 \
|
||||
getloadavg.m4 \
|
||||
gettext.m4 \
|
||||
gettimeofday.m4 \
|
||||
glibc.m4 \
|
||||
glibc21.m4 \
|
||||
gnu-source.m4 \
|
||||
group-member.m4 \
|
||||
host-os.m4 \
|
||||
iconv.m4 \
|
||||
inttypes_h.m4 \
|
||||
inttypes.m4 \
|
||||
isc-posix.m4 \
|
||||
jm-glibc-io.m4 \
|
||||
jm-macros.m4 \
|
||||
@@ -36,8 +42,8 @@ jm-winsz2.m4 \
|
||||
lchown.m4 \
|
||||
lcmessage.m4 \
|
||||
lib-check.m4 \
|
||||
libintl.m4 \
|
||||
link-follow.m4 \
|
||||
longlong.m4 \
|
||||
ls-mntd-fs.m4 \
|
||||
lstat.m4 \
|
||||
malloc.m4 \
|
||||
@@ -45,6 +51,7 @@ mbrtowc.m4 \
|
||||
mbstate_t.m4 \
|
||||
mbswidth.m4 \
|
||||
memcmp.m4 \
|
||||
mkdir-slash.m4 \
|
||||
nanosleep.m4 \
|
||||
perl.m4 \
|
||||
prereq.m4 \
|
||||
@@ -62,60 +69,24 @@ stat.m4 \
|
||||
strerror_r.m4 \
|
||||
strftime.m4 \
|
||||
timespec.m4 \
|
||||
uintmax_t.m4 \
|
||||
ulonglong.m4 \
|
||||
unlink-busy.m4 \
|
||||
uptime.m4 \
|
||||
utimbuf.m4 \
|
||||
utime.m4 \
|
||||
utimes.m4 \
|
||||
xstrtoimax.m4 \
|
||||
xstrtoumax.m4
|
||||
##m4-files-end
|
||||
|
||||
Makefile.am: Makefile.am.in
|
||||
rm -f $@ $@t
|
||||
sed -n '1,/^##m4-files-begin/p' $< > $@t
|
||||
((echo EXTRA_DIST = README jm-glibc-io.m4n Makefile.am.in|tr '\012' @);\
|
||||
(((echo EXTRA_DIST =; \
|
||||
echo " README jm-glibc-io.m4 jm-glibc-io.m4n Makefile.am.in" \
|
||||
) | tr '\012' @); \
|
||||
(echo *.m4|tr ' ' @) ) \
|
||||
|sed 's/@$$/%/;s/@/ \\@/g' |tr @% '\012\012' \
|
||||
>> $@t
|
||||
sed -n '/^##m4-files-end/,$$p' $< >> $@t
|
||||
echo >> $@t
|
||||
echo all-local: jm-glibc-io.m4 >> $@t
|
||||
chmod a-w $@t
|
||||
mv $@t $@
|
||||
|
||||
unlocked_functions = \
|
||||
clearerr_unlocked feof_unlocked ferror_unlocked \
|
||||
fflush_unlocked fgets_unlocked fputc_unlocked fputs_unlocked \
|
||||
fread_unlocked fwrite_unlocked getc_unlocked getchar_unlocked \
|
||||
putc_unlocked putchar_unlocked
|
||||
|
||||
comma_separated = $(shell echo $(unlocked_functions)|tr -s ' ' ,)
|
||||
base_functions = $(patsubst %_unlocked,%,$(unlocked_functions))
|
||||
jm-glibc-io.m4: jm-glibc-io.m4n Makefile
|
||||
echo 'dnl This file is automatically generated from $<' > $@t
|
||||
echo '' >> $@t
|
||||
sed \
|
||||
-e 's/@space_separated@/$(unlocked_functions)/g' \
|
||||
-e 's/@comma_separated@/$(comma_separated)/g' \
|
||||
$< >> $@t
|
||||
move-if-change $@t $@
|
||||
|
||||
unlocked-io.h: unlocked-io.hin Makefile.am.in
|
||||
tmp=t$$$$; \
|
||||
echo '' > $$tmp; \
|
||||
for f in $(base_functions); do \
|
||||
u=`echo $$f|tr '[:lower:]' '[:upper:]'`; \
|
||||
echo "# if HAVE_$${u}_UNLOCKED" >> $$tmp; \
|
||||
echo "# undef $$f" >> $$tmp; \
|
||||
echo "# define $$f(S) $${f}_unlocked (S)" >> $$tmp; \
|
||||
echo '#endif' >> $$tmp; \
|
||||
done; \
|
||||
sed "/^@replace_this@$$/r$$tmp" $< \
|
||||
| sed "/^@replace_this@$$/d" \
|
||||
$< > $@t; \
|
||||
rm -f $$tmp; \
|
||||
mv $@t $@
|
||||
|
||||
all-local: jm-glibc-io.m4
|
||||
|
||||
@@ -13,53 +13,5 @@ Makefile.am: Makefile.am.in
|
||||
|sed 's/@$$/%/;s/@/ \\@/g' |tr @% '\012\012' \
|
||||
>> $@t
|
||||
sed -n '/^##m4-files-end/,$$p' $< >> $@t
|
||||
echo >> $@t
|
||||
echo all-local: glibc-io.stamp >> $@t
|
||||
chmod a-w $@t
|
||||
mv $@t $@
|
||||
|
||||
unlocked_functions = \
|
||||
clearerr_unlocked feof_unlocked ferror_unlocked \
|
||||
fflush_unlocked fgets_unlocked fputc_unlocked fputs_unlocked \
|
||||
fread_unlocked fwrite_unlocked getc_unlocked getchar_unlocked \
|
||||
putc_unlocked putchar_unlocked
|
||||
|
||||
comma_separated = $(shell echo $(unlocked_functions)|tr -s ' ' ,)
|
||||
base_functions = $(patsubst %_unlocked,%,$(unlocked_functions))
|
||||
|
||||
# Don't depend directly on jm-glibc-io.m4, because that would cause it
|
||||
# to be created in non-srcdir==. builds, and that leads to problems with
|
||||
# distcheck. Note also that we can't add it to DISTCLEANFILES for similar
|
||||
# reasons.
|
||||
glibc-io.stamp: jm-glibc-io.m4n Makefile
|
||||
if test `pwd` = `cd $(srcdir); pwd`; then \
|
||||
t=jm-glibc-io.m4; \
|
||||
src=$(srcdir)/jm-glibc-io.m4n; \
|
||||
echo "dnl This file is automatically generated from $${t}n." \
|
||||
> $${t}t; \
|
||||
echo '' >> $${t}t; \
|
||||
sed \
|
||||
-e 's/@space_separated@/$(unlocked_functions)/g' \
|
||||
-e 's/@comma_separated@/$(comma_separated)/g' \
|
||||
$$src >> $${t}t; \
|
||||
move-if-change $${t}t $$t; \
|
||||
fi
|
||||
touch $@
|
||||
|
||||
DISTCLEANFILES = glibc-io.stamp
|
||||
|
||||
unlocked-io.h: unlocked-io.hin Makefile.am.in
|
||||
tmp=t$$$$; \
|
||||
echo '' > $$tmp; \
|
||||
for f in $(base_functions); do \
|
||||
u=`echo $$f|tr '[:lower:]' '[:upper:]'`; \
|
||||
echo "# if HAVE_$${u}_UNLOCKED" >> $$tmp; \
|
||||
echo "# undef $$f" >> $$tmp; \
|
||||
echo "# define $$f(S) $${f}_unlocked (S)" >> $$tmp; \
|
||||
echo '#endif' >> $$tmp; \
|
||||
done; \
|
||||
sed "/^@replace_this@$$/r$$tmp" $< \
|
||||
| sed "/^@replace_this@$$/d" \
|
||||
$< > $@t; \
|
||||
rm -f $$tmp; \
|
||||
mv $@t $@
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Makefile.in generated automatically by automake 1.4i from Makefile.am.
|
||||
# Makefile.in generated automatically by automake 1.5 from Makefile.am.
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
@@ -59,6 +59,7 @@ host_alias = @host_alias@
|
||||
host_triplet = @host@
|
||||
AMTAR = @AMTAR@
|
||||
AWK = @AWK@
|
||||
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
|
||||
CATALOGS = @CATALOGS@
|
||||
CATOBJEXT = @CATOBJEXT@
|
||||
CC = @CC@
|
||||
@@ -66,6 +67,7 @@ CPP = @CPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
EXEEXT = @EXEEXT@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -73,14 +75,13 @@ GLIBC21 = @GLIBC21@
|
||||
GMOFILES = @GMOFILES@
|
||||
GMSGFMT = @GMSGFMT@
|
||||
GNU_PACKAGE = @GNU_PACKAGE@
|
||||
GT_NO = @GT_NO@
|
||||
GT_YES = @GT_YES@
|
||||
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
|
||||
HELP2MAN = @HELP2MAN@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
INSTOBJEXT = @INSTOBJEXT@
|
||||
INTLDEPS = @INTLDEPS@
|
||||
INTLBISON = @INTLBISON@
|
||||
INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBICONV = @LIBICONV@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
@@ -91,6 +92,7 @@ MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
MSGFMT = @MSGFMT@
|
||||
NEED_SETGID = @NEED_SETGID@
|
||||
OBJEXT = @OBJEXT@
|
||||
OPTIONAL_BIN_PROGS = @OPTIONAL_BIN_PROGS@
|
||||
OPTIONAL_BIN_ZCRIPTS = @OPTIONAL_BIN_ZCRIPTS@
|
||||
PACKAGE = @PACKAGE@
|
||||
@@ -106,10 +108,9 @@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
VERSION = @VERSION@
|
||||
YACC = @YACC@
|
||||
_am_include = @_am_include@
|
||||
_am_quote = @_am_quote@
|
||||
am__include = @am__include@
|
||||
am__quote = @am__quote@
|
||||
install_sh = @install_sh@
|
||||
l = @l@
|
||||
|
||||
EXTRA_DIST = \
|
||||
README jm-glibc-io.m4 jm-glibc-io.m4n Makefile.am.in \
|
||||
@@ -122,6 +123,7 @@ chown.m4 \
|
||||
codeset.m4 \
|
||||
d-ino.m4 \
|
||||
d-type.m4 \
|
||||
dirfd.m4 \
|
||||
dos.m4 \
|
||||
error.m4 \
|
||||
fnmatch.m4 \
|
||||
@@ -129,15 +131,19 @@ fpending.m4 \
|
||||
fstypename.m4 \
|
||||
fsusage.m4 \
|
||||
ftruncate.m4 \
|
||||
getcwd.m4 \
|
||||
getgroups.m4 \
|
||||
getline.m4 \
|
||||
getloadavg.m4 \
|
||||
gettext.m4 \
|
||||
gettimeofday.m4 \
|
||||
glibc.m4 \
|
||||
glibc21.m4 \
|
||||
gnu-source.m4 \
|
||||
group-member.m4 \
|
||||
host-os.m4 \
|
||||
iconv.m4 \
|
||||
inttypes_h.m4 \
|
||||
inttypes.m4 \
|
||||
isc-posix.m4 \
|
||||
jm-glibc-io.m4 \
|
||||
jm-macros.m4 \
|
||||
@@ -147,8 +153,8 @@ jm-winsz2.m4 \
|
||||
lchown.m4 \
|
||||
lcmessage.m4 \
|
||||
lib-check.m4 \
|
||||
libintl.m4 \
|
||||
link-follow.m4 \
|
||||
longlong.m4 \
|
||||
ls-mntd-fs.m4 \
|
||||
lstat.m4 \
|
||||
malloc.m4 \
|
||||
@@ -156,6 +162,7 @@ mbrtowc.m4 \
|
||||
mbstate_t.m4 \
|
||||
mbswidth.m4 \
|
||||
memcmp.m4 \
|
||||
mkdir-slash.m4 \
|
||||
nanosleep.m4 \
|
||||
perl.m4 \
|
||||
prereq.m4 \
|
||||
@@ -173,17 +180,14 @@ stat.m4 \
|
||||
strerror_r.m4 \
|
||||
strftime.m4 \
|
||||
timespec.m4 \
|
||||
uintmax_t.m4 \
|
||||
ulonglong.m4 \
|
||||
unlink-busy.m4 \
|
||||
uptime.m4 \
|
||||
utimbuf.m4 \
|
||||
utime.m4 \
|
||||
utimes.m4 \
|
||||
xstrtoimax.m4 \
|
||||
xstrtoumax.m4
|
||||
|
||||
EXEEXT =
|
||||
OBJEXT = o
|
||||
subdir = m4
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
@@ -193,9 +197,9 @@ DIST_COMMON = README ChangeLog Makefile.am Makefile.in
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnits m4/Makefile
|
||||
$(AUTOMAKE) --gnu m4/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && \
|
||||
CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
@@ -312,22 +316,6 @@ Makefile.am: Makefile.am.in
|
||||
sed -n '/^##m4-files-end/,$$p' $< >> $@t
|
||||
chmod a-w $@t
|
||||
mv $@t $@
|
||||
|
||||
unlocked-io.h: unlocked-io.hin Makefile.am.in
|
||||
tmp=t$$$$; \
|
||||
echo > $$tmp; \
|
||||
for f in $(base_functions); do \
|
||||
u=`echo $$f|tr '[:lower:]' '[:upper:]'`; \
|
||||
echo "# if HAVE_$${u}_UNLOCKED" >> $$tmp; \
|
||||
echo "# undef $$f" >> $$tmp; \
|
||||
echo "# define $$f(S) $${f}_unlocked (S)" >> $$tmp; \
|
||||
echo '#endif' >> $$tmp; \
|
||||
done; \
|
||||
sed "/^@replace_this@$$/r$$tmp" $< \
|
||||
| sed "/^@replace_this@$$/d" \
|
||||
$< > $@t; \
|
||||
rm -f $$tmp; \
|
||||
mv $@t $@
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#serial 3
|
||||
#serial 4
|
||||
|
||||
AC_DEFUN(jm_AFS,
|
||||
AC_DEFUN([jm_AFS],
|
||||
AC_MSG_CHECKING(for AFS)
|
||||
if test -d /afs; then
|
||||
AC_DEFINE(AFS, 1, [Define if you have the Andrew File System.])
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#serial 2
|
||||
#serial 3
|
||||
dnl based on code from Eleftherios Gkioulekas
|
||||
|
||||
AC_DEFUN(jm_ASSERT,
|
||||
AC_DEFUN([jm_ASSERT],
|
||||
[
|
||||
AC_MSG_CHECKING(whether to enable assertions)
|
||||
AC_ARG_ENABLE(assert,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#serial 1
|
||||
#serial 2
|
||||
|
||||
AC_DEFUN(jm_BISON,
|
||||
AC_DEFUN([jm_BISON],
|
||||
[
|
||||
# getdate.y works with bison only.
|
||||
: ${YACC='bison -y'}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#serial 3
|
||||
#serial 4
|
||||
|
||||
dnl From Paul Eggert.
|
||||
|
||||
AC_DEFUN(AC_C_BACKSLASH_A,
|
||||
AC_DEFUN([AC_C_BACKSLASH_A],
|
||||
[
|
||||
AC_CACHE_CHECK([whether backslash-a works in strings], ac_cv_c_backslash_a,
|
||||
[AC_TRY_COMPILE([],
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#serial 17
|
||||
#serial 18
|
||||
|
||||
dnl This is just a wrapper function to encapsulate this kludge.
|
||||
dnl Putting it in a separate file like this helps share it between
|
||||
dnl different packages.
|
||||
AC_DEFUN(jm_CHECK_DECLS,
|
||||
AC_DEFUN([jm_CHECK_DECLS],
|
||||
[
|
||||
AC_REQUIRE([_jm_DECL_HEADERS])
|
||||
AC_REQUIRE([AC_HEADER_TIME])
|
||||
@@ -77,7 +77,7 @@ AC_DEFUN(jm_CHECK_DECLS,
|
||||
|
||||
dnl FIXME: when autoconf has support for it.
|
||||
dnl This is a little helper so we can require these header checks.
|
||||
AC_DEFUN(_jm_DECL_HEADERS,
|
||||
AC_DEFUN([_jm_DECL_HEADERS],
|
||||
[
|
||||
AC_REQUIRE([AC_HEADER_STDC])
|
||||
AC_CHECK_HEADERS(grp.h memory.h pwd.h string.h strings.h stdlib.h \
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#serial 6
|
||||
#serial 7
|
||||
|
||||
dnl From Jim Meyering.
|
||||
dnl Determine whether chown accepts arguments of -1 for uid and gid.
|
||||
dnl If it doesn't, arrange to use the replacement function.
|
||||
dnl
|
||||
|
||||
AC_DEFUN(jm_FUNC_CHOWN,
|
||||
AC_DEFUN([jm_FUNC_CHOWN],
|
||||
[AC_REQUIRE([AC_TYPE_UID_T])dnl
|
||||
test -z "$ac_cv_header_unistd_h" \
|
||||
&& AC_CHECK_HEADERS(unistd.h)
|
||||
@@ -43,7 +43,7 @@ AC_DEFUN(jm_FUNC_CHOWN,
|
||||
])
|
||||
if test $jm_cv_func_working_chown = no; then
|
||||
AC_LIBOBJ(chown)
|
||||
AC_DEFINE_UNQUOTED(chown, rpl_chown,
|
||||
AC_DEFINE(chown, rpl_chown,
|
||||
[Define to rpl_chown if the replacement function should be used.])
|
||||
fi
|
||||
])
|
||||
|
||||
@@ -1,19 +1,16 @@
|
||||
#serial 2
|
||||
#serial AM1
|
||||
|
||||
dnl From Bruno Haible.
|
||||
|
||||
AC_DEFUN(jm_LANGINFO_CODESET,
|
||||
AC_DEFUN([AM_LANGINFO_CODESET],
|
||||
[
|
||||
AC_CHECK_HEADERS(langinfo.h)
|
||||
AC_CHECK_FUNCS(nl_langinfo)
|
||||
|
||||
AC_CACHE_CHECK([for nl_langinfo and CODESET], jm_cv_langinfo_codeset,
|
||||
AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
|
||||
[AC_TRY_LINK([#include <langinfo.h>],
|
||||
[char* cs = nl_langinfo(CODESET);],
|
||||
jm_cv_langinfo_codeset=yes,
|
||||
jm_cv_langinfo_codeset=no)
|
||||
am_cv_langinfo_codeset=yes,
|
||||
am_cv_langinfo_codeset=no)
|
||||
])
|
||||
if test $jm_cv_langinfo_codeset = yes; then
|
||||
if test $am_cv_langinfo_codeset = yes; then
|
||||
AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
|
||||
[Define if you have <langinfo.h> and nl_langinfo(CODESET).])
|
||||
fi
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#serial 3
|
||||
#serial 4
|
||||
|
||||
dnl From Jim Meyering.
|
||||
dnl
|
||||
dnl Check whether struct dirent has a member named d_ino.
|
||||
dnl
|
||||
|
||||
AC_DEFUN(jm_CHECK_TYPE_STRUCT_DIRENT_D_INO,
|
||||
AC_DEFUN([jm_CHECK_TYPE_STRUCT_DIRENT_D_INO],
|
||||
[AC_REQUIRE([AC_HEADER_DIRENT])dnl
|
||||
AC_CACHE_CHECK([for d_ino member in directory struct],
|
||||
jm_cv_struct_dirent_d_ino,
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#serial 3
|
||||
#serial 4
|
||||
|
||||
dnl From Jim Meyering.
|
||||
dnl
|
||||
dnl Check whether struct dirent has a member named d_type.
|
||||
dnl
|
||||
|
||||
AC_DEFUN(jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE,
|
||||
AC_DEFUN([jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE],
|
||||
[AC_REQUIRE([AC_HEADER_DIRENT])dnl
|
||||
AC_CACHE_CHECK([for d_type member in directory struct],
|
||||
jm_cv_struct_dirent_d_type,
|
||||
|
||||
68
m4/dirfd.m4
Normal file
68
m4/dirfd.m4
Normal file
@@ -0,0 +1,68 @@
|
||||
#serial 1
|
||||
|
||||
dnl Find out how to get the file descriptor associated with an open DIR*.
|
||||
dnl From Jim Meyering
|
||||
|
||||
AC_DEFUN([UTILS_FUNC_DIRFD],
|
||||
[
|
||||
AC_HEADER_DIRENT
|
||||
dirfd_headers='
|
||||
#if HAVE_DIRENT_H
|
||||
# include <dirent.h>
|
||||
#else /* not HAVE_DIRENT_H */
|
||||
# define dirent direct
|
||||
# if HAVE_SYS_NDIR_H
|
||||
# include <sys/ndir.h>
|
||||
# endif /* HAVE_SYS_NDIR_H */
|
||||
# if HAVE_SYS_DIR_H
|
||||
# include <sys/dir.h>
|
||||
# endif /* HAVE_SYS_DIR_H */
|
||||
# if HAVE_NDIR_H
|
||||
# include <ndir.h>
|
||||
# endif /* HAVE_NDIR_H */
|
||||
#endif /* HAVE_DIRENT_H */
|
||||
'
|
||||
AC_CHECK_FUNCS(dirfd)
|
||||
AC_CHECK_DECLS([dirfd], , , $dirfd_headers)
|
||||
|
||||
# Use the replacement only if we have neither the function
|
||||
# nor a declaration.
|
||||
if test $ac_cv_func_dirfd,$ac_cv_have_decl_dirfd = no,no; then
|
||||
AC_REPLACE_FUNCS([dirfd])
|
||||
AC_CACHE_CHECK(
|
||||
[how to get the file descriptor associated with an open DIR*],
|
||||
ac_cv_sys_dir_fd_member_name,
|
||||
[
|
||||
dirfd_save_CFLAGS=$CFLAGS
|
||||
for ac_expr in d_fd dd_fd; do
|
||||
|
||||
CFLAGS="$CFLAGS -DDIR_FD_MEMBER_NAME=$ac_expr"
|
||||
AC_TRY_COMPILE(
|
||||
[$dirfd_headers
|
||||
],
|
||||
[DIR *dir_p = opendir("."); (void) dir_p->DIR_FD_MEMBER_NAME;],
|
||||
dir_fd_found=yes
|
||||
)
|
||||
CFLAGS=$dirfd_save_CFLAGS
|
||||
test "$dir_fd_found" = yes && break
|
||||
done
|
||||
test "$dir_fd_found" = yes || ac_expr=-1
|
||||
|
||||
ac_cv_sys_dir_fd_member_name=$ac_expr
|
||||
]
|
||||
)
|
||||
if test $ac_cv_have_decl_dirfd = -1; then
|
||||
AC_DEFINE_UNQUOTED(DIR_FD_MEMBER_NAME,
|
||||
$ac_cv_sys_dir_fd_member_name,
|
||||
[the name of the file descriptor member of DIR])
|
||||
fi
|
||||
AH_VERBATIM(DIR_TO_FD,
|
||||
[#ifdef DIR_FD_MEMBER_NAME
|
||||
# define DIR_TO_FD(Dir_p) ((Dir_p)->DIR_FD_MEMBER_NAME)
|
||||
#else
|
||||
# define DIR_TO_FD(Dir_p) -1
|
||||
#endif
|
||||
]
|
||||
)
|
||||
fi
|
||||
])
|
||||
@@ -1,11 +1,11 @@
|
||||
# serial 4
|
||||
#serial 5
|
||||
|
||||
# Define some macros required for proper operation of code in lib/*.c
|
||||
# on MSDOS/Windows systems.
|
||||
|
||||
# From Jim Meyering.
|
||||
|
||||
AC_DEFUN(jm_AC_DOS,
|
||||
AC_DEFUN([jm_AC_DOS],
|
||||
[
|
||||
AC_CACHE_CHECK([whether system is Windows or MSDOS], [ac_cv_win_or_dos],
|
||||
[
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
#serial 2
|
||||
#serial 4
|
||||
|
||||
dnl FIXME: put these prerequisite-only *.m4 files in a separate
|
||||
dnl directory -- otherwise, they'll conflict with existing files.
|
||||
|
||||
dnl These are the prerequisite macros for GNU's error.c file.
|
||||
AC_DEFUN(jm_PREREQ_ERROR,
|
||||
AC_DEFUN([jm_PREREQ_ERROR],
|
||||
[
|
||||
AC_CHECK_FUNCS(strerror strerror_r vprintf doprnt)
|
||||
AC_CHECK_FUNCS(strerror vprintf doprnt)
|
||||
AC_CHECK_DECLS([strerror])
|
||||
AC_FUNC_STRERROR_R
|
||||
AC_HEADER_STDC
|
||||
])
|
||||
|
||||
@@ -1,17 +1,15 @@
|
||||
#serial 3
|
||||
#serial 5
|
||||
|
||||
dnl Determine whether to add fnmatch.o to LIBOBJS and to
|
||||
dnl define fnmatch to rpl_fnmatch.
|
||||
dnl
|
||||
|
||||
AC_DEFUN(jm_FUNC_FNMATCH,
|
||||
AC_DEFUN([jm_FUNC_FNMATCH],
|
||||
[
|
||||
AC_REQUIRE([AM_GLIBC])
|
||||
AC_FUNC_FNMATCH
|
||||
if test $ac_cv_func_fnmatch_works = no \
|
||||
&& test $ac_cv_gnu_library = no; then
|
||||
if test $ac_cv_func_fnmatch_works = no; then
|
||||
AC_LIBOBJ(fnmatch)
|
||||
AC_DEFINE_UNQUOTED(fnmatch, rpl_fnmatch,
|
||||
AC_DEFINE(fnmatch, rpl_fnmatch,
|
||||
[Define to rpl_fnmatch if the replacement function should be used.])
|
||||
fi
|
||||
])
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#serial 1
|
||||
#serial 3
|
||||
|
||||
dnl From Jim Meyering
|
||||
dnl Using code from emacs, based on suggestions from Paul Eggert
|
||||
@@ -8,7 +8,7 @@ dnl Find out how to determine the number of pending output bytes on a stream.
|
||||
dnl glibc (2.1.93 and newer) and Solaris provide __fpending. On other systems,
|
||||
dnl we have to grub around in the FILE struct.
|
||||
|
||||
AC_DEFUN(jm_FUNC_FPENDING,
|
||||
AC_DEFUN([jm_FUNC_FPENDING],
|
||||
[
|
||||
AC_CHECK_HEADERS(stdio_ext.h)
|
||||
AC_REPLACE_FUNCS([__fpending])
|
||||
@@ -23,7 +23,6 @@ AC_DEFUN(jm_FUNC_FPENDING,
|
||||
[how to determine the number of pending output bytes on a stream],
|
||||
ac_cv_sys_pending_output_n_bytes,
|
||||
[
|
||||
fp_save_DEFS=$DEFS
|
||||
for ac_expr in \
|
||||
\
|
||||
'# glibc2' \
|
||||
@@ -54,14 +53,12 @@ AC_DEFUN(jm_FUNC_FPENDING,
|
||||
# Skip each embedded comment.
|
||||
case "$ac_expr" in '#'*) continue;; esac
|
||||
|
||||
DEFS="$DEFS -DPENDING_OUTPUT_N_BYTES=$ac_expr"
|
||||
AC_TRY_COMPILE(
|
||||
[#include <stdio.h>
|
||||
],
|
||||
[FILE *fp = stdin; (void) ($ac_expr);],
|
||||
fp_done=yes
|
||||
)
|
||||
DEFS=$fp_save_DEFS
|
||||
test "$fp_done" = yes && break
|
||||
done
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#serial 2
|
||||
#serial 3
|
||||
|
||||
dnl From Jim Meyering.
|
||||
dnl
|
||||
@@ -6,7 +6,7 @@ dnl See if struct statfs has the f_fstypename member.
|
||||
dnl If so, define HAVE_F_FSTYPENAME_IN_STATFS.
|
||||
dnl
|
||||
|
||||
AC_DEFUN(jm_FSTYPENAME,
|
||||
AC_DEFUN([jm_FSTYPENAME],
|
||||
[
|
||||
AC_CACHE_CHECK([for f_fstypename in struct statfs],
|
||||
fu_cv_sys_f_fstypename_in_statfs,
|
||||
@@ -25,8 +25,8 @@ AC_DEFUN(jm_FSTYPENAME,
|
||||
)
|
||||
|
||||
if test $fu_cv_sys_f_fstypename_in_statfs = yes; then
|
||||
AC_DEFINE_UNQUOTED(HAVE_F_FSTYPENAME_IN_STATFS, 1,
|
||||
[Define if struct statfs has the f_fstypename member.])
|
||||
AC_DEFINE(HAVE_F_FSTYPENAME_IN_STATFS, 1,
|
||||
[Define if struct statfs has the f_fstypename member.])
|
||||
fi
|
||||
]
|
||||
)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#serial 7
|
||||
#serial 8
|
||||
|
||||
# From fileutils/configure.in
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#
|
||||
# jm_FILE_SYSTEM_USAGE([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
|
||||
|
||||
AC_DEFUN(jm_FILE_SYSTEM_USAGE,
|
||||
AC_DEFUN([jm_FILE_SYSTEM_USAGE],
|
||||
[
|
||||
|
||||
echo "checking how to get filesystem space usage..."
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#serial 3
|
||||
#serial 4
|
||||
|
||||
# See if we need to emulate a missing ftruncate function using fcntl or chsize.
|
||||
|
||||
AC_DEFUN(jm_FUNC_FTRUNCATE,
|
||||
AC_DEFUN([jm_FUNC_FTRUNCATE],
|
||||
[
|
||||
AC_CHECK_FUNCS(ftruncate, , [ftruncate_missing=yes])
|
||||
|
||||
|
||||
53
m4/getcwd.m4
Normal file
53
m4/getcwd.m4
Normal file
@@ -0,0 +1,53 @@
|
||||
# getcwd.m4 - check whether getcwd (NULL, 0) allocates memory for result
|
||||
|
||||
# Copyright 2001 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 2, 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, write to the Free Software Foundation,
|
||||
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
# Written by Paul Eggert.
|
||||
|
||||
AC_DEFUN([AC_FUNC_GETCWD_NULL],
|
||||
[AC_CHECK_HEADERS(stdlib.h unistd.h)
|
||||
AC_CACHE_CHECK([whether getcwd (NULL, 0) allocates memory for result],
|
||||
[ac_cv_func_getcwd_null],
|
||||
[AC_TRY_RUN(
|
||||
[
|
||||
# ifdef HAVE_STDLIB_H
|
||||
# include <stdlib.h>
|
||||
# endif
|
||||
# ifdef HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
# endif
|
||||
# ifndef getcwd
|
||||
char *getcwd ();
|
||||
# endif
|
||||
int
|
||||
main ()
|
||||
{
|
||||
if (chdir ("/") != 0)
|
||||
exit (1);
|
||||
else
|
||||
{
|
||||
char *f = getcwd (NULL, 0);
|
||||
exit (! (f && f[0] == '/' && !f[1]));
|
||||
}
|
||||
}],
|
||||
[ac_cv_func_getcwd_null=yes],
|
||||
[ac_cv_func_getcwd_null=no],
|
||||
[ac_cv_func_getcwd_null=no])])
|
||||
if test $ac_cv_func_getcwd_null = yes; then
|
||||
AC_DEFINE(HAVE_GETCWD_NULL, 1,
|
||||
[Define if getcwd (NULL, 0) allocates memory for result.])
|
||||
fi])
|
||||
@@ -1,4 +1,4 @@
|
||||
#serial 4
|
||||
#serial 5
|
||||
|
||||
dnl From Jim Meyering.
|
||||
dnl
|
||||
@@ -7,7 +7,7 @@ dnl jm_FUNC_GETGROUPS
|
||||
dnl test -n "$GETGROUPS_LIB" && LIBS="$GETGROUPS_LIB $LIBS"
|
||||
dnl
|
||||
|
||||
AC_DEFUN(jm_FUNC_GETGROUPS,
|
||||
AC_DEFUN([jm_FUNC_GETGROUPS],
|
||||
[AC_REQUIRE([AC_TYPE_GETGROUPS])dnl
|
||||
AC_REQUIRE([AC_TYPE_SIZE_T])dnl
|
||||
AC_CHECK_FUNCS(getgroups)
|
||||
@@ -39,7 +39,7 @@ AC_DEFUN(jm_FUNC_GETGROUPS,
|
||||
])
|
||||
if test $jm_cv_func_working_getgroups = no; then
|
||||
AC_LIBOBJ(getgroups)
|
||||
AC_DEFINE_UNQUOTED(getgroups, rpl_getgroups,
|
||||
AC_DEFINE(getgroups, rpl_getgroups,
|
||||
[Define as rpl_getgroups if getgroups doesn't work right.])
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#serial 4
|
||||
#serial 5
|
||||
|
||||
dnl See if there's a working, system-supplied version of the getline function.
|
||||
dnl We can't just do AC_REPLACE_FUNCS(getline) because some systems
|
||||
dnl have a function by that name in -linet that doesn't have anything
|
||||
dnl to do with the function we need.
|
||||
AC_DEFUN(AM_FUNC_GETLINE,
|
||||
AC_DEFUN([AM_FUNC_GETLINE],
|
||||
[dnl
|
||||
am_getline_needs_run_time_check=no
|
||||
AC_CHECK_FUNC(getline,
|
||||
@@ -12,15 +12,12 @@ AC_DEFUN(AM_FUNC_GETLINE,
|
||||
am_getline_needs_run_time_check=yes,
|
||||
am_cv_func_working_getline=no)
|
||||
if test $am_getline_needs_run_time_check = yes; then
|
||||
AC_CHECK_HEADERS(string.h)
|
||||
AC_CACHE_CHECK([for working getline function], am_cv_func_working_getline,
|
||||
[echo fooN |tr -d '\012'|tr N '\012' > conftest.data
|
||||
AC_TRY_RUN([
|
||||
# include <stdio.h>
|
||||
# include <sys/types.h>
|
||||
# if HAVE_STRING_H
|
||||
# include <string.h>
|
||||
# endif
|
||||
# include <string.h>
|
||||
int main ()
|
||||
{ /* Based on a test program from Karl Heuer. */
|
||||
char *line = NULL;
|
||||
|
||||
370
m4/gettext.m4
Normal file
370
m4/gettext.m4
Normal file
@@ -0,0 +1,370 @@
|
||||
# Macro to add for using GNU gettext.
|
||||
# Ulrich Drepper <drepper@cygnus.com>, 1995.
|
||||
#
|
||||
# This file can be copied and used freely without restrictions. It can
|
||||
# be used in projects which are not available under the GNU General Public
|
||||
# License or the GNU Library General Public License but which still want
|
||||
# to provide support for the GNU gettext functionality.
|
||||
# Please note that the actual code of the GNU gettext library is covered
|
||||
# by the GNU Library General Public License, and the rest of the GNU
|
||||
# gettext package package is covered by the GNU General Public License.
|
||||
# They are *not* in the public domain.
|
||||
|
||||
# serial 10
|
||||
|
||||
dnl Usage: AM_WITH_NLS([TOOLSYMBOL], [NEEDSYMBOL], [LIBDIR]).
|
||||
dnl If TOOLSYMBOL is specified and is 'use-libtool', then a libtool library
|
||||
dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
|
||||
dnl depending on --{enable,disable}-{shared,static} and on the presence of
|
||||
dnl AM-DISABLE-SHARED). Otherwise, a static library
|
||||
dnl $(top_builddir)/intl/libintl.a will be created.
|
||||
dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
|
||||
dnl implementations (in libc or libintl) without the ngettext() function
|
||||
dnl will be ignored.
|
||||
dnl LIBDIR is used to find the intl libraries. If empty,
|
||||
dnl the value `$(top_builddir)/intl/' is used.
|
||||
dnl
|
||||
dnl The result of the configuration is one of three cases:
|
||||
dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
|
||||
dnl and used.
|
||||
dnl Catalog format: GNU --> install in $(datadir)
|
||||
dnl Catalog extension: .mo after installation, .gmo in source tree
|
||||
dnl 2) GNU gettext has been found in the system's C library.
|
||||
dnl Catalog format: GNU --> install in $(datadir)
|
||||
dnl Catalog extension: .mo after installation, .gmo in source tree
|
||||
dnl 3) No internationalization, always use English msgid.
|
||||
dnl Catalog format: none
|
||||
dnl Catalog extension: none
|
||||
dnl The use of .gmo is historical (it was needed to avoid overwriting the
|
||||
dnl GNU format catalogs when building on a platform with an X/Open gettext),
|
||||
dnl but we keep it in order not to force irrelevant filename changes on the
|
||||
dnl maintainers.
|
||||
dnl
|
||||
AC_DEFUN([AM_WITH_NLS],
|
||||
[AC_MSG_CHECKING([whether NLS is requested])
|
||||
dnl Default is enabled NLS
|
||||
AC_ARG_ENABLE(nls,
|
||||
[ --disable-nls do not use Native Language Support],
|
||||
USE_NLS=$enableval, USE_NLS=yes)
|
||||
AC_MSG_RESULT($USE_NLS)
|
||||
AC_SUBST(USE_NLS)
|
||||
|
||||
BUILD_INCLUDED_LIBINTL=no
|
||||
USE_INCLUDED_LIBINTL=no
|
||||
INTLLIBS=
|
||||
|
||||
dnl If we use NLS figure out what method
|
||||
if test "$USE_NLS" = "yes"; then
|
||||
AC_DEFINE(ENABLE_NLS, 1,
|
||||
[Define to 1 if translation of program messages to the user's native language
|
||||
is requested.])
|
||||
AC_MSG_CHECKING([whether included gettext is requested])
|
||||
AC_ARG_WITH(included-gettext,
|
||||
[ --with-included-gettext use the GNU gettext library included here],
|
||||
nls_cv_force_use_gnu_gettext=$withval,
|
||||
nls_cv_force_use_gnu_gettext=no)
|
||||
AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
|
||||
|
||||
nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
|
||||
if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
|
||||
dnl User does not insist on using GNU NLS library. Figure out what
|
||||
dnl to use. If GNU gettext is available we use this. Else we have
|
||||
dnl to fall back to GNU NLS library.
|
||||
CATOBJEXT=NONE
|
||||
|
||||
dnl Add a version number to the cache macros.
|
||||
define(gt_cv_func_gnugettext_libc, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libc])
|
||||
define(gt_cv_func_gnugettext_libintl, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libintl])
|
||||
|
||||
AC_CHECK_HEADER(libintl.h,
|
||||
[AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
|
||||
[AC_TRY_LINK([#include <libintl.h>
|
||||
extern int _nl_msg_cat_cntr;],
|
||||
[bindtextdomain ("", "");
|
||||
return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
|
||||
gt_cv_func_gnugettext_libc=yes,
|
||||
gt_cv_func_gnugettext_libc=no)])
|
||||
|
||||
if test "$gt_cv_func_gnugettext_libc" != "yes"; then
|
||||
AC_CACHE_CHECK([for GNU gettext in libintl],
|
||||
gt_cv_func_gnugettext_libintl,
|
||||
[gt_save_LIBS="$LIBS"
|
||||
LIBS="$LIBS -lintl $LIBICONV"
|
||||
AC_TRY_LINK([#include <libintl.h>
|
||||
extern int _nl_msg_cat_cntr;],
|
||||
[bindtextdomain ("", "");
|
||||
return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
|
||||
gt_cv_func_gnugettext_libintl=yes,
|
||||
gt_cv_func_gnugettext_libintl=no)
|
||||
LIBS="$gt_save_LIBS"])
|
||||
fi
|
||||
|
||||
dnl If an already present or preinstalled GNU gettext() is found,
|
||||
dnl use it. But if this macro is used in GNU gettext, and GNU
|
||||
dnl gettext is already preinstalled in libintl, we update this
|
||||
dnl libintl. (Cf. the install rule in intl/Makefile.in.)
|
||||
if test "$gt_cv_func_gnugettext_libc" = "yes" \
|
||||
|| { test "$gt_cv_func_gnugettext_libintl" = "yes" \
|
||||
&& test "$PACKAGE" != gettext; }; then
|
||||
AC_DEFINE(HAVE_GETTEXT, 1,
|
||||
[Define if the GNU gettext() function is already present or preinstalled.])
|
||||
|
||||
if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
|
||||
dnl If iconv() is in a separate libiconv library, then anyone
|
||||
dnl linking with libintl{.a,.so} also needs to link with
|
||||
dnl libiconv.
|
||||
INTLLIBS="-lintl $LIBICONV"
|
||||
fi
|
||||
|
||||
gt_save_LIBS="$LIBS"
|
||||
LIBS="$LIBS $INTLLIBS"
|
||||
AC_CHECK_FUNCS(dcgettext)
|
||||
LIBS="$gt_save_LIBS"
|
||||
|
||||
dnl Search for GNU msgfmt in the PATH.
|
||||
AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
|
||||
[$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
|
||||
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
|
||||
|
||||
dnl Search for GNU xgettext in the PATH.
|
||||
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
|
||||
[$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
|
||||
|
||||
CATOBJEXT=.gmo
|
||||
fi
|
||||
])
|
||||
|
||||
if test "$CATOBJEXT" = "NONE"; then
|
||||
dnl GNU gettext is not found in the C library.
|
||||
dnl Fall back on GNU gettext library.
|
||||
nls_cv_use_gnu_gettext=yes
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$nls_cv_use_gnu_gettext" = "yes"; then
|
||||
dnl Mark actions used to generate GNU NLS library.
|
||||
INTLOBJS="\$(GETTOBJS)"
|
||||
AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
|
||||
[$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
|
||||
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
|
||||
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
|
||||
[$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
|
||||
AC_SUBST(MSGFMT)
|
||||
BUILD_INCLUDED_LIBINTL=yes
|
||||
USE_INCLUDED_LIBINTL=yes
|
||||
CATOBJEXT=.gmo
|
||||
INTLLIBS="ifelse([$3],[],\$(top_builddir)/intl,[$3])/libintl.ifelse([$1], use-libtool, [l], [])a $LIBICONV"
|
||||
LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
|
||||
fi
|
||||
|
||||
dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
|
||||
dnl Test whether we really found GNU msgfmt.
|
||||
if test "$GMSGFMT" != ":"; then
|
||||
dnl If it is no GNU msgfmt we define it as : so that the
|
||||
dnl Makefiles still can work.
|
||||
if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then
|
||||
: ;
|
||||
else
|
||||
AC_MSG_RESULT(
|
||||
[found msgfmt program is not GNU msgfmt; ignore it])
|
||||
GMSGFMT=":"
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
|
||||
dnl Test whether we really found GNU xgettext.
|
||||
if test "$XGETTEXT" != ":"; then
|
||||
dnl If it is no GNU xgettext we define it as : so that the
|
||||
dnl Makefiles still can work.
|
||||
if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then
|
||||
: ;
|
||||
else
|
||||
AC_MSG_RESULT(
|
||||
[found xgettext program is not GNU xgettext; ignore it])
|
||||
XGETTEXT=":"
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl We need to process the po/ directory.
|
||||
POSUB=po
|
||||
fi
|
||||
AC_OUTPUT_COMMANDS(
|
||||
[for ac_file in $CONFIG_FILES; do
|
||||
# Support "outfile[:infile[:infile...]]"
|
||||
case "$ac_file" in
|
||||
*:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
|
||||
esac
|
||||
# PO directories have a Makefile.in generated from Makefile.in.in.
|
||||
case "$ac_file" in */Makefile.in)
|
||||
# Adjust a relative srcdir.
|
||||
ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
|
||||
ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
|
||||
ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
|
||||
# In autoconf-2.13 it is called $ac_given_srcdir.
|
||||
# In autoconf-2.50 it is called $srcdir.
|
||||
test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
|
||||
case "$ac_given_srcdir" in
|
||||
.) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
|
||||
/*) top_srcdir="$ac_given_srcdir" ;;
|
||||
*) top_srcdir="$ac_dots$ac_given_srcdir" ;;
|
||||
esac
|
||||
if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
|
||||
rm -f "$ac_dir/POTFILES"
|
||||
test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
|
||||
sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES"
|
||||
test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
|
||||
sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done])
|
||||
|
||||
|
||||
dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
|
||||
dnl to 'yes' because some of the testsuite requires it.
|
||||
if test "$PACKAGE" = gettext; then
|
||||
BUILD_INCLUDED_LIBINTL=yes
|
||||
fi
|
||||
|
||||
dnl intl/plural.c is generated from intl/plural.y. It requires bison,
|
||||
dnl because plural.y uses bison specific features. It requires at least
|
||||
dnl bison-1.26 because earlier versions generate a plural.c that doesn't
|
||||
dnl compile.
|
||||
dnl bison is only needed for the maintainer (who touches plural.y). But in
|
||||
dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
|
||||
dnl the rule in general Makefile. Now, some people carelessly touch the
|
||||
dnl files or have a broken "make" program, hence the plural.c rule will
|
||||
dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
|
||||
dnl present or too old.
|
||||
AC_CHECK_PROGS([INTLBISON], [bison])
|
||||
if test -z "$INTLBISON"; then
|
||||
ac_verc_fail=yes
|
||||
else
|
||||
dnl Found it, now check the version.
|
||||
AC_MSG_CHECKING([version of bison])
|
||||
changequote(<<,>>)dnl
|
||||
ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
|
||||
changequote([,])dnl
|
||||
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
|
||||
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
|
||||
esac
|
||||
AC_MSG_RESULT([$ac_prog_version])
|
||||
fi
|
||||
if test $ac_verc_fail = yes; then
|
||||
INTLBISON=:
|
||||
fi
|
||||
|
||||
dnl These rules are solely for the distribution goal. While doing this
|
||||
dnl we only have to keep exactly one list of the available catalogs
|
||||
dnl in configure.in.
|
||||
for lang in $ALL_LINGUAS; do
|
||||
GMOFILES="$GMOFILES $lang.gmo"
|
||||
POFILES="$POFILES $lang.po"
|
||||
done
|
||||
|
||||
dnl Make all variables we use known to autoconf.
|
||||
AC_SUBST(BUILD_INCLUDED_LIBINTL)
|
||||
AC_SUBST(USE_INCLUDED_LIBINTL)
|
||||
AC_SUBST(CATALOGS)
|
||||
AC_SUBST(CATOBJEXT)
|
||||
AC_SUBST(GMOFILES)
|
||||
AC_SUBST(INTLLIBS)
|
||||
AC_SUBST(INTLOBJS)
|
||||
AC_SUBST(POFILES)
|
||||
AC_SUBST(POSUB)
|
||||
|
||||
dnl For backward compatibility. Some configure.ins may be using this.
|
||||
nls_cv_header_intl=
|
||||
nls_cv_header_libgt=
|
||||
|
||||
dnl For backward compatibility. Some Makefiles may be using this.
|
||||
DATADIRNAME=share
|
||||
AC_SUBST(DATADIRNAME)
|
||||
|
||||
dnl For backward compatibility. Some Makefiles may be using this.
|
||||
INSTOBJEXT=.mo
|
||||
AC_SUBST(INSTOBJEXT)
|
||||
|
||||
dnl For backward compatibility. Some Makefiles may be using this.
|
||||
GENCAT=gencat
|
||||
AC_SUBST(GENCAT)
|
||||
])
|
||||
|
||||
dnl Usage: Just like AM_WITH_NLS, which see.
|
||||
AC_DEFUN([AM_GNU_GETTEXT],
|
||||
[AC_REQUIRE([AC_PROG_MAKE_SET])dnl
|
||||
AC_REQUIRE([AC_PROG_CC])dnl
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
AC_REQUIRE([AC_PROG_RANLIB])dnl
|
||||
AC_REQUIRE([AC_ISC_POSIX])dnl
|
||||
AC_REQUIRE([AC_HEADER_STDC])dnl
|
||||
AC_REQUIRE([AC_C_CONST])dnl
|
||||
AC_REQUIRE([AC_C_INLINE])dnl
|
||||
AC_REQUIRE([AC_TYPE_OFF_T])dnl
|
||||
AC_REQUIRE([AC_TYPE_SIZE_T])dnl
|
||||
AC_REQUIRE([AC_FUNC_ALLOCA])dnl
|
||||
AC_REQUIRE([AC_FUNC_MMAP])dnl
|
||||
AC_REQUIRE([jm_GLIBC21])dnl
|
||||
|
||||
AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
|
||||
stdlib.h string.h unistd.h sys/param.h])
|
||||
AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getcwd getegid geteuid \
|
||||
getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \
|
||||
strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
|
||||
|
||||
AM_ICONV
|
||||
AM_LANGINFO_CODESET
|
||||
AM_LC_MESSAGES
|
||||
AM_WITH_NLS([$1],[$2],[$3])
|
||||
|
||||
if test "x$CATOBJEXT" != "x"; then
|
||||
if test "x$ALL_LINGUAS" = "x"; then
|
||||
LINGUAS=
|
||||
else
|
||||
AC_MSG_CHECKING(for catalogs to be installed)
|
||||
NEW_LINGUAS=
|
||||
for presentlang in $ALL_LINGUAS; do
|
||||
useit=no
|
||||
for desiredlang in ${LINGUAS-$ALL_LINGUAS}; do
|
||||
# Use the presentlang catalog if desiredlang is
|
||||
# a. equal to presentlang, or
|
||||
# b. a variant of presentlang (because in this case,
|
||||
# presentlang can be used as a fallback for messages
|
||||
# which are not translated in the desiredlang catalog).
|
||||
case "$desiredlang" in
|
||||
"$presentlang"*) useit=yes;;
|
||||
esac
|
||||
done
|
||||
if test $useit = yes; then
|
||||
NEW_LINGUAS="$NEW_LINGUAS $presentlang"
|
||||
fi
|
||||
done
|
||||
LINGUAS=$NEW_LINGUAS
|
||||
AC_MSG_RESULT($LINGUAS)
|
||||
fi
|
||||
|
||||
dnl Construct list of names of catalog files to be constructed.
|
||||
if test -n "$LINGUAS"; then
|
||||
for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
|
||||
dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
|
||||
dnl Try to locate is.
|
||||
MKINSTALLDIRS=
|
||||
if test -n "$ac_aux_dir"; then
|
||||
MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
|
||||
fi
|
||||
if test -z "$MKINSTALLDIRS"; then
|
||||
MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
|
||||
fi
|
||||
AC_SUBST(MKINSTALLDIRS)
|
||||
|
||||
dnl Enable libtool support if the surrounding package wishes it.
|
||||
INTL_LIBTOOL_SUFFIX_PREFIX=ifelse([$1], use-libtool, [l], [])
|
||||
AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
|
||||
])
|
||||
67
m4/gettimeofday.m4
Normal file
67
m4/gettimeofday.m4
Normal file
@@ -0,0 +1,67 @@
|
||||
#serial 1
|
||||
|
||||
dnl From Jim Meyering.
|
||||
dnl
|
||||
dnl See if gettimeofday clobbers the static buffer that localtime uses
|
||||
dnl for it's return value. The gettimeofday function from Mac OS X 10.0.4,
|
||||
dnl i.e. Darwin 1.3.7 has this problem.
|
||||
dnl
|
||||
dnl If it does, then arrange to use gettimeofday only via the wrapper
|
||||
dnl function that works around the problem.
|
||||
|
||||
AC_DEFUN([AC_FUNC_GETTIMEOFDAY_CLOBBER],
|
||||
[
|
||||
AC_REQUIRE([AC_HEADER_TIME])
|
||||
AC_CHECK_HEADERS(string.h stdlib.h)
|
||||
AC_CACHE_CHECK([whether gettimeofday clobbers localtime buffer],
|
||||
jm_cv_func_gettimeofday_clobber,
|
||||
[AC_TRY_RUN([
|
||||
#include <stdio.h>
|
||||
#if HAVE_STRING_H
|
||||
# include <string.h>
|
||||
#endif
|
||||
|
||||
#if TIME_WITH_SYS_TIME
|
||||
# include <sys/time.h>
|
||||
# include <time.h>
|
||||
#else
|
||||
# if HAVE_SYS_TIME_H
|
||||
# include <sys/time.h>
|
||||
# else
|
||||
# include <time.h>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if HAVE_STDLIB_H
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
time_t t = 0;
|
||||
struct tm *lt;
|
||||
struct tm saved_lt;
|
||||
struct timeval tv;
|
||||
lt = localtime (&t);
|
||||
saved_lt = *lt;
|
||||
gettimeofday (&tv, NULL);
|
||||
if (memcmp (lt, &saved_lt, sizeof (struct tm)) != 0)
|
||||
exit (1);
|
||||
|
||||
exit (0);
|
||||
}
|
||||
],
|
||||
jm_cv_func_gettimeofday_clobber=no,
|
||||
jm_cv_func_gettimeofday_clobber=yes,
|
||||
dnl When crosscompiling, assume it is broken.
|
||||
jm_cv_func_gettimeofday_clobber=yes)
|
||||
])
|
||||
if test $jm_cv_func_gettimeofday_clobber = yes; then
|
||||
AC_LIBOBJ(gettimeofday)
|
||||
AC_DEFINE(gettimeofday, rpl_gettimeofday,
|
||||
[Define to rpl_gettimeofday if the replacement function should be used.])
|
||||
AC_DEFINE(GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, 1,
|
||||
[Define if gettimeofday clobbers localtime's static buffer.])
|
||||
fi
|
||||
])
|
||||
@@ -1,10 +1,10 @@
|
||||
#serial 2
|
||||
#serial 3
|
||||
|
||||
dnl From Gordon Matzigkeit.
|
||||
dnl Test for the GNU C Library.
|
||||
dnl FIXME: this should migrate into libit.
|
||||
|
||||
AC_DEFUN(AM_GLIBC,
|
||||
AC_DEFUN([AM_GLIBC],
|
||||
[
|
||||
AC_CACHE_CHECK(whether we are using the GNU C Library,
|
||||
ac_cv_gnu_library,
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# Test for the GNU C Library, version 2.1 or newer.
|
||||
# From Bruno Haible.
|
||||
|
||||
AC_DEFUN(jm_GLIBC21,
|
||||
AC_DEFUN([jm_GLIBC21],
|
||||
[
|
||||
AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
|
||||
ac_cv_gnu_library_2_1,
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#serial 2
|
||||
#serial 3
|
||||
# Make sure _GNU_SOURCE is defined where necessary: as early as possible
|
||||
# for configure-time tests, as well as for every source file that includes
|
||||
# config.h.
|
||||
|
||||
# From Jim Meyering.
|
||||
|
||||
AC_DEFUN(AC__GNU_SOURCE,
|
||||
AC_DEFUN([AC__GNU_SOURCE],
|
||||
[
|
||||
# Make sure that _GNU_SOURCE is defined for all subsequent
|
||||
# configure-time compile tests.
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#serial 2
|
||||
#serial 3
|
||||
|
||||
dnl Written by Jim Meyering
|
||||
|
||||
AC_DEFUN(jm_FUNC_GROUP_MEMBER,
|
||||
AC_DEFUN([jm_FUNC_GROUP_MEMBER],
|
||||
[
|
||||
dnl Do this replacement check manually because I want the hyphen
|
||||
dnl (not the underscore) in the filename.
|
||||
|
||||
71
m4/host-os.m4
Normal file
71
m4/host-os.m4
Normal file
@@ -0,0 +1,71 @@
|
||||
#serial 1
|
||||
|
||||
dnl From Paul Eggert.
|
||||
|
||||
# Define HOST_OPERATING_SYSTEM to a name for the host operating system.
|
||||
AC_DEFUN([UTILS_HOST_OS],
|
||||
[
|
||||
AC_CACHE_CHECK([host operating system],
|
||||
utils_cv_host_operating_system,
|
||||
|
||||
[[case $host_os in
|
||||
|
||||
# These operating system names do not use the default heuristic below.
|
||||
# They are in reverse order, so that more-specific prefixes come first.
|
||||
winnt*) os='Windows NT';;
|
||||
vos*) os='VOS';;
|
||||
sysv*) os='Unix System V';;
|
||||
superux*) os='SUPER-UX';;
|
||||
sunos*) os='SunOS';;
|
||||
stop*) os='STOP';;
|
||||
sco*) os='SCO Unix';;
|
||||
riscos*) os='RISC OS';;
|
||||
riscix*) os='RISCiX';;
|
||||
qnx*) os='QNX';;
|
||||
pw32*) os='PW32';;
|
||||
ptx*) os='ptx';;
|
||||
plan9*) os='Plan 9';;
|
||||
osf*) os='Tru64';;
|
||||
os2*) os='OS/2';;
|
||||
openbsd*) os='OpenBSD';;
|
||||
nsk*) os='NonStop Kernel';;
|
||||
nonstopux*) os='NonStop-UX';;
|
||||
netbsd*) os='NetBSD';;
|
||||
msdosdjgpp*) os='DJGPP';;
|
||||
mpeix*) os='MPE/iX';;
|
||||
mint*) os='MiNT';;
|
||||
mingw*) os='MinGW';;
|
||||
lynxos*) os='LynxOS';;
|
||||
linux*) os='GNU/Linux';;
|
||||
hpux*) os='HP-UX';;
|
||||
hiux*) os='HI-UX';;
|
||||
gnu*) os='GNU';;
|
||||
freebsd*) os='FreeBSD';;
|
||||
dgux*) os='DG/UX';;
|
||||
bsdi*) os='BSD/OS';;
|
||||
bsd*) os='BSD';;
|
||||
beos*) os='BeOS';;
|
||||
aux*) os='A/UX';;
|
||||
atheos*) os='AtheOS';;
|
||||
amigaos*) os='Amiga OS';;
|
||||
aix*) os='AIX';;
|
||||
|
||||
# The default heuristic takes the initial alphabetic string
|
||||
# from $host_os, but capitalizes its first letter.
|
||||
[A-Za-z]*)
|
||||
os=`
|
||||
expr "X$host_os" : 'X\([A-Za-z]\)' | tr '[a-z]' '[A-Z]'
|
||||
``
|
||||
expr "X$host_os" : 'X.\([A-Za-z]*\)'
|
||||
`
|
||||
;;
|
||||
|
||||
# If $host_os does not start with an alphabetic string, use it unchanged.
|
||||
*)
|
||||
os=$host_os;;
|
||||
esac
|
||||
utils_cv_host_operating_system=$os]])
|
||||
AC_DEFINE_UNQUOTED(HOST_OPERATING_SYSTEM,
|
||||
"$utils_cv_host_operating_system",
|
||||
[The host operating system.])
|
||||
])
|
||||
49
m4/iconv.m4
49
m4/iconv.m4
@@ -1,37 +1,46 @@
|
||||
#serial 3
|
||||
#serial AM2
|
||||
|
||||
dnl From Bruno Haible.
|
||||
|
||||
AC_DEFUN(jm_ICONV,
|
||||
AC_DEFUN([AM_ICONV],
|
||||
[
|
||||
dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
|
||||
dnl those with the standalone portable GNU libiconv installed).
|
||||
AC_CACHE_CHECK(for iconv, jm_cv_func_iconv, [
|
||||
jm_cv_func_iconv="no, consider installing GNU libiconv"
|
||||
jm_cv_lib_iconv=no
|
||||
|
||||
AC_ARG_WITH([libiconv-prefix],
|
||||
[ --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib], [
|
||||
for dir in `echo "$withval" | tr : ' '`; do
|
||||
if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi
|
||||
if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi
|
||||
done
|
||||
])
|
||||
|
||||
AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
|
||||
am_cv_func_iconv="no, consider installing GNU libiconv"
|
||||
am_cv_lib_iconv=no
|
||||
AC_TRY_LINK([#include <stdlib.h>
|
||||
#include <iconv.h>],
|
||||
[iconv_t cd = iconv_open("","");
|
||||
iconv(cd,NULL,NULL,NULL,NULL);
|
||||
iconv_close(cd);],
|
||||
jm_cv_func_iconv=yes)
|
||||
if test "$jm_cv_func_iconv" != yes; then
|
||||
jm_save_LIBS="$LIBS"
|
||||
am_cv_func_iconv=yes)
|
||||
if test "$am_cv_func_iconv" != yes; then
|
||||
am_save_LIBS="$LIBS"
|
||||
LIBS="$LIBS -liconv"
|
||||
AC_TRY_LINK([#include <stdlib.h>
|
||||
#include <iconv.h>],
|
||||
[iconv_t cd = iconv_open("","");
|
||||
iconv(cd,NULL,NULL,NULL,NULL);
|
||||
iconv_close(cd);],
|
||||
jm_cv_lib_iconv=yes
|
||||
jm_cv_func_iconv=yes)
|
||||
LIBS="$jm_save_LIBS"
|
||||
am_cv_lib_iconv=yes
|
||||
am_cv_func_iconv=yes)
|
||||
LIBS="$am_save_LIBS"
|
||||
fi
|
||||
])
|
||||
if test "$jm_cv_func_iconv" = yes; then
|
||||
if test "$am_cv_func_iconv" = yes; then
|
||||
AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
|
||||
AC_MSG_CHECKING([for iconv declaration])
|
||||
AC_CACHE_VAL(jm_cv_proto_iconv, [
|
||||
AC_CACHE_VAL(am_cv_proto_iconv, [
|
||||
AC_TRY_COMPILE([
|
||||
#include <stdlib.h>
|
||||
#include <iconv.h>
|
||||
@@ -40,20 +49,20 @@ extern
|
||||
"C"
|
||||
#endif
|
||||
#if defined(__STDC__) || defined(__cplusplus)
|
||||
size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t* outbytesleft);
|
||||
size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
|
||||
#else
|
||||
size_t iconv();
|
||||
#endif
|
||||
], [], jm_cv_proto_iconv_arg1="", jm_cv_proto_iconv_arg1="const")
|
||||
jm_cv_proto_iconv="extern size_t iconv (iconv_t cd, $jm_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t* outbytesleft);"])
|
||||
jm_cv_proto_iconv=`echo "[$]jm_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
|
||||
], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
|
||||
am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
|
||||
am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
|
||||
AC_MSG_RESULT([$]{ac_t:-
|
||||
}[$]jm_cv_proto_iconv)
|
||||
AC_DEFINE_UNQUOTED(ICONV_CONST, $jm_cv_proto_iconv_arg1,
|
||||
}[$]am_cv_proto_iconv)
|
||||
AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
|
||||
[Define as const if the declaration of iconv() needs const.])
|
||||
fi
|
||||
LIBICONV=
|
||||
if test "$jm_cv_lib_iconv" = yes; then
|
||||
if test "$am_cv_lib_iconv" = yes; then
|
||||
LIBICONV="-liconv"
|
||||
fi
|
||||
AC_SUBST(LIBICONV)
|
||||
|
||||
32
m4/inttypes.m4
Normal file
32
m4/inttypes.m4
Normal file
@@ -0,0 +1,32 @@
|
||||
#serial 6
|
||||
|
||||
dnl From Paul Eggert.
|
||||
|
||||
AC_PREREQ(2.52)
|
||||
|
||||
# Define intmax_t to long or long long if <inttypes.h> doesn't define.
|
||||
|
||||
AC_DEFUN([jm_AC_TYPE_INTMAX_T],
|
||||
[
|
||||
AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
|
||||
AC_CHECK_TYPE(intmax_t, ,
|
||||
[test $ac_cv_type_long_long = yes \
|
||||
&& ac_type='long long' \
|
||||
|| ac_type='long'
|
||||
AC_DEFINE_UNQUOTED(intmax_t, $ac_type,
|
||||
[Define to widest signed type if <inttypes.h> doesn't define.])])
|
||||
])
|
||||
|
||||
# Define uintmax_t to unsigned long or unsigned long long
|
||||
# if <inttypes.h> doesn't define.
|
||||
|
||||
AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
|
||||
[
|
||||
AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
|
||||
AC_CHECK_TYPE(uintmax_t, ,
|
||||
[test $ac_cv_type_unsigned_long_long = yes \
|
||||
&& ac_type='unsigned long long' \
|
||||
|| ac_type='unsigned long'
|
||||
AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
|
||||
[Define to widest unsigned type if <inttypes.h> doesn't define.])])
|
||||
])
|
||||
@@ -1,22 +0,0 @@
|
||||
#serial 3
|
||||
|
||||
dnl From Paul Eggert.
|
||||
|
||||
# Define HAVE_INTTYPES_H if <inttypes.h> exists,
|
||||
# doesn't clash with <sys/types.h>, and declares uintmax_t.
|
||||
|
||||
AC_DEFUN(jm_AC_HEADER_INTTYPES_H,
|
||||
[
|
||||
AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
|
||||
[AC_TRY_COMPILE(
|
||||
[#include <sys/types.h>
|
||||
#include <inttypes.h>],
|
||||
[uintmax_t i = (uintmax_t) -1;],
|
||||
jm_ac_cv_header_inttypes_h=yes,
|
||||
jm_ac_cv_header_inttypes_h=no)])
|
||||
if test $jm_ac_cv_header_inttypes_h = yes; then
|
||||
AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,
|
||||
[Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
|
||||
and declares uintmax_t. ])
|
||||
fi
|
||||
])
|
||||
@@ -1,14 +1,15 @@
|
||||
#serial 1
|
||||
dnl This test replaces the one in autoconf.
|
||||
dnl Currently this macro should have the same name as the autoconf macro
|
||||
dnl because gettext's gettext.m4 (distributed in the automake package)
|
||||
dnl still uses it. Otherwise, the use in gettext.m4 makes autoheader
|
||||
dnl give these diagnostics:
|
||||
dnl configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
|
||||
dnl configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
|
||||
# This test replaces the one in autoconf.
|
||||
# Currently this macro should have the same name as the autoconf macro
|
||||
# because gettext's gettext.m4 (distributed in the automake package)
|
||||
# still uses it. Otherwise, the use in gettext.m4 makes autoheader
|
||||
# give these diagnostics:
|
||||
# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
|
||||
# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
|
||||
|
||||
undefine([AC_ISC_POSIX])
|
||||
AC_DEFUN(AC_ISC_POSIX,
|
||||
|
||||
AC_DEFUN([AC_ISC_POSIX],
|
||||
[
|
||||
dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
|
||||
AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
dnl This file is automatically generated from m4/jm-glibc-io.m4n.
|
||||
dnl This file is automatically generated from jm-glibc-io.m4n.
|
||||
|
||||
#serial 5 -*- autoconf -*-
|
||||
#serial 6 -*- autoconf -*-
|
||||
|
||||
dnl From Jim Meyering.
|
||||
dnl
|
||||
@@ -8,7 +8,7 @@ dnl See if the glibc *_unlocked I/O macros are available.
|
||||
dnl Use only those *_unlocked macros that are declared.
|
||||
dnl
|
||||
|
||||
AC_DEFUN(jm_FUNC_GLIBC_UNLOCKED_IO,
|
||||
AC_DEFUN([jm_FUNC_GLIBC_UNLOCKED_IO],
|
||||
[
|
||||
# Kludge (not executed) to make autoheader do the right thing.
|
||||
if test a = b; then
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#serial 5 -*- autoconf -*-
|
||||
#serial 6 -*- autoconf -*-
|
||||
|
||||
dnl From Jim Meyering.
|
||||
dnl
|
||||
@@ -6,7 +6,7 @@ dnl See if the glibc *_unlocked I/O macros are available.
|
||||
dnl Use only those *_unlocked macros that are declared.
|
||||
dnl
|
||||
|
||||
AC_DEFUN(jm_FUNC_GLIBC_UNLOCKED_IO,
|
||||
AC_DEFUN([jm_FUNC_GLIBC_UNLOCKED_IO],
|
||||
[
|
||||
# Kludge (not executed) to make autoheader do the right thing.
|
||||
if test a = b; then
|
||||
|
||||
@@ -1,16 +1,17 @@
|
||||
#serial 37 -*- autoconf -*-
|
||||
#serial 39 -*- autoconf -*-
|
||||
|
||||
dnl Misc type-related macros for fileutils, sh-utils, textutils.
|
||||
|
||||
AC_DEFUN(jm_MACROS,
|
||||
AC_DEFUN([jm_MACROS],
|
||||
[
|
||||
AC_PREREQ(2.49d)
|
||||
AC_PREREQ(2.52)
|
||||
|
||||
GNU_PACKAGE="GNU $PACKAGE"
|
||||
AC_DEFINE_UNQUOTED(GNU_PACKAGE, "$GNU_PACKAGE",
|
||||
[The concatenation of the strings `GNU ', and PACKAGE.])
|
||||
AC_SUBST(GNU_PACKAGE)
|
||||
|
||||
AM_MISSING_PROG(HELP2MAN, help2man)
|
||||
AC_SUBST(OPTIONAL_BIN_PROGS)
|
||||
AC_SUBST(OPTIONAL_BIN_ZCRIPTS)
|
||||
AC_SUBST(MAN)
|
||||
@@ -22,9 +23,10 @@ AC_DEFUN(jm_MACROS,
|
||||
jm_CHECK_ALL_TYPES
|
||||
jm_INCLUDED_REGEX([lib/regex.c])
|
||||
|
||||
AC_REQUIRE([UTILS_HOST_OS])
|
||||
AC_REQUIRE([UTILS_FUNC_MKDIR_TRAILING_SLASH])
|
||||
AC_REQUIRE([jm_BISON])
|
||||
AC_REQUIRE([jm_ASSERT])
|
||||
AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
|
||||
AC_REQUIRE([jm_CHECK_TYPE_STRUCT_UTIMBUF])
|
||||
AC_REQUIRE([jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE])
|
||||
AC_REQUIRE([jm_CHECK_TYPE_STRUCT_DIRENT_D_INO])
|
||||
@@ -32,6 +34,7 @@ AC_DEFUN(jm_MACROS,
|
||||
|
||||
AC_REQUIRE([jm_PREREQ])
|
||||
|
||||
AC_REQUIRE([UTILS_FUNC_DIRFD])
|
||||
AC_REQUIRE([jm_FUNC_LCHOWN])
|
||||
AC_REQUIRE([fetish_FUNC_RMDIR_NOTEMPTY])
|
||||
AC_REQUIRE([jm_FUNC_CHOWN])
|
||||
@@ -51,6 +54,7 @@ AC_DEFUN(jm_MACROS,
|
||||
AC_REQUIRE([jm_FUNC_PUTENV])
|
||||
AC_REQUIRE([jm_AFS])
|
||||
AC_REQUIRE([jm_AC_PREREQ_XSTRTOUMAX])
|
||||
AC_REQUIRE([jm_AC_PREREQ_XSTRTOIMAX])
|
||||
AC_REQUIRE([jm_AC_FUNC_LINK_FOLLOWS_SYMLINK])
|
||||
AC_REQUIRE([AM_FUNC_ERROR_AT_LINE])
|
||||
AC_REQUIRE([jm_FUNC_GNU_STRFTIME])
|
||||
@@ -113,6 +117,7 @@ AC_DEFUN(jm_MACROS,
|
||||
AC_CHECK_FUNCS(clock_gettime)
|
||||
LIBS=$fetish_saved_libs
|
||||
AC_CHECK_FUNCS(gettimeofday)
|
||||
AC_FUNC_GETTIMEOFDAY_CLOBBER
|
||||
|
||||
AC_REQUIRE([AC_FUNC_CLOSEDIR_VOID])
|
||||
AC_REQUIRE([jm_FUNC_UTIME])
|
||||
@@ -120,6 +125,7 @@ AC_DEFUN(jm_MACROS,
|
||||
AC_CHECK_FUNCS( \
|
||||
acl \
|
||||
bcopy \
|
||||
canonicalize_file_name \
|
||||
endgrent \
|
||||
endpwent \
|
||||
fchdir \
|
||||
@@ -176,9 +182,9 @@ AC_DEFUN(jm_MACROS,
|
||||
LIBS="$ac_seq_save_LIBS"
|
||||
])
|
||||
|
||||
jm_LANGINFO_CODESET
|
||||
AM_LANGINFO_CODESET
|
||||
jm_GLIBC21
|
||||
jm_ICONV
|
||||
AM_ICONV
|
||||
jm_FUNC_UNLINK_BUSY_TEXT
|
||||
|
||||
# These tests are for df.
|
||||
@@ -197,7 +203,7 @@ AC_DEFUN(jm_MACROS,
|
||||
# These tests must be run before any use of AC_CHECK_TYPE,
|
||||
# because that macro compiles code that tests e.g., HAVE_UNISTD_H.
|
||||
# See the definition of ac_includes_default in `configure'.
|
||||
AC_DEFUN(jm_CHECK_ALL_HEADERS,
|
||||
AC_DEFUN([jm_CHECK_ALL_HEADERS],
|
||||
[
|
||||
AC_CHECK_HEADERS( \
|
||||
errno.h \
|
||||
@@ -241,7 +247,7 @@ AC_DEFUN(jm_CHECK_ALL_HEADERS,
|
||||
])
|
||||
|
||||
# This macro must be invoked before any tests that run the compiler.
|
||||
AC_DEFUN(jm_CHECK_ALL_TYPES,
|
||||
AC_DEFUN([jm_CHECK_ALL_TYPES],
|
||||
[
|
||||
# FIXME: I shouldn't have to require this macro here. Rather, it should
|
||||
# be required by any autoconf macro that performs a compile-time test or
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
#serial 7
|
||||
#serial 8
|
||||
|
||||
dnl From Jim Meyering.
|
||||
dnl A wrapper around AC_FUNC_MKTIME.
|
||||
|
||||
AC_DEFUN(jm_FUNC_MKTIME,
|
||||
AC_DEFUN([jm_FUNC_MKTIME],
|
||||
[AC_REQUIRE([AC_FUNC_MKTIME])dnl
|
||||
|
||||
dnl mktime.c uses localtime_r if it exists. Check for it.
|
||||
AC_CHECK_FUNCS(localtime_r)
|
||||
|
||||
if test $ac_cv_func_working_mktime = no; then
|
||||
AC_DEFINE_UNQUOTED(mktime, rpl_mktime,
|
||||
AC_DEFINE(mktime, rpl_mktime,
|
||||
[Define to rpl_mktime if the replacement function should be used.])
|
||||
fi
|
||||
])
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
dnl From Jim Meyering.
|
||||
#serial 3
|
||||
AC_DEFUN(jm_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
|
||||
#serial 4
|
||||
AC_DEFUN([jm_HEADER_TIOCGWINSZ_IN_TERMIOS_H],
|
||||
[AC_REQUIRE([AM_SYS_POSIX_TERMIOS])
|
||||
AC_CACHE_CHECK([whether use of TIOCGWINSZ requires termios.h],
|
||||
jm_cv_sys_tiocgwinsz_needs_termios_h,
|
||||
@@ -18,7 +18,7 @@ AC_DEFUN(jm_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
|
||||
])
|
||||
])
|
||||
|
||||
AC_DEFUN(jm_WINSIZE_IN_PTEM,
|
||||
AC_DEFUN([jm_WINSIZE_IN_PTEM],
|
||||
[AC_CHECK_HEADER([sys/ptem.h],
|
||||
AC_DEFINE(WINSIZE_IN_PTEM, 1,
|
||||
[Define if your system defines `struct winsize' in sys/ptem.h.]))
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user