Upgraded gettext.

Fixed accidental dependency on libgcrypt 1.3.0.
This commit is contained in:
Werner Koch 2007-05-07 19:49:12 +00:00
parent 174521f8da
commit d5052fd228
82 changed files with 11894 additions and 10538 deletions

484
ABOUT-NLS
View File

@ -172,14 +172,14 @@ get started, please write to `translation@iro.umontreal.ca' to reach the
coordinator for all translator teams. coordinator for all translator teams.
The English team is special. It works at improving and uniformizing The English team is special. It works at improving and uniformizing
the terminology in use. Proven linguistic skill are praised more than the terminology in use. Proven linguistic skills are praised more than
programming skill, here. programming skills, here.
1.5 Available Packages 1.5 Available Packages
====================== ======================
Languages are not equally supported in all packages. The following Languages are not equally supported in all packages. The following
matrix shows the current state of internationalization, as of July matrix shows the current state of internationalization, as of October
2006. The matrix shows, in regard of each package, for which languages 2006. The matrix shows, in regard of each package, for which languages
PO files have been submitted to translation coordination, with a PO files have been submitted to translation coordination, with a
translation percentage of at least 50%. translation percentage of at least 50%.
@ -192,19 +192,19 @@ translation percentage of at least 50%.
ant-phone | () | ant-phone | () |
anubis | [] | anubis | [] |
ap-utils | | ap-utils | |
aspell | [] [] [] [] | aspell | [] [] [] [] [] |
bash | [] [] [] | bash | [] [] [] |
batchelor | [] | batchelor | [] |
bfd | | bfd | |
bibshelf | [] | bibshelf | [] |
binutils | [] | binutils | [] |
bison | [] [] | bison | [] [] |
bison-runtime | [] | bison-runtime | |
bluez-pin | [] [] [] [] [] | bluez-pin | [] [] [] [] [] |
cflow | [] | cflow | [] |
clisp | [] [] | clisp | [] [] |
console-tools | [] [] | console-tools | [] [] |
coreutils | [] [] [] [] | coreutils | [] [] [] |
cpio | | cpio | |
cpplib | [] [] [] | cpplib | [] [] [] |
cryptonit | [] | cryptonit | [] |
@ -242,7 +242,7 @@ translation percentage of at least 50%.
gnutls | | gnutls | |
gpe-aerial | [] [] | gpe-aerial | [] [] |
gpe-beam | [] [] | gpe-beam | [] [] |
gpe-calendar | [] [] | gpe-calendar | |
gpe-clock | [] [] | gpe-clock | [] [] |
gpe-conf | [] [] | gpe-conf | [] [] |
gpe-contacts | | gpe-contacts | |
@ -270,19 +270,17 @@ translation percentage of at least 50%.
gst-plugins-base | [] [] [] | gst-plugins-base | [] [] [] |
gst-plugins-good | [] [] [] [] [] [] [] | gst-plugins-good | [] [] [] [] [] [] [] |
gstreamer | [] [] [] [] [] [] [] | gstreamer | [] [] [] [] [] [] [] |
gtick | [] () | gtick | () |
gtkam | [] [] [] | gtkam | [] [] [] |
gtkorphan | [] [] | gtkorphan | [] [] |
gtkspell | [] [] [] [] | gtkspell | [] [] [] [] |
gutenprint | [] | gutenprint | [] |
hello | [] [] [] [] [] | hello | [] [] [] [] [] |
id-utils | [] [] | id-utils | [] [] |
impost | | impost | |
indent | [] [] [] | indent | [] [] [] |
iso_3166 | [] [] | iso_3166 | [] [] |
iso_3166_1 | [] [] [] [] [] |
iso_3166_2 | | iso_3166_2 | |
iso_3166_3 | [] |
iso_4217 | [] | iso_4217 | [] |
iso_639 | [] [] | iso_639 | [] [] |
jpilot | [] | jpilot | [] |
@ -315,7 +313,7 @@ translation percentage of at least 50%.
man-db | [] () [] [] | man-db | [] () [] [] |
minicom | [] [] [] | minicom | [] [] [] |
mysecretdiary | [] [] | mysecretdiary | [] [] |
nano | [] [] () [] | nano | [] [] [] |
nano_1_0 | [] () [] [] | nano_1_0 | [] () [] [] |
opcodes | [] | opcodes | [] |
parted | | parted | |
@ -331,7 +329,7 @@ translation percentage of at least 50%.
scrollkeeper | [] [] [] [] [] [] [] [] | scrollkeeper | [] [] [] [] [] [] [] [] |
sed | [] [] [] | sed | [] [] [] |
sh-utils | [] [] | sh-utils | [] [] |
shared-mime-info | [] [] [] | shared-mime-info | [] [] [] [] |
sharutils | [] [] [] [] [] [] | sharutils | [] [] [] [] [] [] |
shishi | | shishi | |
silky | | silky | |
@ -355,12 +353,12 @@ translation percentage of at least 50%.
wastesedge | () | wastesedge | () |
wdiff | [] [] [] [] | wdiff | [] [] [] [] |
wget | [] [] | wget | [] [] |
xchat | [] [] [] [] [] | xchat | [] [] [] [] [] [] |
xkeyboard-config | | xkeyboard-config | |
xpad | [] [] | xpad | [] [] |
+----------------------------------------------------+ +----------------------------------------------------+
af am ar az be bg bs ca cs cy da de el en en_GB eo af am ar az be bg bs ca cs cy da de el en en_GB eo
11 0 1 2 8 21 1 42 43 2 62 99 18 1 16 16 10 0 1 2 9 22 1 42 41 2 60 95 16 1 17 16
es et eu fa fi fr ga gl gu he hi hr hu id is it es et eu fa fi fr ga gl gu he hi hr hu id is it
+--------------------------------------------------+ +--------------------------------------------------+
@ -379,7 +377,7 @@ translation percentage of at least 50%.
bison | [] [] [] [] [] [] | bison | [] [] [] [] [] [] |
bison-runtime | [] [] [] [] [] | bison-runtime | [] [] [] [] [] |
bluez-pin | [] [] [] [] [] | bluez-pin | [] [] [] [] [] |
cflow | | cflow | [] |
clisp | [] [] | clisp | [] [] |
console-tools | | console-tools | |
coreutils | [] [] [] [] [] [] | coreutils | [] [] [] [] [] [] |
@ -403,7 +401,7 @@ translation percentage of at least 50%.
gbiff | [] | gbiff | [] |
gcal | [] [] | gcal | [] [] |
gcc | [] | gcc | [] |
gettext-examples | [] [] [] [] [] | gettext-examples | [] [] [] [] [] [] |
gettext-runtime | [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] |
gettext-tools | [] [] [] | gettext-tools | [] [] [] |
gimp-print | [] [] | gimp-print | [] [] |
@ -420,7 +418,7 @@ translation percentage of at least 50%.
gnutls | | gnutls | |
gpe-aerial | [] [] | gpe-aerial | [] [] |
gpe-beam | [] [] | gpe-beam | [] [] |
gpe-calendar | [] [] [] [] | gpe-calendar | |
gpe-clock | [] [] [] [] | gpe-clock | [] [] [] [] |
gpe-conf | [] | gpe-conf | [] |
gpe-contacts | [] [] | gpe-contacts | [] [] |
@ -442,13 +440,13 @@ translation percentage of at least 50%.
gramadoir | [] [] | gramadoir | [] [] |
grep | [] [] [] [] [] [] [] [] [] [] [] [] | grep | [] [] [] [] [] [] [] [] [] [] [] [] |
gretl | [] [] [] | gretl | [] [] [] |
gsasl | [] | gsasl | [] [] |
gss | [] | gss | [] |
gst-plugins | [] [] [] | gst-plugins | [] [] [] |
gst-plugins-base | [] [] | gst-plugins-base | [] [] |
gst-plugins-good | [] [] [] | gst-plugins-good | [] [] [] |
gstreamer | [] [] [] | gstreamer | [] [] [] |
gtick | [] [] [] [] [] | gtick | [] |
gtkam | [] [] [] [] | gtkam | [] [] [] [] |
gtkorphan | [] [] | gtkorphan | [] [] |
gtkspell | [] [] [] [] [] [] | gtkspell | [] [] [] [] [] [] |
@ -458,9 +456,7 @@ translation percentage of at least 50%.
impost | [] [] | impost | [] [] |
indent | [] [] [] [] [] [] [] [] [] [] | indent | [] [] [] [] [] [] [] [] [] [] |
iso_3166 | [] [] [] | iso_3166 | [] [] [] |
iso_3166_1 | [] [] [] [] [] [] [] |
iso_3166_2 | [] | iso_3166_2 | [] |
iso_3166_3 | [] |
iso_4217 | [] [] [] [] | iso_4217 | [] [] [] [] |
iso_639 | [] [] [] [] [] | iso_639 | [] [] [] [] [] |
jpilot | [] [] | jpilot | [] [] |
@ -481,7 +477,7 @@ translation percentage of at least 50%.
libgphoto2 | [] [] [] | libgphoto2 | [] [] [] |
libgphoto2_port | [] [] | libgphoto2_port | [] [] |
libgsasl | [] [] | libgsasl | [] [] |
libiconv | [] | libiconv | [] [] |
libidn | [] [] | libidn | [] [] |
lifelines | () | lifelines | () |
lilypond | [] | lilypond | [] |
@ -493,7 +489,7 @@ translation percentage of at least 50%.
man-db | () | man-db | () |
minicom | [] [] [] [] | minicom | [] [] [] [] |
mysecretdiary | [] [] [] | mysecretdiary | [] [] [] |
nano | [] () [] [] [] [] | nano | [] [] [] [] [] [] |
nano_1_0 | [] [] [] [] [] | nano_1_0 | [] [] [] [] [] |
opcodes | [] [] [] [] | opcodes | [] [] [] [] |
parted | [] [] [] [] | parted | [] [] [] [] |
@ -501,7 +497,7 @@ translation percentage of at least 50%.
psmisc | [] [] [] | psmisc | [] [] [] |
pwdutils | | pwdutils | |
python | | python | |
qof | | qof | [] |
radius | [] [] | radius | [] [] |
recode | [] [] [] [] [] [] [] [] | recode | [] [] [] [] [] [] [] [] |
rpm | [] [] | rpm | [] [] |
@ -520,7 +516,7 @@ translation percentage of at least 50%.
sp | [] | sp | [] |
stardict | [] | stardict | [] |
system-tools-ba... | [] [] [] [] [] [] [] [] | system-tools-ba... | [] [] [] [] [] [] [] [] |
tar | [] [] [] [] [] [] | tar | [] [] [] [] [] [] [] |
texinfo | [] [] | texinfo | [] [] |
textutils | [] [] [] [] [] | textutils | [] [] [] [] [] |
tin | [] () | tin | [] () |
@ -538,185 +534,183 @@ translation percentage of at least 50%.
xpad | [] [] [] | xpad | [] [] [] |
+--------------------------------------------------+ +--------------------------------------------------+
es et eu fa fi fr ga gl gu he hi hr hu id is it es et eu fa fi fr ga gl gu he hi hr hu id is it
89 21 16 2 41 119 61 14 1 8 1 6 61 30 0 53 88 22 14 2 40 115 61 14 1 8 1 6 59 31 0 52
ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no
+--------------------------------------------------+ +-------------------------------------------------+
GNUnet | | GNUnet | |
a2ps | () [] [] () | a2ps | () [] [] () |
aegis | () | aegis | () |
ant-phone | [] | ant-phone | [] |
anubis | [] [] [] | anubis | [] [] [] |
ap-utils | [] | ap-utils | [] |
aspell | [] [] | aspell | [] [] |
bash | [] | bash | [] |
batchelor | [] [] | batchelor | [] [] |
bfd | | bfd | |
bibshelf | [] | bibshelf | [] |
binutils | | binutils | |
bison | [] [] [] | bison | [] [] [] |
bison-runtime | [] [] [] | bison-runtime | [] [] [] |
bluez-pin | [] [] [] | bluez-pin | [] [] [] |
cflow | | cflow | |
clisp | [] | clisp | [] |
console-tools | | console-tools | |
coreutils | [] | coreutils | [] |
cpio | | cpio | |
cpplib | [] | cpplib | [] |
cryptonit | [] | cryptonit | [] |
darkstat | [] [] | darkstat | [] [] |
dialog | [] [] | dialog | [] [] |
diffutils | [] [] [] | diffutils | [] [] [] |
doodle | | doodle | |
e2fsprogs | [] | e2fsprogs | [] |
enscript | [] | enscript | [] |
error | [] | error | [] |
fetchmail | [] [] | fetchmail | [] [] |
fileutils | [] [] | fileutils | [] [] |
findutils | [] | findutils | [] |
flex | [] [] | flex | [] [] |
fslint | [] [] | fslint | [] [] |
gas | | gas | |
gawk | [] [] | gawk | [] [] |
gbiff | [] | gbiff | [] |
gcal | | gcal | |
gcc | | gcc | |
gettext-examples | [] [] | gettext-examples | [] [] |
gettext-runtime | [] [] [] | gettext-runtime | [] [] [] |
gettext-tools | [] [] | gettext-tools | [] [] |
gimp-print | [] [] | gimp-print | [] [] |
gip | [] [] | gip | [] [] |
gliv | [] | gliv | [] |
glunarclock | [] [] | glunarclock | [] [] |
gmult | [] [] | gmult | [] [] |
gnubiff | | gnubiff | |
gnucash | () () | gnucash | () () |
gnucash-glossary | [] | gnucash-glossary | [] |
gnuedu | | gnuedu | |
gnulib | [] [] [] [] | gnulib | [] [] [] [] |
gnunet-gtk | | gnunet-gtk | |
gnutls | | gnutls | |
gpe-aerial | [] | gpe-aerial | [] |
gpe-beam | [] | gpe-beam | [] |
gpe-calendar | [] | gpe-calendar | [] |
gpe-clock | [] [] | gpe-clock | [] [] [] |
gpe-conf | [] [] | gpe-conf | [] [] |
gpe-contacts | [] | gpe-contacts | [] |
gpe-edit | [] [] | gpe-edit | [] [] [] |
gpe-filemanager | [] | gpe-filemanager | [] [] |
gpe-go | [] [] | gpe-go | [] [] [] |
gpe-login | [] [] | gpe-login | [] [] [] |
gpe-ownerinfo | [] | gpe-ownerinfo | [] [] |
gpe-package | [] | gpe-package | [] [] |
gpe-sketchbook | [] [] | gpe-sketchbook | [] [] |
gpe-su | [] [] | gpe-su | [] [] [] |
gpe-taskmanager | [] [] [] | gpe-taskmanager | [] [] [] [] |
gpe-timesheet | [] | gpe-timesheet | [] |
gpe-today | [] | gpe-today | [] [] |
gpe-todo | | gpe-todo | [] |
gphoto2 | [] [] | gphoto2 | [] [] |
gprof | | gprof | |
gpsdrive | () () () | gpsdrive | () () () |
gramadoir | () | gramadoir | () |
grep | [] [] [] | grep | [] [] [] [] |
gretl | | gretl | |
gsasl | [] | gsasl | [] |
gss | | gss | |
gst-plugins | [] | gst-plugins | [] |
gst-plugins-base | | gst-plugins-base | |
gst-plugins-good | [] | gst-plugins-good | [] |
gstreamer | [] | gstreamer | [] |
gtick | [] | gtick | |
gtkam | [] | gtkam | [] |
gtkorphan | [] | gtkorphan | [] |
gtkspell | [] [] | gtkspell | [] [] |
gutenprint | | gutenprint | |
hello | [] [] [] [] [] [] [] [] | hello | [] [] [] [] [] [] |
id-utils | [] | id-utils | [] |
impost | | impost | |
indent | [] [] | indent | [] [] |
iso_3166 | [] | iso_3166 | [] |
iso_3166_1 | [] [] | iso_3166_2 | [] |
iso_3166_2 | [] | iso_4217 | [] [] [] |
iso_3166_3 | [] | iso_639 | [] [] |
iso_4217 | [] [] [] | jpilot | () () () |
iso_639 | [] [] | jtag | |
jpilot | () () () | jwhois | [] |
jtag | | kbd | [] |
jwhois | [] | keytouch | [] |
kbd | [] | keytouch-editor | |
keytouch | [] | keytouch-keyboa... | |
keytouch-editor | | latrine | [] |
keytouch-keyboa... | | ld | |
latrine | [] | leafpad | [] [] |
ld | | libc | [] [] [] [] [] |
leafpad | [] [] | libexif | |
libc | [] [] [] [] [] | libextractor | |
libexif | | libgpewidget | [] |
libextractor | | libgpg-error | |
libgpewidget | [] | libgphoto2 | [] |
libgpg-error | | libgphoto2_port | [] |
libgphoto2 | [] | libgsasl | [] |
libgphoto2_port | [] | libiconv | |
libgsasl | [] | libidn | [] [] |
libiconv | | lifelines | [] |
libidn | [] [] | lilypond | |
lifelines | [] | lingoteach | [] |
lilypond | | lynx | [] [] |
lingoteach | [] | m4 | [] [] |
lynx | [] [] | mailutils | |
m4 | [] [] | make | [] [] [] |
mailutils | | man-db | () |
make | [] [] [] | minicom | [] |
man-db | () | mysecretdiary | [] |
minicom | [] | nano | [] [] [] |
mysecretdiary | [] | nano_1_0 | [] [] [] |
nano | [] [] [] | opcodes | [] |
nano_1_0 | [] [] [] | parted | [] [] |
opcodes | [] | pilot-qof | |
parted | [] [] | psmisc | [] [] [] |
pilot-qof | | pwdutils | |
psmisc | [] [] [] | python | |
pwdutils | | qof | |
python | | radius | |
qof | | recode | [] |
radius | | rpm | [] [] |
recode | [] | screem | [] |
rpm | [] [] | scrollkeeper | [] [] [] [] |
screem | [] | sed | [] [] |
scrollkeeper | [] [] [] [] | sh-utils | [] [] |
sed | [] [] | shared-mime-info | [] [] [] [] [] |
sh-utils | [] [] | sharutils | [] [] |
shared-mime-info | [] [] [] [] [] | shishi | |
sharutils | [] [] | silky | [] |
shishi | | skencil | |
silky | [] | sketch | |
skencil | | solfege | |
sketch | | soundtracker | |
solfege | | sp | () |
soundtracker | | stardict | [] [] |
sp | () | system-tools-ba... | [] [] [] [] |
stardict | [] [] | tar | [] [] [] |
system-tools-ba... | [] [] [] [] | texinfo | [] [] [] |
tar | [] [] [] | textutils | [] [] [] |
texinfo | [] [] [] | tin | |
textutils | [] [] [] | tp-robot | [] |
tin | | tuxpaint | [] |
tp-robot | [] | unicode-han-tra... | |
tuxpaint | [] | unicode-transla... | |
unicode-han-tra... | | util-linux | [] [] |
unicode-transla... | | vorbis-tools | [] |
util-linux | [] [] | wastesedge | [] |
vorbis-tools | [] | wdiff | [] [] |
wastesedge | [] | wget | [] [] |
wdiff | [] [] | xchat | [] [] [] [] |
wget | [] [] | xkeyboard-config | [] |
xchat | [] [] [] [] | xpad | [] [] [] |
xkeyboard-config | [] | +-------------------------------------------------+
xpad | [] [] [] | ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no
+--------------------------------------------------+ 52 24 2 2 1 3 0 2 3 21 0 15 1 97 5 1
ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no
40 24 2 1 1 3 1 2 3 21 0 15 1 101 5 3
nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta
+------------------------------------------------------+ +------------------------------------------------------+
@ -776,7 +770,7 @@ translation percentage of at least 50%.
gnutls | [] [] | gnutls | [] [] |
gpe-aerial | [] [] [] [] [] [] [] | gpe-aerial | [] [] [] [] [] [] [] |
gpe-beam | [] [] [] [] [] [] [] | gpe-beam | [] [] [] [] [] [] [] |
gpe-calendar | [] [] [] [] [] [] [] [] | gpe-calendar | [] |
gpe-clock | [] [] [] [] [] [] [] [] | gpe-clock | [] [] [] [] [] [] [] [] |
gpe-conf | [] [] [] [] [] [] [] | gpe-conf | [] [] [] [] [] [] [] |
gpe-contacts | [] [] [] [] [] | gpe-contacts | [] [] [] [] [] |
@ -798,13 +792,13 @@ translation percentage of at least 50%.
gramadoir | [] [] | gramadoir | [] [] |
grep | [] [] [] [] [] [] [] [] | grep | [] [] [] [] [] [] [] [] |
gretl | [] | gretl | [] |
gsasl | [] [] | gsasl | [] [] [] |
gss | [] [] [] | gss | [] [] [] |
gst-plugins | [] [] [] [] | gst-plugins | [] [] [] [] |
gst-plugins-base | [] | gst-plugins-base | [] |
gst-plugins-good | [] [] [] [] | gst-plugins-good | [] [] [] [] |
gstreamer | [] [] [] | gstreamer | [] [] [] |
gtick | [] [] [] | gtick | [] |
gtkam | [] [] [] [] | gtkam | [] [] [] [] |
gtkorphan | [] | gtkorphan | [] |
gtkspell | [] [] [] [] [] [] [] [] | gtkspell | [] [] [] [] [] [] [] [] |
@ -814,9 +808,7 @@ translation percentage of at least 50%.
impost | [] | impost | [] |
indent | [] [] [] [] [] [] | indent | [] [] [] [] [] [] |
iso_3166 | [] [] [] [] [] [] | iso_3166 | [] [] [] [] [] [] |
iso_3166_1 | [] [] [] [] |
iso_3166_2 | | iso_3166_2 | |
iso_3166_3 | [] [] [] [] |
iso_4217 | [] [] [] [] | iso_4217 | [] [] [] [] |
iso_639 | [] [] [] [] | iso_639 | [] [] [] [] |
jpilot | | jpilot | |
@ -837,7 +829,7 @@ translation percentage of at least 50%.
libgphoto2 | [] | libgphoto2 | [] |
libgphoto2_port | [] [] [] | libgphoto2_port | [] [] [] |
libgsasl | [] [] [] [] | libgsasl | [] [] [] [] |
libiconv | | libiconv | [] [] |
libidn | [] [] () | libidn | [] [] () |
lifelines | [] [] | lifelines | [] [] |
lilypond | | lilypond | |
@ -849,7 +841,7 @@ translation percentage of at least 50%.
man-db | [] [] | man-db | [] [] |
minicom | [] [] [] [] [] | minicom | [] [] [] [] [] |
mysecretdiary | [] [] [] [] | mysecretdiary | [] [] [] [] |
nano | [] [] | nano | [] [] [] |
nano_1_0 | [] [] [] [] | nano_1_0 | [] [] [] [] |
opcodes | [] [] | opcodes | [] [] |
parted | [] | parted | [] |
@ -857,7 +849,7 @@ translation percentage of at least 50%.
psmisc | [] [] | psmisc | [] [] |
pwdutils | [] [] | pwdutils | [] [] |
python | | python | |
qof | [] | qof | [] [] |
radius | [] [] | radius | [] [] |
recode | [] [] [] [] [] [] [] | recode | [] [] [] [] [] [] [] |
rpm | [] [] [] [] | rpm | [] [] [] [] |
@ -894,7 +886,7 @@ translation percentage of at least 50%.
xpad | [] [] [] | xpad | [] [] [] |
+------------------------------------------------------+ +------------------------------------------------------+
nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta
0 2 3 58 31 53 5 76 72 5 42 48 12 51 130 2 0 2 3 58 30 54 5 73 72 4 40 46 11 50 128 2
tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu
+---------------------------------------------------+ +---------------------------------------------------+
@ -904,19 +896,19 @@ translation percentage of at least 50%.
ant-phone | [] [] | 6 ant-phone | [] [] | 6
anubis | [] [] [] | 11 anubis | [] [] [] | 11
ap-utils | () [] | 4 ap-utils | () [] | 4
aspell | [] [] [] | 14 aspell | [] [] [] | 15
bash | [] | 11 bash | [] | 11
batchelor | [] [] | 9 batchelor | [] [] | 9
bfd | | 1 bfd | | 1
bibshelf | [] | 7 bibshelf | [] | 7
binutils | [] [] [] | 9 binutils | [] [] [] | 9
bison | [] [] [] | 19 bison | [] [] [] | 19
bison-runtime | [] [] [] | 16 bison-runtime | [] [] [] | 15
bluez-pin | [] [] [] [] [] [] | 28 bluez-pin | [] [] [] [] [] [] | 28
cflow | [] [] | 4 cflow | [] [] | 5
clisp | | 6 clisp | | 6
console-tools | [] [] | 5 console-tools | [] [] | 5
coreutils | [] [] | 17 coreutils | [] [] | 16
cpio | [] [] [] | 9 cpio | [] [] [] | 9
cpplib | [] [] [] [] | 11 cpplib | [] [] [] [] | 11
cryptonit | | 5 cryptonit | | 5
@ -937,7 +929,7 @@ translation percentage of at least 50%.
gbiff | [] | 5 gbiff | [] | 5
gcal | [] | 5 gcal | [] | 5
gcc | [] [] [] | 6 gcc | [] [] [] | 6
gettext-examples | [] [] [] [] [] [] | 26 gettext-examples | [] [] [] [] [] [] | 27
gettext-runtime | [] [] [] [] [] [] | 28 gettext-runtime | [] [] [] [] [] [] | 28
gettext-tools | [] [] [] [] [] | 19 gettext-tools | [] [] [] [] [] | 19
gimp-print | [] [] | 12 gimp-print | [] [] | 12
@ -954,47 +946,45 @@ translation percentage of at least 50%.
gnutls | | 2 gnutls | | 2
gpe-aerial | [] [] | 14 gpe-aerial | [] [] | 14
gpe-beam | [] [] | 14 gpe-beam | [] [] | 14
gpe-calendar | [] [] [] [] | 19 gpe-calendar | [] | 3
gpe-clock | [] [] [] [] | 20 gpe-clock | [] [] [] [] | 21
gpe-conf | [] [] | 14 gpe-conf | [] [] | 14
gpe-contacts | [] [] | 10 gpe-contacts | [] [] | 10
gpe-edit | [] [] [] [] | 19 gpe-edit | [] [] [] [] | 20
gpe-filemanager | [] | 5 gpe-filemanager | [] | 6
gpe-go | [] [] | 14 gpe-go | [] [] | 15
gpe-login | [] [] [] [] [] | 20 gpe-login | [] [] [] [] [] | 21
gpe-ownerinfo | [] [] [] [] | 20 gpe-ownerinfo | [] [] [] [] | 21
gpe-package | [] | 5 gpe-package | [] | 6
gpe-sketchbook | [] [] | 16 gpe-sketchbook | [] [] | 16
gpe-su | [] [] [] | 19 gpe-su | [] [] [] | 20
gpe-taskmanager | [] [] [] | 19 gpe-taskmanager | [] [] [] | 20
gpe-timesheet | [] [] [] [] | 18 gpe-timesheet | [] [] [] [] | 18
gpe-today | [] [] [] [] [] | 20 gpe-today | [] [] [] [] [] | 21
gpe-todo | [] | 6 gpe-todo | [] | 7
gphoto2 | [] [] [] [] | 20 gphoto2 | [] [] [] [] | 20
gprof | [] [] | 11 gprof | [] [] | 11
gpsdrive | | 4 gpsdrive | | 4
gramadoir | [] | 7 gramadoir | [] | 7
grep | [] [] [] [] | 33 grep | [] [] [] [] | 34
gretl | | 4 gretl | | 4
gsasl | [] [] | 6 gsasl | [] [] | 8
gss | [] | 5 gss | [] | 5
gst-plugins | [] [] [] | 15 gst-plugins | [] [] [] | 15
gst-plugins-base | [] [] [] | 9 gst-plugins-base | [] [] [] | 9
gst-plugins-good | [] [] [] | 18 gst-plugins-good | [] [] [] [] [] | 20
gstreamer | [] [] [] | 17 gstreamer | [] [] [] | 17
gtick | [] | 11 gtick | [] | 3
gtkam | [] | 13 gtkam | [] | 13
gtkorphan | [] | 7 gtkorphan | [] | 7
gtkspell | [] [] [] [] [] [] | 26 gtkspell | [] [] [] [] [] [] | 26
gutenprint | | 3 gutenprint | | 3
hello | [] [] [] [] [] | 39 hello | [] [] [] [] [] | 37
id-utils | [] [] | 14 id-utils | [] [] | 14
impost | [] | 4 impost | [] | 4
indent | [] [] [] [] | 25 indent | [] [] [] [] | 25
iso_3166 | [] [] [] | 15 iso_3166 | [] [] [] [] | 16
iso_3166_1 | [] [] | 20
iso_3166_2 | | 2 iso_3166_2 | | 2
iso_3166_3 | [] [] | 9
iso_4217 | [] [] | 14 iso_4217 | [] [] | 14
iso_639 | [] | 14 iso_639 | [] | 14
jpilot | [] [] [] [] | 7 jpilot | [] [] [] [] | 7
@ -1003,7 +993,7 @@ translation percentage of at least 50%.
kbd | [] [] | 12 kbd | [] [] | 12
keytouch | [] | 4 keytouch | [] | 4
keytouch-editor | | 2 keytouch-editor | | 2
keytouch-keyboa... | | 2 keytouch-keyboa... | [] | 3
latrine | [] [] | 8 latrine | [] [] | 8
ld | [] [] [] [] | 8 ld | [] [] [] [] | 8
leafpad | [] [] [] [] | 23 leafpad | [] [] [] [] | 23
@ -1015,7 +1005,7 @@ translation percentage of at least 50%.
libgphoto2 | [] | 8 libgphoto2 | [] | 8
libgphoto2_port | [] [] [] | 11 libgphoto2_port | [] [] [] | 11
libgsasl | [] | 8 libgsasl | [] | 8
libiconv | [] | 4 libiconv | [] | 7
libidn | [] [] | 10 libidn | [] [] | 10
lifelines | | 4 lifelines | | 4
lilypond | | 2 lilypond | | 2
@ -1027,7 +1017,7 @@ translation percentage of at least 50%.
man-db | [] | 6 man-db | [] | 6
minicom | [] | 14 minicom | [] | 14
mysecretdiary | [] [] | 12 mysecretdiary | [] [] | 12
nano | [] [] | 15 nano | [] [] | 17
nano_1_0 | [] [] [] | 18 nano_1_0 | [] [] [] | 18
opcodes | [] [] | 10 opcodes | [] [] | 10
parted | [] [] [] | 10 parted | [] [] [] | 10
@ -1035,7 +1025,7 @@ translation percentage of at least 50%.
psmisc | [] | 10 psmisc | [] | 10
pwdutils | [] | 3 pwdutils | [] | 3
python | | 0 python | | 0
qof | [] | 2 qof | [] | 4
radius | [] | 6 radius | [] | 6
recode | [] [] [] | 25 recode | [] [] [] | 25
rpm | [] [] [] [] | 14 rpm | [] [] [] [] | 14
@ -1043,7 +1033,7 @@ translation percentage of at least 50%.
scrollkeeper | [] [] [] [] | 26 scrollkeeper | [] [] [] [] | 26
sed | [] [] [] | 22 sed | [] [] [] | 22
sh-utils | [] | 15 sh-utils | [] | 15
shared-mime-info | [] [] [] [] | 23 shared-mime-info | [] [] [] [] | 24
sharutils | [] [] [] | 23 sharutils | [] [] [] | 23
shishi | | 1 shishi | | 1
silky | [] | 4 silky | [] | 4
@ -1054,7 +1044,7 @@ translation percentage of at least 50%.
sp | [] | 3 sp | [] | 3
stardict | [] [] [] [] | 11 stardict | [] [] [] [] | 11
system-tools-ba... | [] [] [] [] [] [] [] | 37 system-tools-ba... | [] [] [] [] [] [] [] | 37
tar | [] [] [] [] | 19 tar | [] [] [] [] | 20
texinfo | [] [] [] | 15 texinfo | [] [] [] | 15
textutils | [] [] [] | 17 textutils | [] [] [] | 17
tin | | 1 tin | | 1
@ -1067,12 +1057,12 @@ translation percentage of at least 50%.
wastesedge | | 1 wastesedge | | 1
wdiff | [] [] | 22 wdiff | [] [] | 22
wget | [] [] [] | 19 wget | [] [] [] | 19
xchat | [] [] [] [] | 28 xchat | [] [] [] [] | 29
xkeyboard-config | [] [] [] [] | 11 xkeyboard-config | [] [] [] [] | 11
xpad | [] [] [] | 14 xpad | [] [] [] | 14
+---------------------------------------------------+ +---------------------------------------------------+
77 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu 77 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu
172 domains 0 1 1 78 39 0 135 13 1 50 3 54 0 2054 170 domains 0 1 1 77 39 0 136 10 1 48 5 54 0 2028
Some counters in the preceding matrix are higher than the number of 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 visible blocks let us expect. This is because a few extra PO files are
@ -1085,7 +1075,7 @@ 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 lag between the mere existence a PO file and its wide availability in a
distribution. distribution.
If July 2006 seems to be old, you may fetch a more recent copy of If October 2006 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 this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date
matrix with full percentage details can be found at matrix with full percentage details can be found at
`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'. `http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.

View File

@ -1,3 +1,15 @@
2007-05-07 Werner Koch <wk@g10code.com>
* configure.ac: Require libgcrypt 1.2.2 to avoid compiler warnings.
2007-05-07 gettextize <bug-gnu-gettext@gnu.org>
* configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.16.1.
2007-05-07 Werner Koch <wk@g10code.com>
* configure.ac: Bail out if no C-89 compiler has been found.
2007-05-04 Werner Koch <wk@g10code.com> 2007-05-04 Werner Koch <wk@g10code.com>
* Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Add --enable-mailto * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Add --enable-mailto

103
INSTALL
View File

@ -1,13 +1,19 @@
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software Installation Instructions
Foundation, Inc. *************************
This file is free documentation; the Free Software Foundation gives Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
2006 Free Software Foundation, Inc.
This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it. unlimited permission to copy, distribute and modify it.
Basic Installation Basic Installation
================== ==================
These are generic installation instructions. Briefly, the shell commands `./configure; make; make install' should
configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for
instructions specific to this package.
The `configure' shell script attempts to guess correct values for The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses various system-dependent variables used during compilation. It uses
@ -20,9 +26,9 @@ debugging `configure').
It can also use an optional file (typically called `config.cache' It can also use an optional file (typically called `config.cache'
and enabled with `--cache-file=config.cache' or simply `-C') that saves and enabled with `--cache-file=config.cache' or simply `-C') that saves
the results of its tests to speed up reconfiguring. (Caching is the results of its tests to speed up reconfiguring. Caching is
disabled by default to prevent problems with accidental use of stale disabled by default to prevent problems with accidental use of stale
cache files.) cache files.
If you need to do unusual things to compile the package, please try 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 to figure out how `configure' could check whether to do them, and mail
@ -32,20 +38,17 @@ some point `config.cache' contains results you don't want to keep, you
may remove or edit it. may remove or edit it.
The file `configure.ac' (or `configure.in') is used to create The file `configure.ac' (or `configure.in') is used to create
`configure' by a program called `autoconf'. You only need `configure' by a program called `autoconf'. You need `configure.ac' if
`configure.ac' if you want to change it or regenerate `configure' using you want to change it or regenerate `configure' using a newer version
a newer version of `autoconf'. of `autoconf'.
The simplest way to compile this package is: The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type 1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system. If you're `./configure' to configure the package for your system.
using `csh' on an old version of System V, you might need to type
`sh ./configure' instead to prevent `csh' from trying to execute
`configure' itself.
Running `configure' takes awhile. While running, it prints some Running `configure' might take a while. While running, it prints
messages telling which features it is checking for. some messages telling which features it is checking for.
2. Type `make' to compile the package. 2. Type `make' to compile the package.
@ -67,51 +70,49 @@ The simplest way to compile this package is:
Compilers and Options Compilers and Options
===================== =====================
Some systems require unusual options for compilation or linking that Some systems require unusual options for compilation or linking that the
the `configure' script does not know about. Run `./configure --help' `configure' script does not know about. Run `./configure --help' for
for details on some of the pertinent environment variables. details on some of the pertinent environment variables.
You can give `configure' initial values for configuration parameters You can give `configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here by setting variables in the command line or in the environment. Here
is an example: is an example:
./configure CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure CC=c99 CFLAGS=-g LIBS=-lposix
*Note Defining Variables::, for more details. *Note Defining Variables::, for more details.
Compiling For Multiple Architectures Compiling For Multiple Architectures
==================================== ====================================
You can compile the package for more than one kind of computer at the You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their same time, by placing the object files for each architecture in their
own directory. To do this, you must use a version of `make' that own directory. To do this, you can use GNU `make'. `cd' to the
supports the `VPATH' variable, such as GNU `make'. `cd' to the
directory where you want the object files and executables to go and run directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'. source code in the directory that `configure' is in and in `..'.
If you have to use a `make' that does not support the `VPATH' With a non-GNU `make', it is safer to compile the package for one
variable, you have to compile the package for one architecture at a architecture at a time in the source code directory. After you have
time in the source code directory. After you have installed the installed the package for one architecture, use `make distclean' before
package for one architecture, use `make distclean' before reconfiguring reconfiguring for another architecture.
for another architecture.
Installation Names Installation Names
================== ==================
By default, `make install' will install the package's files in By default, `make install' installs the package's commands under
`/usr/local/bin', `/usr/local/man', etc. You can specify an `/usr/local/bin', include files under `/usr/local/include', etc. You
installation prefix other than `/usr/local' by giving `configure' the can specify an installation prefix other than `/usr/local' by giving
option `--prefix=PATH'. `configure' the option `--prefix=PREFIX'.
You can specify separate installation prefixes for You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you architecture-specific files and architecture-independent files. If you
give `configure' the option `--exec-prefix=PATH', the package will use pass the option `--exec-prefix=PREFIX' to `configure', the package uses
PATH as the prefix for installing programs and libraries. PREFIX as the prefix for installing programs and libraries.
Documentation and other data files will still use the regular prefix. Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give In addition, if you use an unusual directory layout you can give
options like `--bindir=PATH' to specify different values for particular options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them. you can set and what kinds of files go in them.
@ -122,7 +123,7 @@ option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features Optional Features
================= =================
Some packages pay attention to `--enable-FEATURE' options to Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package. `configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The is something like `gnu-as' or `x' (for the X Window System). The
@ -137,11 +138,11 @@ you can use the `configure' options `--x-includes=DIR' and
Specifying the System Type Specifying the System Type
========================== ==========================
There may be some features `configure' cannot figure out There may be some features `configure' cannot figure out automatically,
automatically, but needs to determine by the type of machine the package but needs to determine by the type of machine the package will run on.
will run on. Usually, assuming the package is built to be run on the Usually, assuming the package is built to be run on the _same_
_same_ architectures, `configure' can figure that out, but if it prints architectures, `configure' can figure that out, but if it prints a
a message saying it cannot guess the machine type, give it the message saying it cannot guess the machine type, give it the
`--build=TYPE' option. TYPE can either be a short name for the system `--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: type, such as `sun4', or a canonical name which has the form:
@ -156,7 +157,7 @@ where SYSTEM can have one of these forms:
need to know the machine type. need to know the machine type.
If you are _building_ compiler tools for cross-compiling, you should If you are _building_ compiler tools for cross-compiling, you should
use the `--target=TYPE' option to select the type of system they will use the option `--target=TYPE' to select the type of system they will
produce code for. produce code for.
If you want to _use_ a cross compiler, that generates code for a If you want to _use_ a cross compiler, that generates code for a
@ -167,9 +168,9 @@ eventually be run) with `--host=TYPE'.
Sharing Defaults Sharing Defaults
================ ================
If you want to set default values for `configure' scripts to share, If you want to set default values for `configure' scripts to share, you
you can create a site shell script called `config.site' that gives can create a site shell script called `config.site' that gives default
default values for variables like `CC', `cache_file', and `prefix'. values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then `configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the `PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script. `CONFIG_SITE' environment variable to the location of the site script.
@ -178,7 +179,7 @@ A warning: not all `configure' scripts look for a site script.
Defining Variables Defining Variables
================== ==================
Variables not defined in a site shell script can be set in the Variables not defined in a site shell script can be set in the
environment passed to `configure'. However, some packages may run environment passed to `configure'. However, some packages may run
configure again during the build, and the customized values of these configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set variables may be lost. In order to avoid this problem, you should set
@ -186,14 +187,18 @@ them in the `configure' command line, using `VAR=value'. For example:
./configure CC=/usr/local2/bin/gcc ./configure CC=/usr/local2/bin/gcc
will cause the specified gcc to be used as the C compiler (unless it is causes the specified `gcc' to be used as the C compiler (unless it is
overridden in the site shell script). overridden in the site shell script).
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
an Autoconf bug. Until the bug is fixed you can use this workaround:
CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
`configure' Invocation `configure' Invocation
====================== ======================
`configure' recognizes the following options to control how it `configure' recognizes the following options to control how it operates.
operates.
`--help' `--help'
`-h' `-h'

15
TODO
View File

@ -24,8 +24,6 @@
** Implement --default-key ** Implement --default-key
** support the anyPolicy semantic ** support the anyPolicy semantic
** Check that we are really following the verification procedures in rfc3280. ** Check that we are really following the verification procedures in rfc3280.
** Implement a --card-status command.
This is useful to check whether a card is supported at all.
* sm/keydb.c * sm/keydb.c
@ -42,7 +40,6 @@
** Make sure that secure memory is used where appropriate ** Make sure that secure memory is used where appropriate
* agent/pkdecrypt.c, agent/pksign.c * agent/pkdecrypt.c, agent/pksign.c
** Don't use stdio to return results.
** Support DSA ** Support DSA
* Move pkcs-1 encoding into libgcrypt. * Move pkcs-1 encoding into libgcrypt.
@ -105,19 +102,18 @@
versions of libgcrypt. versions of libgcrypt.
** GCRY_MD_USER ** GCRY_MD_USER
Remove these definitions. Remove these definitions.
** MY_GCRY_PK_ECDSA
Removed this.
* Extend selinux support to other modules * Extend selinux support to other modules
* Remove -sat PGP2 compatibility hack * Remove -sat PGP2 compatibility hack
* gnupg14/mpi: rsa_verify
Is this is optimized for a 160 bit hash?
* Cleanup m4/ on next gettext update * Cleanup m4/ on next gettext update
There is at least one couple of duplicate files: inttype[_-]h.m4. There is at least one couple of duplicate files: inttype[_-]h.m4.
* UTF-8 * UTF-8
UTF-8 specific TODO. (UTF-8 specific TODO0
* Pinpad Reader * Pinpad Reader
We do not yet support P15 applications. The trivial thing using We do not yet support P15 applications. The trivial thing using
@ -129,7 +125,6 @@
scdaemon stays as a zombie and gpg-agent does not perform any more scdaemon stays as a zombie and gpg-agent does not perform any more
commands. commands.
* configure check
** Update autoconf and use AC_PROG_CC_C89
to make sure that a compiant compiler is used

View File

@ -163,7 +163,7 @@ q
automake_vers_num=`echo "$automake_vers" | cvtver` automake_vers_num=`echo "$automake_vers" | cvtver`
gettext_vers=`sed -n '/^AM_GNU_GETTEXT_VERSION(/ { gettext_vers=`sed -n '/^AM_GNU_GETTEXT_VERSION(/ {
s/^.*(\(.*\))/\1/p s/^.*\[\(.*\)])/\1/p
q q
}' ${configure_ac}` }' ${configure_ac}`
gettext_vers_num=`echo "$gettext_vers" | cvtver` gettext_vers_num=`echo "$gettext_vers" | cvtver`

View File

@ -1,3 +1,8 @@
2007-05-07 Werner Koch <wk@g10code.com>
* signal.c (got_fatal_signal): Protect SIG from being clobbered by
a faulty signal implementaion. Suggested by James Juran.
2007-04-25 Werner Koch <wk@g10code.com> 2007-04-25 Werner Koch <wk@g10code.com>
* i18n.h (ngettext): New. * i18n.h (ngettext): New.

View File

@ -92,9 +92,9 @@ got_fatal_signal (int sig)
const char *s; const char *s;
if (caught_fatal_sig) if (caught_fatal_sig)
raise (sig); raise (sig);
caught_fatal_sig = 1; caught_fatal_sig = 1;
if (cleanup_fnc) if (cleanup_fnc)
cleanup_fnc (); cleanup_fnc ();
/* Better don't translate these messages. */ /* Better don't translate these messages. */
@ -109,21 +109,25 @@ got_fatal_signal (int sig)
else else
{ {
/* We are in a signal handler so we can't use any kind of printf /* We are in a signal handler so we can't use any kind of printf
even not sprintf. USe a straightforward algorithm. */ even not sprintf. So we use a straightforward algorithm. We
got a report that on one particular system, raising a signal
while in this handler, the parameter SIG get sclobbered and
things are messed up because we modify its value. Although
this is a bug in that system, we will protect against it. */
if (sig < 0 || sig >= 100000) if (sig < 0 || sig >= 100000)
write (2, "?", 1); write (2, "?", 1);
else else
{ {
int i, any=0; int i, value, any=0;
for (i=10000; i; i /= 10) for (value=sig,i=10000; i; i /= 10)
{ {
if (sig >= i || ((any || i==1) && !(sig/i))) if (value >= i || ((any || i==1) && !(value/i)))
{ {
write (2, "0123456789"+(sig/i), 1); write (2, "0123456789"+(value/i), 1);
if ((sig/i)) if ((value/i))
any = 1; any = 1;
sig %= i; value %= i;
} }
} }
} }

View File

@ -1,4 +1,4 @@
# configure.ac - for GnuPG 1.9 # configure.ac - for GnuPG 2.0
# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, # Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
# 2006, 2007 Free Software Foundation, Inc. # 2006, 2007 Free Software Foundation, Inc.
# #
@ -20,7 +20,7 @@
# USA. # USA.
# Process this file with autoconf to produce a configure script. # Process this file with autoconf to produce a configure script.
AC_PREREQ(2.60) AC_PREREQ(2.61)
min_automake_version="1.10" min_automake_version="1.10"
# Remember to change the version number immediately *after* a release. # Remember to change the version number immediately *after* a release.
@ -42,7 +42,7 @@ development_version=no
NEED_GPG_ERROR_VERSION=1.4 NEED_GPG_ERROR_VERSION=1.4
NEED_LIBGCRYPT_API=1 NEED_LIBGCRYPT_API=1
NEED_LIBGCRYPT_VERSION=1.2.0 NEED_LIBGCRYPT_VERSION=1.2.2
NEED_LIBASSUAN_API=1 NEED_LIBASSUAN_API=1
NEED_LIBASSUAN_VERSION=0.9.3 NEED_LIBASSUAN_VERSION=0.9.3
@ -446,6 +446,9 @@ AC_PROG_AWK
AC_PROG_CC AC_PROG_CC
AC_PROG_CPP AC_PROG_CPP
AM_PROG_CC_C_O AM_PROG_CC_C_O
if test "x$ac_cv_prog_cc_c89" = "xno" ; then
AC_MSG_ERROR([[No C-89 compiler found]])
fi
AC_PROG_INSTALL AC_PROG_INSTALL
AC_PROG_LN_S AC_PROG_LN_S
AC_PROG_RANLIB AC_PROG_RANLIB
@ -855,7 +858,7 @@ AC_DEFINE_UNQUOTED(PRINTABLE_OS_NAME, "$PRINTABLE_OS_NAME",
# #
# Check for gettext # Check for gettext
# #
AM_GNU_GETTEXT_VERSION([0.15]) AM_GNU_GETTEXT_VERSION([0.16.1])
if test "$try_gettext" = yes; then if test "$try_gettext" = yes; then
AM_GNU_GETTEXT(,[need-ngettext]) AM_GNU_GETTEXT(,[need-ngettext])

View File

@ -1,3 +1,7 @@
2007-05-07 Werner Koch <wk@g10code.com>
* openfile.c (open_outfile, overwrite_filep) [W32]: Use "/dev/nul".
2007-05-02 David Shaw <dshaw@jabberwocky.com> 2007-05-02 David Shaw <dshaw@jabberwocky.com>
* packet.h, mainproc.c (reset_literals_seen): New function to * packet.h, mainproc.c (reset_literals_seen): New function to

View File

@ -77,6 +77,10 @@ overwrite_filep( const char *fname )
if ( !strcmp ( fname, "/dev/null" ) ) if ( !strcmp ( fname, "/dev/null" ) )
return 1; /* does not do any harm */ return 1; /* does not do any harm */
#endif #endif
#ifdef HAVE_W32_SYSTEM
if ( !strcmp ( fname, "/dev/nul" ) )
return 1;
#endif
/* fixme: add some backup stuff in case of overwrite */ /* fixme: add some backup stuff in case of overwrite */
if( opt.answer_yes ) if( opt.answer_yes )
@ -196,8 +200,14 @@ open_outfile( const char *iname, int mode, IOBUF *a )
char *buf = NULL; char *buf = NULL;
const char *name; const char *name;
if( opt.dry_run ) if ( opt.dry_run )
name = "/dev/null"; {
#ifdef HAVE_W32_SYSTEM
name = "/dev/nul";
#else
name = "/dev/null";
#endif
}
else if( opt.outfile ) else if( opt.outfile )
name = opt.outfile; name = opt.outfile;
else { else {

View File

@ -1,4 +1,4 @@
2006-07-21 GNU <bug-gnu-gettext@gnu.org> 2006-11-27 GNU <bug-gnu-gettext@gnu.org>
* Version 0.15 released. * Version 0.16.1 released.

View File

@ -51,7 +51,17 @@ subdir = intl
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
mkinstalldirs = @install_sh@ -d
# We use $(mkdir_p).
# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
# @install_sh@ does not start with $(SHELL), so we add it.
# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
# versions, $(mkinstalldirs) and $(install_sh) are unused.
mkinstalldirs = $(SHELL) @install_sh@ -d
install_sh = $(SHELL) @install_sh@
MKDIR_P = @MKDIR_P@
mkdir_p = @mkdir_p@ mkdir_p = @mkdir_p@
l = @INTL_LIBTOOL_SUFFIX_PREFIX@ l = @INTL_LIBTOOL_SUFFIX_PREFIX@
@ -159,11 +169,11 @@ config.charset locale.alias ref-add.sin ref-del.sin export.h \
$(HEADERS) $(SOURCES) $(HEADERS) $(SOURCES)
DISTFILES.generated = plural.c DISTFILES.generated = plural.c
DISTFILES.normal = VERSION DISTFILES.normal = VERSION
DISTFILES.gettext = COPYING.LIB-2.0 COPYING.LIB-2.1 libintl.glibc \ DISTFILES.gettext = COPYING.LIB-2.0 COPYING.LIB-2.1 libintl.glibc README.woe32
libgnuintl.h_vms Makefile.vms \
libgnuintl.h.msvc-static libgnuintl.h.msvc-shared README.woe32 Makefile.msvc
DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.c \ DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.c \
COPYING.LIB-2 gettext.h libgettext.h plural-eval.c libgnuintl.h COPYING.LIB-2 gettext.h libgettext.h plural-eval.c libgnuintl.h \
libgnuintl.h_vms Makefile.vms libgnuintl.h.msvc-static \
libgnuintl.h.msvc-shared Makefile.msvc
all: all-@USE_INCLUDED_LIBINTL@ all: all-@USE_INCLUDED_LIBINTL@
all-yes: libintl.$la libintl.h charset.alias ref-add.sed ref-del.sed all-yes: libintl.$la libintl.h charset.alias ref-add.sed ref-del.sed
@ -190,7 +200,7 @@ libintl.la libgnuintl.la: $(OBJECTS)
# Maintainers of other packages that include the intl directory must *not* # Maintainers of other packages that include the intl directory must *not*
# change these values. # change these values.
LTV_CURRENT=8 LTV_CURRENT=8
LTV_REVISION=0 LTV_REVISION=1
LTV_AGE=0 LTV_AGE=0
.SUFFIXES: .SUFFIXES:

View File

@ -1 +1 @@
GNU gettext library from gettext-0.15 GNU gettext library from gettext-0.16.1

View File

@ -1,5 +1,5 @@
/* Determine the user's language preferences. /* Determine the user's language preferences.
Copyright (C) 2004-2005 Free Software Foundation, Inc. Copyright (C) 2004-2006 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published under the terms of the GNU Library General Public License as published
@ -35,7 +35,7 @@ extern void _nl_locale_name_canonicalize (char *name);
/* Determine the user's language preferences, as a colon separated list of /* Determine the user's language preferences, as a colon separated list of
locale names in XPG syntax locale names in XPG syntax
language[_territory[.codeset]][@modifier] language[_territory][.codeset][@modifier]
The result must not be freed; it is statically allocated. The result must not be freed; it is statically allocated.
The LANGUAGE environment variable does not need to be considered; it is The LANGUAGE environment variable does not need to be considered; it is
already taken into account by the caller. */ already taken into account by the caller. */

View File

@ -53,7 +53,7 @@ extern "C" {
/* Version number: (major<<16) + (minor<<8) + subminor */ /* Version number: (major<<16) + (minor<<8) + subminor */
#define LIBINTL_VERSION 0x000F00 #define LIBINTL_VERSION 0x001000
extern int libintl_version; extern int libintl_version;

View File

@ -19,26 +19,15 @@
/* Written by Bruno Haible <bruno@clisp.org>. */ /* Written by Bruno Haible <bruno@clisp.org>. */
#ifdef HAVE_CONFIG_H #include <config.h>
# include <config.h>
#endif
/* Specification. */ /* Specification. */
#include "localcharset.h" #include "localcharset.h"
#if HAVE_STDDEF_H #include <stddef.h>
# include <stddef.h>
#endif
#include <stdio.h> #include <stdio.h>
#if HAVE_STRING_H #include <string.h>
# include <string.h> #include <stdlib.h>
#else
# include <strings.h>
#endif
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#if defined _WIN32 || defined __WIN32__ #if defined _WIN32 || defined __WIN32__
# define WIN32_NATIVE # define WIN32_NATIVE
@ -53,7 +42,7 @@
# if HAVE_LANGINFO_CODESET # if HAVE_LANGINFO_CODESET
# include <langinfo.h> # include <langinfo.h>
# else # else
# if HAVE_SETLOCALE # if 0 /* see comment below */
# include <locale.h> # include <locale.h>
# endif # endif
# endif # endif
@ -76,6 +65,11 @@
# define relocate(pathname) (pathname) # define relocate(pathname) (pathname)
#endif #endif
/* Get LIBDIR. */
#ifndef LIBDIR
# include "configmake.h"
#endif
#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__
/* Win32, Cygwin, OS/2, DOS */ /* Win32, Cygwin, OS/2, DOS */
# define ISSLASH(C) ((C) == '/' || (C) == '\\') # define ISSLASH(C) ((C) == '/' || (C) == '\\')
@ -358,7 +352,7 @@ locale_charset (void)
(like SunOS 4 or DJGPP) have only the C locale. Therefore we don't (like SunOS 4 or DJGPP) have only the C locale. Therefore we don't
use setlocale here; it would return "C" when it doesn't support the use setlocale here; it would return "C" when it doesn't support the
locale name the user has set. */ locale name the user has set. */
# if HAVE_SETLOCALE && 0 # if 0
locale = setlocale (LC_CTYPE, NULL); locale = setlocale (LC_CTYPE, NULL);
# endif # endif
if (locale == NULL || locale[0] == '\0') if (locale == NULL || locale[0] == '\0')

View File

@ -973,12 +973,12 @@ _nl_locale_name_canonicalize (char *name)
However it does not specify the exact format. Neither do SUSV2 and However it does not specify the exact format. Neither do SUSV2 and
ISO C 99. So we can use this feature only on selected systems (e.g. ISO C 99. So we can use this feature only on selected systems (e.g.
those using GNU C Library). */ those using GNU C Library). */
#if defined _LIBC || (defined __GNU_LIBRARY__ && __GNU_LIBRARY__ >= 2) #if defined _LIBC || (defined __GLIBC__ && __GLIBC__ >= 2)
# define HAVE_LOCALE_NULL # define HAVE_LOCALE_NULL
#endif #endif
/* Determine the current locale's name, and canonicalize it into XPG syntax /* Determine the current locale's name, and canonicalize it into XPG syntax
language[_territory[.codeset]][@modifier] language[_territory][.codeset][@modifier]
The codeset part in the result is not reliable; the locale_charset() The codeset part in the result is not reliable; the locale_charset()
should be used for codeset information instead. should be used for codeset information instead.
The result must not be freed; it is statically allocated. */ The result must not be freed; it is statically allocated. */

View File

@ -1,5 +1,5 @@
/* Locking in multithreaded situations. /* Locking in multithreaded situations.
Copyright (C) 2005 Free Software Foundation, Inc. Copyright (C) 2005-2006 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published under the terms of the GNU Library General Public License as published
@ -20,9 +20,7 @@
Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h, Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h,
gthr-win32.h. */ gthr-win32.h. */
#ifdef HAVE_CONFIG_H #include <config.h>
# include <config.h>
#endif
#include "lock.h" #include "lock.h"

View File

@ -1,5 +1,5 @@
/* Locking in multithreaded situations. /* Locking in multithreaded situations.
Copyright (C) 2005 Free Software Foundation, Inc. Copyright (C) 2005-2006 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published under the terms of the GNU Library General Public License as published
@ -71,6 +71,10 @@
# include <pthread.h> # include <pthread.h>
# include <stdlib.h> # include <stdlib.h>
# ifdef __cplusplus
extern "C" {
# endif
# if PTHREAD_IN_USE_DETECTION_HARD # if PTHREAD_IN_USE_DETECTION_HARD
/* The pthread_in_use() detection needs to be done at runtime. */ /* The pthread_in_use() detection needs to be done at runtime. */
@ -356,6 +360,10 @@ typedef pthread_once_t gl_once_t;
while (0) while (0)
extern int glthread_once_singlethreaded (pthread_once_t *once_control); extern int glthread_once_singlethreaded (pthread_once_t *once_control);
# ifdef __cplusplus
}
# endif
#endif #endif
/* ========================================================================= */ /* ========================================================================= */
@ -367,6 +375,10 @@ extern int glthread_once_singlethreaded (pthread_once_t *once_control);
# include <pth.h> # include <pth.h>
# include <stdlib.h> # include <stdlib.h>
# ifdef __cplusplus
extern "C" {
# endif
# if USE_PTH_THREADS_WEAK # if USE_PTH_THREADS_WEAK
/* Use weak references to the GNU Pth threads library. */ /* Use weak references to the GNU Pth threads library. */
@ -469,6 +481,10 @@ typedef pth_once_t gl_once_t;
extern void glthread_once_call (void *arg); extern void glthread_once_call (void *arg);
extern int glthread_once_singlethreaded (pth_once_t *once_control); extern int glthread_once_singlethreaded (pth_once_t *once_control);
# ifdef __cplusplus
}
# endif
#endif #endif
/* ========================================================================= */ /* ========================================================================= */
@ -481,6 +497,10 @@ extern int glthread_once_singlethreaded (pth_once_t *once_control);
# include <synch.h> # include <synch.h>
# include <stdlib.h> # include <stdlib.h>
# ifdef __cplusplus
extern "C" {
# endif
# if USE_SOLARIS_THREADS_WEAK # if USE_SOLARIS_THREADS_WEAK
/* Use weak references to the old Solaris threads library. */ /* Use weak references to the old Solaris threads library. */
@ -601,6 +621,10 @@ typedef struct
extern void glthread_once (gl_once_t *once_control, void (*initfunction) (void)); extern void glthread_once (gl_once_t *once_control, void (*initfunction) (void));
extern int glthread_once_singlethreaded (gl_once_t *once_control); extern int glthread_once_singlethreaded (gl_once_t *once_control);
# ifdef __cplusplus
}
# endif
#endif #endif
/* ========================================================================= */ /* ========================================================================= */
@ -609,6 +633,10 @@ extern int glthread_once_singlethreaded (gl_once_t *once_control);
# include <windows.h> # include <windows.h>
# ifdef __cplusplus
extern "C" {
# endif
/* We can use CRITICAL_SECTION directly, rather than the Win32 Event, Mutex, /* We can use CRITICAL_SECTION directly, rather than the Win32 Event, Mutex,
Semaphore types, because Semaphore types, because
- we need only to synchronize inside a single process (address space), - we need only to synchronize inside a single process (address space),
@ -742,6 +770,10 @@ typedef struct
glthread_once (&NAME, INITFUNCTION) glthread_once (&NAME, INITFUNCTION)
extern void glthread_once (gl_once_t *once_control, void (*initfunction) (void)); extern void glthread_once (gl_once_t *once_control, void (*initfunction) (void));
# ifdef __cplusplus
}
# endif
#endif #endif
/* ========================================================================= */ /* ========================================================================= */

View File

@ -16,9 +16,7 @@
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */ USA. */
#ifdef HAVE_CONFIG_H #include <config.h>
# include <config.h>
#endif
/* Specification. */ /* Specification. */
#include "printf-args.h" #include "printf-args.h"
@ -59,7 +57,7 @@ printf_fetchargs (va_list args, arguments *a)
case TYPE_ULONGINT: case TYPE_ULONGINT:
ap->a.a_ulongint = va_arg (args, unsigned long int); ap->a.a_ulongint = va_arg (args, unsigned long int);
break; break;
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
case TYPE_LONGLONGINT: case TYPE_LONGLONGINT:
ap->a.a_longlongint = va_arg (args, long long int); ap->a.a_longlongint = va_arg (args, long long int);
break; break;
@ -131,7 +129,7 @@ printf_fetchargs (va_list args, arguments *a)
case TYPE_COUNT_LONGINT_POINTER: case TYPE_COUNT_LONGINT_POINTER:
ap->a.a_count_longint_pointer = va_arg (args, long int *); ap->a.a_count_longint_pointer = va_arg (args, long int *);
break; break;
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
case TYPE_COUNT_LONGLONGINT_POINTER: case TYPE_COUNT_LONGLONGINT_POINTER:
ap->a.a_count_longlongint_pointer = va_arg (args, long long int *); ap->a.a_count_longlongint_pointer = va_arg (args, long long int *);
break; break;

View File

@ -1,5 +1,5 @@
/* Decomposed printf argument list. /* Decomposed printf argument list.
Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc. Copyright (C) 1999, 2002-2003, 2006 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published under the terms of the GNU Library General Public License as published
@ -48,7 +48,7 @@ typedef enum
TYPE_UINT, TYPE_UINT,
TYPE_LONGINT, TYPE_LONGINT,
TYPE_ULONGINT, TYPE_ULONGINT,
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
TYPE_LONGLONGINT, TYPE_LONGLONGINT,
TYPE_ULONGLONGINT, TYPE_ULONGLONGINT,
#endif #endif
@ -69,7 +69,7 @@ typedef enum
TYPE_COUNT_SHORT_POINTER, TYPE_COUNT_SHORT_POINTER,
TYPE_COUNT_INT_POINTER, TYPE_COUNT_INT_POINTER,
TYPE_COUNT_LONGINT_POINTER TYPE_COUNT_LONGINT_POINTER
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
, TYPE_COUNT_LONGLONGINT_POINTER , TYPE_COUNT_LONGLONGINT_POINTER
#endif #endif
} arg_type; } arg_type;
@ -88,7 +88,7 @@ typedef struct
unsigned int a_uint; unsigned int a_uint;
long int a_longint; long int a_longint;
unsigned long int a_ulongint; unsigned long int a_ulongint;
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
long long int a_longlongint; long long int a_longlongint;
unsigned long long int a_ulonglongint; unsigned long long int a_ulonglongint;
#endif #endif
@ -110,7 +110,7 @@ typedef struct
short * a_count_short_pointer; short * a_count_short_pointer;
int * a_count_int_pointer; int * a_count_int_pointer;
long int * a_count_longint_pointer; long int * a_count_longint_pointer;
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
long long int * a_count_longlongint_pointer; long long int * a_count_longlongint_pointer;
#endif #endif
} }

View File

@ -1,5 +1,5 @@
/* Formatted output to strings. /* Formatted output to strings.
Copyright (C) 1999-2000, 2002-2003 Free Software Foundation, Inc. Copyright (C) 1999-2000, 2002-2003, 2006 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published under the terms of the GNU Library General Public License as published
@ -16,9 +16,7 @@
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */ USA. */
#ifdef HAVE_CONFIG_H #include <config.h>
# include <config.h>
#endif
/* Specification. */ /* Specification. */
#if WIDE_CHAR_VERSION #if WIDE_CHAR_VERSION
@ -385,11 +383,14 @@ PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a)
switch (c) switch (c)
{ {
case 'd': case 'i': case 'd': case 'i':
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
/* If 'long long' exists and is larger than 'long': */
if (flags >= 16 || (flags & 4)) if (flags >= 16 || (flags & 4))
type = TYPE_LONGLONGINT; type = TYPE_LONGLONGINT;
else else
#endif #endif
/* If 'long long' exists and is the same as 'long', we parse
"lld" into TYPE_LONGINT. */
if (flags >= 8) if (flags >= 8)
type = TYPE_LONGINT; type = TYPE_LONGINT;
else if (flags & 2) else if (flags & 2)
@ -400,11 +401,14 @@ PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a)
type = TYPE_INT; type = TYPE_INT;
break; break;
case 'o': case 'u': case 'x': case 'X': case 'o': case 'u': case 'x': case 'X':
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
/* If 'long long' exists and is larger than 'long': */
if (flags >= 16 || (flags & 4)) if (flags >= 16 || (flags & 4))
type = TYPE_ULONGLONGINT; type = TYPE_ULONGLONGINT;
else else
#endif #endif
/* If 'unsigned long long' exists and is the same as
'unsigned long', we parse "llu" into TYPE_ULONGINT. */
if (flags >= 8) if (flags >= 8)
type = TYPE_ULONGINT; type = TYPE_ULONGINT;
else if (flags & 2) else if (flags & 2)
@ -459,11 +463,14 @@ PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a)
type = TYPE_POINTER; type = TYPE_POINTER;
break; break;
case 'n': case 'n':
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
/* If 'long long' exists and is larger than 'long': */
if (flags >= 16 || (flags & 4)) if (flags >= 16 || (flags & 4))
type = TYPE_COUNT_LONGLONGINT_POINTER; type = TYPE_COUNT_LONGLONGINT_POINTER;
else else
#endif #endif
/* If 'long long' exists and is the same as 'long', we parse
"lln" into TYPE_COUNT_LONGINT_POINTER. */
if (flags >= 8) if (flags >= 8)
type = TYPE_COUNT_LONGINT_POINTER; type = TYPE_COUNT_LONGINT_POINTER;
else if (flags & 2) else if (flags & 2)

View File

@ -47,9 +47,16 @@ char *alloca ();
#if !HAVE_POSIX_PRINTF #if !HAVE_POSIX_PRINTF
#include <errno.h>
#include <limits.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
/* Some systems, like OSF/1 4.0 and Woe32, don't have EOVERFLOW. */
#ifndef EOVERFLOW
# define EOVERFLOW E2BIG
#endif
/* When building a DLL, we must export some functions. Note that because /* When building a DLL, we must export some functions. Note that because
the functions are only defined for binary backward compatibility, we the functions are only defined for binary backward compatibility, we
don't need to use __declspec(dllimport) in any case. */ don't need to use __declspec(dllimport) in any case. */
@ -96,9 +103,15 @@ libintl_vfprintf (FILE *stream, const char *format, va_list args)
int retval = -1; int retval = -1;
if (result != NULL) if (result != NULL)
{ {
if (fwrite (result, 1, length, stream) == length) size_t written = fwrite (result, 1, length, stream);
retval = length;
free (result); free (result);
if (written == length)
{
if (length > INT_MAX)
errno = EOVERFLOW;
else
retval = length;
}
} }
return retval; return retval;
} }
@ -152,6 +165,11 @@ libintl_vsprintf (char *resultbuf, const char *format, va_list args)
free (result); free (result);
return -1; return -1;
} }
if (length > INT_MAX)
{
errno = EOVERFLOW;
return -1;
}
else else
return length; return length;
} }
@ -194,12 +212,16 @@ libintl_vsnprintf (char *resultbuf, size_t length, const char *format, va_list a
{ {
if (maxlength > 0) if (maxlength > 0)
{ {
if (length < maxlength) size_t pruned_length =
abort (); (length < maxlength ? length : maxlength - 1);
memcpy (resultbuf, result, maxlength - 1); memcpy (resultbuf, result, pruned_length);
resultbuf[maxlength - 1] = '\0'; resultbuf[pruned_length] = '\0';
} }
free (result); free (result);
}
if (length > INT_MAX)
{
errno = EOVERFLOW;
return -1; return -1;
} }
else else
@ -232,6 +254,12 @@ libintl_vasprintf (char **resultp, const char *format, va_list args)
char *result = libintl_vasnprintf (NULL, &length, format, args); char *result = libintl_vasnprintf (NULL, &length, format, args);
if (result == NULL) if (result == NULL)
return -1; return -1;
if (length > INT_MAX)
{
free (result);
errno = EOVERFLOW;
return -1;
}
*resultp = result; *resultp = result;
return length; return length;
} }
@ -293,9 +321,14 @@ libintl_vfwprintf (FILE *stream, const wchar_t *format, va_list args)
for (i = 0; i < length; i++) for (i = 0; i < length; i++)
if (fputwc (result[i], stream) == WEOF) if (fputwc (result[i], stream) == WEOF)
break; break;
if (i == length)
retval = length;
free (result); free (result);
if (i == length)
{
if (length > INT_MAX)
errno = EOVERFLOW;
else
retval = length;
}
} }
return retval; return retval;
} }
@ -348,12 +381,22 @@ libintl_vswprintf (wchar_t *resultbuf, size_t length, const wchar_t *format, va_
{ {
if (maxlength > 0) if (maxlength > 0)
{ {
if (length < maxlength) size_t pruned_length =
abort (); (length < maxlength ? length : maxlength - 1);
memcpy (resultbuf, result, (maxlength - 1) * sizeof (wchar_t)); memcpy (resultbuf, result, pruned_length * sizeof (wchar_t));
resultbuf[maxlength - 1] = 0; resultbuf[pruned_length] = 0;
} }
free (result); free (result);
/* Unlike vsnprintf, which has to return the number of character that
would have been produced if the resultbuf had been sufficiently
large, the vswprintf function has to return a negative value if
the resultbuf was not sufficiently large. */
if (length >= maxlength)
return -1;
}
if (length > INT_MAX)
{
errno = EOVERFLOW;
return -1; return -1;
} }
else else

View File

@ -1,5 +1,5 @@
/* Provide relocatable packages. /* Provide relocatable packages.
Copyright (C) 2003-2005 Free Software Foundation, Inc. Copyright (C) 2003-2006 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003. Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
@ -25,9 +25,7 @@
# define _GNU_SOURCE 1 # define _GNU_SOURCE 1
#endif #endif
#ifdef HAVE_CONFIG_H #include <config.h>
# include "config.h"
#endif
/* Specification. */ /* Specification. */
#include "relocatable.h" #include "relocatable.h"

View File

@ -23,9 +23,7 @@
# define _GNU_SOURCE 1 # define _GNU_SOURCE 1
#endif #endif
#ifdef HAVE_CONFIG_H #include <config.h>
# include <config.h>
#endif
#ifndef IN_LIBINTL #ifndef IN_LIBINTL
# include <alloca.h> # include <alloca.h>
#endif #endif
@ -41,7 +39,7 @@
#include <stdlib.h> /* abort(), malloc(), realloc(), free() */ #include <stdlib.h> /* abort(), malloc(), realloc(), free() */
#include <string.h> /* memcpy(), strlen() */ #include <string.h> /* memcpy(), strlen() */
#include <errno.h> /* errno */ #include <errno.h> /* errno */
#include <limits.h> /* CHAR_BIT, INT_MAX */ #include <limits.h> /* CHAR_BIT */
#include <float.h> /* DBL_MAX_EXP, LDBL_MAX_EXP */ #include <float.h> /* DBL_MAX_EXP, LDBL_MAX_EXP */
#if WIDE_CHAR_VERSION #if WIDE_CHAR_VERSION
# include "wprintf-parse.h" # include "wprintf-parse.h"
@ -52,11 +50,6 @@
/* Checked size_t computations. */ /* Checked size_t computations. */
#include "xsize.h" #include "xsize.h"
/* Some systems, like OSF/1 4.0 and Woe32, don't have EOVERFLOW. */
#ifndef EOVERFLOW
# define EOVERFLOW E2BIG
#endif
#ifdef HAVE_WCHAR_T #ifdef HAVE_WCHAR_T
# ifdef HAVE_WCSLEN # ifdef HAVE_WCSLEN
# define local_wcslen wcslen # define local_wcslen wcslen
@ -256,7 +249,7 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar
case TYPE_COUNT_LONGINT_POINTER: case TYPE_COUNT_LONGINT_POINTER:
*a.arg[dp->arg_index].a.a_count_longint_pointer = length; *a.arg[dp->arg_index].a.a_count_longint_pointer = length;
break; break;
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
case TYPE_COUNT_LONGLONGINT_POINTER: case TYPE_COUNT_LONGLONGINT_POINTER:
*a.arg[dp->arg_index].a.a_count_longlongint_pointer = length; *a.arg[dp->arg_index].a.a_count_longlongint_pointer = length;
break; break;
@ -330,7 +323,7 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar
{ {
case 'd': case 'i': case 'u': case 'd': case 'i': case 'u':
# ifdef HAVE_LONG_LONG # ifdef HAVE_LONG_LONG_INT
if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)
tmp_length = tmp_length =
(unsigned int) (sizeof (unsigned long long) * CHAR_BIT (unsigned int) (sizeof (unsigned long long) * CHAR_BIT
@ -360,7 +353,7 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar
break; break;
case 'o': case 'o':
# ifdef HAVE_LONG_LONG # ifdef HAVE_LONG_LONG_INT
if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)
tmp_length = tmp_length =
(unsigned int) (sizeof (unsigned long long) * CHAR_BIT (unsigned int) (sizeof (unsigned long long) * CHAR_BIT
@ -388,7 +381,7 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar
break; break;
case 'x': case 'X': case 'x': case 'X':
# ifdef HAVE_LONG_LONG # ifdef HAVE_LONG_LONG_INT
if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)
tmp_length = tmp_length =
(unsigned int) (sizeof (unsigned long long) * CHAR_BIT (unsigned int) (sizeof (unsigned long long) * CHAR_BIT
@ -535,7 +528,7 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar
switch (type) switch (type)
{ {
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
case TYPE_LONGLONGINT: case TYPE_LONGLONGINT:
case TYPE_ULONGLONGINT: case TYPE_ULONGLONGINT:
*p++ = 'l'; *p++ = 'l';
@ -689,7 +682,7 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar
SNPRINTF_BUF (arg); SNPRINTF_BUF (arg);
} }
break; break;
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
case TYPE_LONGLONGINT: case TYPE_LONGLONGINT:
{ {
long long int arg = a.arg[dp->arg_index].a.a_longlongint; long long int arg = a.arg[dp->arg_index].a.a_longlongint;
@ -870,19 +863,12 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar
free (buf_malloced); free (buf_malloced);
CLEANUP (); CLEANUP ();
*lengthp = length; *lengthp = length;
if (length > INT_MAX) /* Note that we can produce a big string of a length > INT_MAX. POSIX
goto length_overflow; says that snprintf() fails with errno = EOVERFLOW in this case, but
that's only because snprintf() returns an 'int'. This function does
not have this limitation. */
return result; return result;
length_overflow:
/* We could produce such a big string, but its length doesn't fit into
an 'int'. POSIX says that snprintf() fails with errno = EOVERFLOW in
this case. */
if (result != resultbuf)
free (result);
errno = EOVERFLOW;
return NULL;
out_of_memory: out_of_memory:
if (!(result == resultbuf || result == NULL)) if (!(result == resultbuf || result == NULL))
free (result); free (result);

View File

@ -1,3 +1,7 @@
2007-05-07 Werner Koch <wk@g10code.com>
* Makefile.am (gpg2keys_ldap_LDADD): Add GPG_ERROR_LIBS.
2007-05-04 Werner Koch <wk@g10code.com> 2007-05-04 Werner Koch <wk@g10code.com>
* gpgkeys_test.in: Rename to .. * gpgkeys_test.in: Rename to ..

View File

@ -41,7 +41,8 @@ other_libs = $(LIBICONV) $(LIBINTL) $(CAPLIBS)
gpg2keys_ldap_SOURCES = gpgkeys_ldap.c ksutil.c ksutil.h no-libgcrypt.c gpg2keys_ldap_SOURCES = gpgkeys_ldap.c ksutil.c ksutil.h no-libgcrypt.c
gpg2keys_ldap_CPPFLAGS = $(LDAP_CPPFLAGS) $(AM_CPPFLAGS) gpg2keys_ldap_CPPFLAGS = $(LDAP_CPPFLAGS) $(AM_CPPFLAGS)
gpg2keys_ldap_LDADD = ../jnlib/libjnlib.a $(LDAPLIBS) $(NETLIBS) $(other_libs) gpg2keys_ldap_LDADD = ../jnlib/libjnlib.a $(LDAPLIBS) $(GPG_ERROR_LIBS) \
$(NETLIBS) $(other_libs)
gpg2keys_finger_SOURCES = gpgkeys_finger.c ksutil.c ksutil.h no-libgcrypt.c gpg2keys_finger_SOURCES = gpgkeys_finger.c ksutil.c ksutil.h no-libgcrypt.c
gpg2keys_finger_CPPFLAGS = $(AM_CPPFLAGS) gpg2keys_finger_CPPFLAGS = $(AM_CPPFLAGS)

View File

@ -1,3 +1,20 @@
2007-05-07 gettextize <bug-gnu-gettext@gnu.org>
* gettext.m4: Upgrade to gettext-0.16.1.
* lib-link.m4: Upgrade to gettext-0.16.1.
* codeset.m4: Upgrade to gettext-0.16.1.
* intl.m4: New file, from gettext-0.16.1.
* intldir.m4: New file, from gettext-0.16.1.
* intmax.m4: Upgrade to gettext-0.16.1.
* inttypes_h.m4: Upgrade to gettext-0.16.1.
* inttypes-pri.m4: Upgrade to gettext-0.16.1.
* lock.m4: Upgrade to gettext-0.16.1.
* longlong.m4: Upgrade to gettext-0.16.1.
* size_max.m4: Upgrade to gettext-0.16.1.
* stdint_h.m4: Upgrade to gettext-0.16.1.
* ulonglong.m4: Upgrade to gettext-0.16.1.
* Makefile.am (EXTRA_DIST): Add the new files.
2006-11-21 Werner Koch <wk@g10code.com> 2006-11-21 Werner Koch <wk@g10code.com>
* gnupg-pth.m4 (GNUPG_PTH_VERSION_CHECK): Use --all with * gnupg-pth.m4 (GNUPG_PTH_VERSION_CHECK): Use --all with

View File

@ -1,4 +1,4 @@
EXTRA_DIST = glibc2.m4 inttypes-h.m4 lock.m4 visibility.m4 intmax.m4 longdouble.m4 longlong.m4 printf-posix.m4 signed.m4 size_max.m4 wchar_t.m4 wint_t.m4 xsize.m4 codeset.m4 gettext.m4 glibc21.m4 iconv.m4 intdiv0.m4 inttypes.m4 inttypes_h.m4 inttypes-pri.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 EXTRA_DIST = intl.m4 intldir.m4 glibc2.m4 inttypes-h.m4 lock.m4 visibility.m4 intmax.m4 longdouble.m4 longlong.m4 printf-posix.m4 signed.m4 size_max.m4 wchar_t.m4 wint_t.m4 xsize.m4 codeset.m4 gettext.m4 glibc21.m4 iconv.m4 intdiv0.m4 inttypes.m4 inttypes_h.m4 inttypes-pri.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4
EXTRA_DIST += ldap.m4 libcurl.m4 libusb.m4 tar-ustar.m4 readline.m4 EXTRA_DIST += ldap.m4 libcurl.m4 libusb.m4 tar-ustar.m4 readline.m4

View File

@ -1,5 +1,5 @@
# codeset.m4 serial AM1 (gettext-0.10.40) # codeset.m4 serial 2 (gettext-0.16)
dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. dnl Copyright (C) 2000-2002, 2006 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it, dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved. dnl with or without modifications, as long as this notice is preserved.
@ -10,7 +10,7 @@ AC_DEFUN([AM_LANGINFO_CODESET],
[ [
AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
[AC_TRY_LINK([#include <langinfo.h>], [AC_TRY_LINK([#include <langinfo.h>],
[char* cs = nl_langinfo(CODESET);], [char* cs = nl_langinfo(CODESET); return !cs;],
am_cv_langinfo_codeset=yes, am_cv_langinfo_codeset=yes,
am_cv_langinfo_codeset=no) am_cv_langinfo_codeset=no)
]) ])

View File

@ -1,4 +1,4 @@
# gettext.m4 serial 53 (gettext-0.15) # gettext.m4 serial 59 (gettext-0.16.1)
dnl Copyright (C) 1995-2006 Free Software Foundation, Inc. dnl Copyright (C) 1995-2006 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it, dnl gives unlimited permission to copy and/or distribute it,
@ -15,7 +15,7 @@ dnl They are *not* in the public domain.
dnl Authors: dnl Authors:
dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
dnl Bruno Haible <haible@clisp.cons.org>, 2000-2005. dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006.
dnl Macro to add for using GNU gettext. dnl Macro to add for using GNU gettext.
@ -63,8 +63,13 @@ AC_DEFUN([AM_GNU_GETTEXT],
ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
[errprint([ERROR: invalid second argument to AM_GNU_GETTEXT [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
])])])]) ])])])])
define([gt_included_intl], ifelse([$1], [external], [no], [yes])) define([gt_included_intl],
ifelse([$1], [external],
ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]),
[yes]))
define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
gt_NEEDS_INIT
AM_GNU_GETTEXT_NEED([$2])
AC_REQUIRE([AM_PO_SUBDIRS])dnl AC_REQUIRE([AM_PO_SUBDIRS])dnl
ifelse(gt_included_intl, yes, [ ifelse(gt_included_intl, yes, [
@ -78,7 +83,7 @@ AC_DEFUN([AM_GNU_GETTEXT],
dnl Sometimes libintl requires libiconv, so first search for libiconv. dnl Sometimes libintl requires libiconv, so first search for libiconv.
dnl Ideally we would do this search only after the dnl Ideally we would do this search only after the
dnl if test "$USE_NLS" = "yes"; then dnl if test "$USE_NLS" = "yes"; then
dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
dnl the configure script would need to contain the same shell code dnl the configure script would need to contain the same shell code
dnl again, outside any 'if'. There are two solutions: dnl again, outside any 'if'. There are two solutions:
@ -104,6 +109,15 @@ AC_DEFUN([AM_GNU_GETTEXT],
LTLIBINTL= LTLIBINTL=
POSUB= POSUB=
dnl Add a version number to the cache macros.
case " $gt_needs " in
*" need-formatstring-macros "*) gt_api_version=3 ;;
*" need-ngettext "*) gt_api_version=2 ;;
*) gt_api_version=1 ;;
esac
gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
dnl If we use NLS figure out what method dnl If we use NLS figure out what method
if test "$USE_NLS" = "yes"; then if test "$USE_NLS" = "yes"; then
gt_use_preinstalled_gnugettext=no gt_use_preinstalled_gnugettext=no
@ -122,26 +136,35 @@ AC_DEFUN([AM_GNU_GETTEXT],
dnl to use. If GNU gettext is available we use this. Else we have dnl to use. If GNU gettext is available we use this. Else we have
dnl to fall back to GNU NLS library. dnl to fall back to GNU NLS library.
dnl Add a version number to the cache macros. if test $gt_api_version -ge 3; then
define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1))) gt_revision_test_code='
define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc]) #ifndef __GNU_GETTEXT_SUPPORTED_REVISION
define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
[AC_TRY_LINK([#include <libintl.h>
]ifelse([$2], [need-formatstring-macros],
[[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
#endif #endif
changequote(,)dnl
typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
]], [])[extern int _nl_msg_cat_cntr; changequote([,])dnl
'
else
gt_revision_test_code=
fi
if test $gt_api_version -ge 2; then
gt_expression_test_code=' + * ngettext ("", "", 0)'
else
gt_expression_test_code=
fi
AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc],
[AC_TRY_LINK([#include <libintl.h>
$gt_revision_test_code
extern int _nl_msg_cat_cntr;
extern int *_nl_domain_bindings;], extern int *_nl_domain_bindings;],
[bindtextdomain ("", ""); [bindtextdomain ("", "");
return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings], return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings],
gt_cv_func_gnugettext_libc=yes, [eval "$gt_func_gnugettext_libc=yes"],
gt_cv_func_gnugettext_libc=no)]) [eval "$gt_func_gnugettext_libc=no"])])
if test "$gt_cv_func_gnugettext_libc" != "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
dnl Sometimes libintl requires libiconv, so first search for libiconv. dnl Sometimes libintl requires libiconv, so first search for libiconv.
ifelse(gt_included_intl, yes, , [ ifelse(gt_included_intl, yes, , [
AM_ICONV_LINK AM_ICONV_LINK
@ -152,48 +175,40 @@ return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)],
dnl even if libiconv doesn't exist. dnl even if libiconv doesn't exist.
AC_LIB_LINKFLAGS_BODY([intl]) AC_LIB_LINKFLAGS_BODY([intl])
AC_CACHE_CHECK([for GNU gettext in libintl], AC_CACHE_CHECK([for GNU gettext in libintl],
gt_cv_func_gnugettext_libintl, [$gt_func_gnugettext_libintl],
[gt_save_CPPFLAGS="$CPPFLAGS" [gt_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $INCINTL" CPPFLAGS="$CPPFLAGS $INCINTL"
gt_save_LIBS="$LIBS" gt_save_LIBS="$LIBS"
LIBS="$LIBS $LIBINTL" LIBS="$LIBS $LIBINTL"
dnl Now see whether libintl exists and does not depend on libiconv. dnl Now see whether libintl exists and does not depend on libiconv.
AC_TRY_LINK([#include <libintl.h> AC_TRY_LINK([#include <libintl.h>
]ifelse([$2], [need-formatstring-macros], $gt_revision_test_code
[[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION extern int _nl_msg_cat_cntr;
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
#endif
typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
]], [])[extern int _nl_msg_cat_cntr;
extern extern
#ifdef __cplusplus #ifdef __cplusplus
"C" "C"
#endif #endif
const char *_nl_expand_alias (const char *);], const char *_nl_expand_alias (const char *);],
[bindtextdomain ("", ""); [bindtextdomain ("", "");
return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")], return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
gt_cv_func_gnugettext_libintl=yes, [eval "$gt_func_gnugettext_libintl=yes"],
gt_cv_func_gnugettext_libintl=no) [eval "$gt_func_gnugettext_libintl=no"])
dnl Now see whether libintl exists and depends on libiconv. dnl Now see whether libintl exists and depends on libiconv.
if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
LIBS="$LIBS $LIBICONV" LIBS="$LIBS $LIBICONV"
AC_TRY_LINK([#include <libintl.h> AC_TRY_LINK([#include <libintl.h>
]ifelse([$2], [need-formatstring-macros], $gt_revision_test_code
[[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION extern int _nl_msg_cat_cntr;
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
#endif
typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
]], [])[extern int _nl_msg_cat_cntr;
extern extern
#ifdef __cplusplus #ifdef __cplusplus
"C" "C"
#endif #endif
const char *_nl_expand_alias (const char *);], const char *_nl_expand_alias (const char *);],
[bindtextdomain ("", ""); [bindtextdomain ("", "");
return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")], return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
[LIBINTL="$LIBINTL $LIBICONV" [LIBINTL="$LIBINTL $LIBICONV"
LTLIBINTL="$LTLIBINTL $LTLIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV"
gt_cv_func_gnugettext_libintl=yes eval "$gt_func_gnugettext_libintl=yes"
]) ])
fi fi
CPPFLAGS="$gt_save_CPPFLAGS" CPPFLAGS="$gt_save_CPPFLAGS"
@ -204,8 +219,8 @@ return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)],
dnl use it. But if this macro is used in GNU gettext, and GNU 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 gettext is already preinstalled in libintl, we update this
dnl libintl. (Cf. the install rule in intl/Makefile.in.) dnl libintl. (Cf. the install rule in intl/Makefile.in.)
if test "$gt_cv_func_gnugettext_libc" = "yes" \ if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
|| { test "$gt_cv_func_gnugettext_libintl" = "yes" \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
&& test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-runtime \
&& test "$PACKAGE" != gettext-tools; }; then && test "$PACKAGE" != gettext-tools; }; then
gt_use_preinstalled_gnugettext=yes gt_use_preinstalled_gnugettext=yes
@ -265,7 +280,7 @@ return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)],
if test "$USE_NLS" = "yes"; then if test "$USE_NLS" = "yes"; then
AC_MSG_CHECKING([where the gettext function comes from]) AC_MSG_CHECKING([where the gettext function comes from])
if test "$gt_use_preinstalled_gnugettext" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then
if test "$gt_cv_func_gnugettext_libintl" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
gt_source="external libintl" gt_source="external libintl"
else else
gt_source="libc" gt_source="libc"
@ -279,7 +294,7 @@ return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)],
if test "$USE_NLS" = "yes"; then if test "$USE_NLS" = "yes"; then
if test "$gt_use_preinstalled_gnugettext" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then
if test "$gt_cv_func_gnugettext_libintl" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
AC_MSG_CHECKING([how to link with libintl]) AC_MSG_CHECKING([how to link with libintl])
AC_MSG_RESULT([$LIBINTL]) AC_MSG_RESULT([$LIBINTL])
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
@ -347,228 +362,6 @@ return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)],
]) ])
dnl Checks for all prerequisites of the intl subdirectory,
dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
AC_DEFUN([AM_INTL_SUBDIR],
[
AC_REQUIRE([AC_PROG_INSTALL])dnl
AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([gt_GLIBC2])dnl
AC_REQUIRE([AC_PROG_RANLIB])dnl
AC_REQUIRE([gl_VISIBILITY])dnl
AC_REQUIRE([gt_INTL_SUBDIR_CORE])dnl
AC_REQUIRE([bh_C_SIGNED])dnl
AC_REQUIRE([gl_AC_TYPE_LONG_LONG])dnl
AC_REQUIRE([gt_TYPE_LONGDOUBLE])dnl
AC_REQUIRE([gt_TYPE_WCHAR_T])dnl
AC_REQUIRE([gt_TYPE_WINT_T])dnl
AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
AC_REQUIRE([gt_TYPE_INTMAX_T])
AC_REQUIRE([gt_PRINTF_POSIX])
AC_REQUIRE([gl_GLIBC21])dnl
AC_REQUIRE([gl_XSIZE])dnl
AC_REQUIRE([gt_INTL_MACOSX])dnl
AC_CHECK_TYPE([ptrdiff_t], ,
[AC_DEFINE([ptrdiff_t], [long],
[Define as the type of the result of subtracting two pointers, if the system doesn't define it.])
])
AC_CHECK_HEADERS([stddef.h stdlib.h string.h])
AC_CHECK_FUNCS([asprintf fwprintf putenv setenv setlocale snprintf wcslen])
dnl Use the _snprintf function only if it is declared (because on NetBSD it
dnl is defined as a weak alias of snprintf; we prefer to use the latter).
gt_CHECK_DECL(_snprintf, [#include <stdio.h>])
gt_CHECK_DECL(_snwprintf, [#include <stdio.h>])
dnl Use the *_unlocked functions only if they are declared.
dnl (because some of them were defined without being declared in Solaris
dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
dnl on Solaris 2.5.1 to run on Solaris 2.6).
dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
gt_CHECK_DECL(getc_unlocked, [#include <stdio.h>])
case $gt_cv_func_printf_posix in
*yes) HAVE_POSIX_PRINTF=1 ;;
*) HAVE_POSIX_PRINTF=0 ;;
esac
AC_SUBST([HAVE_POSIX_PRINTF])
if test "$ac_cv_func_asprintf" = yes; then
HAVE_ASPRINTF=1
else
HAVE_ASPRINTF=0
fi
AC_SUBST([HAVE_ASPRINTF])
if test "$ac_cv_func_snprintf" = yes; then
HAVE_SNPRINTF=1
else
HAVE_SNPRINTF=0
fi
AC_SUBST([HAVE_SNPRINTF])
if test "$ac_cv_func_wprintf" = yes; then
HAVE_WPRINTF=1
else
HAVE_WPRINTF=0
fi
AC_SUBST([HAVE_WPRINTF])
AM_LANGINFO_CODESET
gt_LC_MESSAGES
dnl Compilation on mingw and Cygwin needs special Makefile rules, because
dnl 1. when we install a shared library, we must arrange to export
dnl auxiliary pointer variables for every exported variable,
dnl 2. when we install a shared library and a static library simultaneously,
dnl the include file specifies __declspec(dllimport) and therefore we
dnl must arrange to define the auxiliary pointer variables for the
dnl exported variables _also_ in the static library.
if test "$enable_shared" = yes; then
case "$host_os" in
cygwin*) is_woe32dll=yes ;;
*) is_woe32dll=no ;;
esac
else
is_woe32dll=no
fi
WOE32DLL=$is_woe32dll
AC_SUBST([WOE32DLL])
dnl Rename some macros and functions used for locking.
AH_BOTTOM([
#define __libc_lock_t gl_lock_t
#define __libc_lock_define gl_lock_define
#define __libc_lock_define_initialized gl_lock_define_initialized
#define __libc_lock_init gl_lock_init
#define __libc_lock_lock gl_lock_lock
#define __libc_lock_unlock gl_lock_unlock
#define __libc_lock_recursive_t gl_recursive_lock_t
#define __libc_lock_define_recursive gl_recursive_lock_define
#define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized
#define __libc_lock_init_recursive gl_recursive_lock_init
#define __libc_lock_lock_recursive gl_recursive_lock_lock
#define __libc_lock_unlock_recursive gl_recursive_lock_unlock
#define glthread_in_use libintl_thread_in_use
#define glthread_lock_init libintl_lock_init
#define glthread_lock_lock libintl_lock_lock
#define glthread_lock_unlock libintl_lock_unlock
#define glthread_lock_destroy libintl_lock_destroy
#define glthread_rwlock_init libintl_rwlock_init
#define glthread_rwlock_rdlock libintl_rwlock_rdlock
#define glthread_rwlock_wrlock libintl_rwlock_wrlock
#define glthread_rwlock_unlock libintl_rwlock_unlock
#define glthread_rwlock_destroy libintl_rwlock_destroy
#define glthread_recursive_lock_init libintl_recursive_lock_init
#define glthread_recursive_lock_lock libintl_recursive_lock_lock
#define glthread_recursive_lock_unlock libintl_recursive_lock_unlock
#define glthread_recursive_lock_destroy libintl_recursive_lock_destroy
#define glthread_once libintl_once
#define glthread_once_call libintl_once_call
#define glthread_once_singlethreaded libintl_once_singlethreaded
])
])
dnl Checks for the core files of the intl subdirectory:
dnl dcigettext.c
dnl eval-plural.h
dnl explodename.c
dnl finddomain.c
dnl gettextP.h
dnl gmo.h
dnl hash-string.h hash-string.c
dnl l10nflist.c
dnl libgnuintl.h.in (except the *printf stuff)
dnl loadinfo.h
dnl loadmsgcat.c
dnl localealias.c
dnl log.c
dnl plural-exp.h plural-exp.c
dnl plural.y
dnl Used by libglocale.
AC_DEFUN([gt_INTL_SUBDIR_CORE],
[
AC_REQUIRE([AC_C_INLINE])dnl
AC_REQUIRE([AC_TYPE_SIZE_T])dnl
AC_REQUIRE([gl_AC_HEADER_STDINT_H])
AC_REQUIRE([AC_FUNC_ALLOCA])dnl
AC_REQUIRE([AC_FUNC_MMAP])dnl
AC_REQUIRE([gt_INTDIV0])dnl
AC_REQUIRE([gl_AC_TYPE_UINTMAX_T])dnl
AC_REQUIRE([gl_HEADER_INTTYPES_H])dnl
AC_REQUIRE([gt_INTTYPES_PRI])dnl
AC_REQUIRE([gl_LOCK])dnl
AC_TRY_LINK(
[int foo (int a) { a = __builtin_expect (a, 10); return a == 10 ? 0 : 1; }],
[],
[AC_DEFINE([HAVE_BUILTIN_EXPECT], 1,
[Define to 1 if the compiler understands __builtin_expect.])])
AC_CHECK_HEADERS([argz.h limits.h unistd.h sys/param.h])
AC_CHECK_FUNCS([getcwd getegid geteuid getgid getuid mempcpy munmap \
stpcpy strcasecmp strdup strtoul tsearch argz_count argz_stringify \
argz_next __fsetlocking])
dnl Use the *_unlocked functions only if they are declared.
dnl (because some of them were defined without being declared in Solaris
dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
dnl on Solaris 2.5.1 to run on Solaris 2.6).
dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
gt_CHECK_DECL(feof_unlocked, [#include <stdio.h>])
gt_CHECK_DECL(fgets_unlocked, [#include <stdio.h>])
AM_ICONV
dnl glibc >= 2.4 has a NL_LOCALE_NAME macro when _GNU_SOURCE is defined,
dnl and a _NL_LOCALE_NAME macro always.
AC_CACHE_CHECK([for NL_LOCALE_NAME macro], gt_cv_nl_locale_name,
[AC_TRY_LINK([#include <langinfo.h>
#include <locale.h>],
[char* cs = nl_langinfo(_NL_LOCALE_NAME(LC_MESSAGES));],
gt_cv_nl_locale_name=yes,
gt_cv_nl_locale_name=no)
])
if test $gt_cv_nl_locale_name = yes; then
AC_DEFINE(HAVE_NL_LOCALE_NAME, 1,
[Define if you have <langinfo.h> and it defines the NL_LOCALE_NAME macro if _GNU_SOURCE is defined.])
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 Checks for special options needed on MacOS X. dnl Checks for special options needed on MacOS X.
dnl Defines INTL_MACOSX_LIBS. dnl Defines INTL_MACOSX_LIBS.
AC_DEFUN([gt_INTL_MACOSX], AC_DEFUN([gt_INTL_MACOSX],
@ -607,23 +400,18 @@ AC_DEFUN([gt_INTL_MACOSX],
]) ])
dnl gt_CHECK_DECL(FUNC, INCLUDES) dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized.
dnl Check whether a function is declared. m4_define([gt_NEEDS_INIT],
AC_DEFUN([gt_CHECK_DECL],
[ [
AC_CACHE_CHECK([whether $1 is declared], ac_cv_have_decl_$1, m4_divert_text([DEFAULTS], [gt_needs=])
[AC_TRY_COMPILE([$2], [ m4_define([gt_NEEDS_INIT], [])
#ifndef $1 ])
char *p = (char *) $1;
#endif
], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)]) dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL])
if test $ac_cv_have_decl_$1 = yes; then AC_DEFUN([AM_GNU_GETTEXT_NEED],
gt_value=1 [
else m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"])
gt_value=0
fi
AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value],
[Define to 1 if you have the declaration of `$1', and to 0 if you don't.])
]) ])

259
m4/intl.m4 Normal file
View File

@ -0,0 +1,259 @@
# intl.m4 serial 3 (gettext-0.16)
dnl Copyright (C) 1995-2006 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl
dnl This file can can be used in projects which are not available under
dnl the GNU General Public License or the GNU Library General Public
dnl License but which still want to provide support for the GNU gettext
dnl functionality.
dnl Please note that the actual code of the GNU gettext library is covered
dnl by the GNU Library General Public License, and the rest of the GNU
dnl gettext package package is covered by the GNU General Public License.
dnl They are *not* in the public domain.
dnl Authors:
dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006.
AC_PREREQ(2.52)
dnl Checks for all prerequisites of the intl subdirectory,
dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
AC_DEFUN([AM_INTL_SUBDIR],
[
AC_REQUIRE([AC_PROG_INSTALL])dnl
AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([gt_GLIBC2])dnl
AC_REQUIRE([AC_PROG_RANLIB])dnl
AC_REQUIRE([gl_VISIBILITY])dnl
AC_REQUIRE([gt_INTL_SUBDIR_CORE])dnl
AC_REQUIRE([AC_TYPE_LONG_LONG_INT])dnl
AC_REQUIRE([gt_TYPE_LONGDOUBLE])dnl
AC_REQUIRE([gt_TYPE_WCHAR_T])dnl
AC_REQUIRE([gt_TYPE_WINT_T])dnl
AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
AC_REQUIRE([gt_TYPE_INTMAX_T])
AC_REQUIRE([gt_PRINTF_POSIX])
AC_REQUIRE([gl_GLIBC21])dnl
AC_REQUIRE([gl_XSIZE])dnl
AC_REQUIRE([gt_INTL_MACOSX])dnl
AC_CHECK_TYPE([ptrdiff_t], ,
[AC_DEFINE([ptrdiff_t], [long],
[Define as the type of the result of subtracting two pointers, if the system doesn't define it.])
])
AC_CHECK_HEADERS([stddef.h stdlib.h string.h])
AC_CHECK_FUNCS([asprintf fwprintf putenv setenv setlocale snprintf wcslen])
dnl Use the _snprintf function only if it is declared (because on NetBSD it
dnl is defined as a weak alias of snprintf; we prefer to use the latter).
gt_CHECK_DECL(_snprintf, [#include <stdio.h>])
gt_CHECK_DECL(_snwprintf, [#include <stdio.h>])
dnl Use the *_unlocked functions only if they are declared.
dnl (because some of them were defined without being declared in Solaris
dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
dnl on Solaris 2.5.1 to run on Solaris 2.6).
dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
gt_CHECK_DECL(getc_unlocked, [#include <stdio.h>])
case $gt_cv_func_printf_posix in
*yes) HAVE_POSIX_PRINTF=1 ;;
*) HAVE_POSIX_PRINTF=0 ;;
esac
AC_SUBST([HAVE_POSIX_PRINTF])
if test "$ac_cv_func_asprintf" = yes; then
HAVE_ASPRINTF=1
else
HAVE_ASPRINTF=0
fi
AC_SUBST([HAVE_ASPRINTF])
if test "$ac_cv_func_snprintf" = yes; then
HAVE_SNPRINTF=1
else
HAVE_SNPRINTF=0
fi
AC_SUBST([HAVE_SNPRINTF])
if test "$ac_cv_func_wprintf" = yes; then
HAVE_WPRINTF=1
else
HAVE_WPRINTF=0
fi
AC_SUBST([HAVE_WPRINTF])
AM_LANGINFO_CODESET
gt_LC_MESSAGES
dnl Compilation on mingw and Cygwin needs special Makefile rules, because
dnl 1. when we install a shared library, we must arrange to export
dnl auxiliary pointer variables for every exported variable,
dnl 2. when we install a shared library and a static library simultaneously,
dnl the include file specifies __declspec(dllimport) and therefore we
dnl must arrange to define the auxiliary pointer variables for the
dnl exported variables _also_ in the static library.
if test "$enable_shared" = yes; then
case "$host_os" in
cygwin*) is_woe32dll=yes ;;
*) is_woe32dll=no ;;
esac
else
is_woe32dll=no
fi
WOE32DLL=$is_woe32dll
AC_SUBST([WOE32DLL])
dnl Rename some macros and functions used for locking.
AH_BOTTOM([
#define __libc_lock_t gl_lock_t
#define __libc_lock_define gl_lock_define
#define __libc_lock_define_initialized gl_lock_define_initialized
#define __libc_lock_init gl_lock_init
#define __libc_lock_lock gl_lock_lock
#define __libc_lock_unlock gl_lock_unlock
#define __libc_lock_recursive_t gl_recursive_lock_t
#define __libc_lock_define_recursive gl_recursive_lock_define
#define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized
#define __libc_lock_init_recursive gl_recursive_lock_init
#define __libc_lock_lock_recursive gl_recursive_lock_lock
#define __libc_lock_unlock_recursive gl_recursive_lock_unlock
#define glthread_in_use libintl_thread_in_use
#define glthread_lock_init libintl_lock_init
#define glthread_lock_lock libintl_lock_lock
#define glthread_lock_unlock libintl_lock_unlock
#define glthread_lock_destroy libintl_lock_destroy
#define glthread_rwlock_init libintl_rwlock_init
#define glthread_rwlock_rdlock libintl_rwlock_rdlock
#define glthread_rwlock_wrlock libintl_rwlock_wrlock
#define glthread_rwlock_unlock libintl_rwlock_unlock
#define glthread_rwlock_destroy libintl_rwlock_destroy
#define glthread_recursive_lock_init libintl_recursive_lock_init
#define glthread_recursive_lock_lock libintl_recursive_lock_lock
#define glthread_recursive_lock_unlock libintl_recursive_lock_unlock
#define glthread_recursive_lock_destroy libintl_recursive_lock_destroy
#define glthread_once libintl_once
#define glthread_once_call libintl_once_call
#define glthread_once_singlethreaded libintl_once_singlethreaded
])
])
dnl Checks for the core files of the intl subdirectory:
dnl dcigettext.c
dnl eval-plural.h
dnl explodename.c
dnl finddomain.c
dnl gettextP.h
dnl gmo.h
dnl hash-string.h hash-string.c
dnl l10nflist.c
dnl libgnuintl.h.in (except the *printf stuff)
dnl loadinfo.h
dnl loadmsgcat.c
dnl localealias.c
dnl log.c
dnl plural-exp.h plural-exp.c
dnl plural.y
dnl Used by libglocale.
AC_DEFUN([gt_INTL_SUBDIR_CORE],
[
AC_REQUIRE([AC_C_INLINE])dnl
AC_REQUIRE([AC_TYPE_SIZE_T])dnl
AC_REQUIRE([gl_AC_HEADER_STDINT_H])
AC_REQUIRE([AC_FUNC_ALLOCA])dnl
AC_REQUIRE([AC_FUNC_MMAP])dnl
AC_REQUIRE([gt_INTDIV0])dnl
AC_REQUIRE([gl_AC_TYPE_UINTMAX_T])dnl
AC_REQUIRE([gt_INTTYPES_PRI])dnl
AC_REQUIRE([gl_LOCK])dnl
AC_TRY_LINK(
[int foo (int a) { a = __builtin_expect (a, 10); return a == 10 ? 0 : 1; }],
[],
[AC_DEFINE([HAVE_BUILTIN_EXPECT], 1,
[Define to 1 if the compiler understands __builtin_expect.])])
AC_CHECK_HEADERS([argz.h inttypes.h limits.h unistd.h sys/param.h])
AC_CHECK_FUNCS([getcwd getegid geteuid getgid getuid mempcpy munmap \
stpcpy strcasecmp strdup strtoul tsearch argz_count argz_stringify \
argz_next __fsetlocking])
dnl Use the *_unlocked functions only if they are declared.
dnl (because some of them were defined without being declared in Solaris
dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
dnl on Solaris 2.5.1 to run on Solaris 2.6).
dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
gt_CHECK_DECL(feof_unlocked, [#include <stdio.h>])
gt_CHECK_DECL(fgets_unlocked, [#include <stdio.h>])
AM_ICONV
dnl glibc >= 2.4 has a NL_LOCALE_NAME macro when _GNU_SOURCE is defined,
dnl and a _NL_LOCALE_NAME macro always.
AC_CACHE_CHECK([for NL_LOCALE_NAME macro], gt_cv_nl_locale_name,
[AC_TRY_LINK([#include <langinfo.h>
#include <locale.h>],
[char* cs = nl_langinfo(_NL_LOCALE_NAME(LC_MESSAGES));],
gt_cv_nl_locale_name=yes,
gt_cv_nl_locale_name=no)
])
if test $gt_cv_nl_locale_name = yes; then
AC_DEFINE(HAVE_NL_LOCALE_NAME, 1,
[Define if you have <langinfo.h> and it defines the NL_LOCALE_NAME macro if _GNU_SOURCE is defined.])
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 gt_CHECK_DECL(FUNC, INCLUDES)
dnl Check whether a function is declared.
AC_DEFUN([gt_CHECK_DECL],
[
AC_CACHE_CHECK([whether $1 is declared], ac_cv_have_decl_$1,
[AC_TRY_COMPILE([$2], [
#ifndef $1
char *p = (char *) $1;
#endif
], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)])
if test $ac_cv_have_decl_$1 = yes; then
gt_value=1
else
gt_value=0
fi
AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value],
[Define to 1 if you have the declaration of `$1', and to 0 if you don't.])
])

19
m4/intldir.m4 Normal file
View File

@ -0,0 +1,19 @@
# intldir.m4 serial 1 (gettext-0.16)
dnl Copyright (C) 2006 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl
dnl This file can can be used in projects which are not available under
dnl the GNU General Public License or the GNU Library General Public
dnl License but which still want to provide support for the GNU gettext
dnl functionality.
dnl Please note that the actual code of the GNU gettext library is covered
dnl by the GNU Library General Public License, and the rest of the GNU
dnl gettext package package is covered by the GNU General Public License.
dnl They are *not* in the public domain.
AC_PREREQ(2.52)
dnl Tells the AM_GNU_GETTEXT macro to consider an intl/ directory.
AC_DEFUN([AM_GNU_GETTEXT_INTL_SUBDIR], [])

View File

@ -1,4 +1,4 @@
# intmax.m4 serial 2 (gettext-0.14.2) # intmax.m4 serial 3 (gettext-0.16)
dnl Copyright (C) 2002-2005 Free Software Foundation, Inc. dnl Copyright (C) 2002-2005 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it, dnl gives unlimited permission to copy and/or distribute it,
@ -22,7 +22,10 @@ AC_DEFUN([gt_TYPE_INTMAX_T],
#if HAVE_INTTYPES_H_WITH_UINTMAX #if HAVE_INTTYPES_H_WITH_UINTMAX
#include <inttypes.h> #include <inttypes.h>
#endif #endif
], [intmax_t x = -1;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)]) ], [intmax_t x = -1;
return !x;],
gt_cv_c_intmax_t=yes,
gt_cv_c_intmax_t=no)])
if test $gt_cv_c_intmax_t = yes; then if test $gt_cv_c_intmax_t = yes; then
AC_DEFINE(HAVE_INTMAX_T, 1, AC_DEFINE(HAVE_INTMAX_T, 1,
[Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.]) [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])

View File

@ -1,4 +1,4 @@
# inttypes-pri.m4 serial 2 (gettext-0.15) # inttypes-pri.m4 serial 4 (gettext-0.16)
dnl Copyright (C) 1997-2002, 2006 Free Software Foundation, Inc. dnl Copyright (C) 1997-2002, 2006 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it, dnl gives unlimited permission to copy and/or distribute it,
@ -6,13 +6,15 @@ dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible. dnl From Bruno Haible.
AC_PREREQ(2.52)
# Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI* # Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
# macros to non-string values. This is the case on AIX 4.3.3. # macros to non-string values. This is the case on AIX 4.3.3.
AC_DEFUN([gt_INTTYPES_PRI], AC_DEFUN([gt_INTTYPES_PRI],
[ [
AC_REQUIRE([gl_HEADER_INTTYPES_H]) AC_CHECK_HEADERS([inttypes.h])
if test $gl_cv_header_inttypes_h = yes; then if test $ac_cv_header_inttypes_h = yes; then
AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
gt_cv_inttypes_pri_broken, gt_cv_inttypes_pri_broken,
[ [
@ -26,5 +28,9 @@ char *p = PRId32;
if test "$gt_cv_inttypes_pri_broken" = yes; then if test "$gt_cv_inttypes_pri_broken" = yes; then
AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1, AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
[Define if <inttypes.h> exists and defines unusable PRI* macros.]) [Define if <inttypes.h> exists and defines unusable PRI* macros.])
PRI_MACROS_BROKEN=1
else
PRI_MACROS_BROKEN=0
fi fi
AC_SUBST([PRI_MACROS_BROKEN])
]) ])

View File

@ -1,5 +1,5 @@
# inttypes_h.m4 serial 6 # inttypes_h.m4 serial 7
dnl Copyright (C) 1997-2004 Free Software Foundation, Inc. dnl Copyright (C) 1997-2004, 2006 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it, dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved. dnl with or without modifications, as long as this notice is preserved.
@ -15,7 +15,7 @@ AC_DEFUN([gl_AC_HEADER_INTTYPES_H],
[AC_TRY_COMPILE( [AC_TRY_COMPILE(
[#include <sys/types.h> [#include <sys/types.h>
#include <inttypes.h>], #include <inttypes.h>],
[uintmax_t i = (uintmax_t) -1;], [uintmax_t i = (uintmax_t) -1; return !i;],
gl_cv_header_inttypes_h=yes, gl_cv_header_inttypes_h=yes,
gl_cv_header_inttypes_h=no)]) gl_cv_header_inttypes_h=no)])
if test $gl_cv_header_inttypes_h = yes; then if test $gl_cv_header_inttypes_h = yes; then

View File

@ -1,4 +1,4 @@
# lib-link.m4 serial 8 (gettext-0.15) # lib-link.m4 serial 9 (gettext-0.16)
dnl Copyright (C) 2001-2006 Free Software Foundation, Inc. dnl Copyright (C) 2001-2006 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it, dnl gives unlimited permission to copy and/or distribute it,
@ -198,9 +198,16 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
found_so= found_so=
found_a= found_a=
if test $use_additional = yes; then if test $use_additional = yes; then
if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then if test -n "$shlibext" \
&& { test -f "$additional_libdir/lib$name.$shlibext" \
|| { test "$shlibext" = dll \
&& test -f "$additional_libdir/lib$name.dll.a"; }; }; then
found_dir="$additional_libdir" found_dir="$additional_libdir"
found_so="$additional_libdir/lib$name.$shlibext" if test -f "$additional_libdir/lib$name.$shlibext"; then
found_so="$additional_libdir/lib$name.$shlibext"
else
found_so="$additional_libdir/lib$name.dll.a"
fi
if test -f "$additional_libdir/lib$name.la"; then if test -f "$additional_libdir/lib$name.la"; then
found_la="$additional_libdir/lib$name.la" found_la="$additional_libdir/lib$name.la"
fi fi
@ -220,9 +227,16 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
case "$x" in case "$x" in
-L*) -L*)
dir=`echo "X$x" | sed -e 's/^X-L//'` dir=`echo "X$x" | sed -e 's/^X-L//'`
if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then if test -n "$shlibext" \
&& { test -f "$dir/lib$name.$shlibext" \
|| { test "$shlibext" = dll \
&& test -f "$dir/lib$name.dll.a"; }; }; then
found_dir="$dir" found_dir="$dir"
found_so="$dir/lib$name.$shlibext" if test -f "$dir/lib$name.$shlibext"; then
found_so="$dir/lib$name.$shlibext"
else
found_so="$dir/lib$name.dll.a"
fi
if test -f "$dir/lib$name.la"; then if test -f "$dir/lib$name.la"; then
found_la="$dir/lib$name.la" found_la="$dir/lib$name.la"
fi fi

View File

@ -1,5 +1,5 @@
# lock.m4 serial 2 (gettext-0.15) # lock.m4 serial 6 (gettext-0.16)
dnl Copyright (C) 2005 Free Software Foundation, Inc. dnl Copyright (C) 2005-2006 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it, dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved. dnl with or without modifications, as long as this notice is preserved.
@ -19,14 +19,14 @@ dnl symbols, typically LIBTHREAD="" whereas LIBMULTITHREAD="-lpthread".
dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for
dnl multithread-safe programs. dnl multithread-safe programs.
AC_DEFUN([gl_LOCK], AC_DEFUN([gl_LOCK_EARLY],
[ [
AC_REQUIRE([gl_LOCK_BODY]) AC_REQUIRE([gl_LOCK_EARLY_BODY])
]) ])
dnl The guts of gl_LOCK. Needs to be expanded only once. dnl The guts of gl_LOCK_EARLY. Needs to be expanded only once.
AC_DEFUN([gl_LOCK_BODY], AC_DEFUN([gl_LOCK_EARLY_BODY],
[ [
dnl Ordering constraints: This macro modifies CPPFLAGS in a way that dnl Ordering constraints: This macro modifies CPPFLAGS in a way that
dnl influences the result of the autoconf tests that test for *_unlocked dnl influences the result of the autoconf tests that test for *_unlocked
@ -40,7 +40,43 @@ AC_DEFUN([gl_LOCK_BODY],
AC_ARG_ENABLE(threads, AC_ARG_ENABLE(threads,
AC_HELP_STRING([--enable-threads={posix|solaris|pth|win32}], [specify multithreading API]) AC_HELP_STRING([--enable-threads={posix|solaris|pth|win32}], [specify multithreading API])
AC_HELP_STRING([--disable-threads], [build without multithread safety]), AC_HELP_STRING([--disable-threads], [build without multithread safety]),
gl_use_threads=$enableval, gl_use_threads=yes) [gl_use_threads=$enableval],
[case "$host_os" in
dnl Disable multithreading by default on OSF/1, because it interferes
dnl with fork()/exec(): When msgexec is linked with -lpthread, its child
dnl process gets an endless segmentation fault inside execvp().
osf*) gl_use_threads=no ;;
*) gl_use_threads=yes ;;
esac
])
if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
# For using <pthread.h>:
case "$host_os" in
osf*)
# On OSF/1, the compiler needs the flag -D_REENTRANT so that it
# groks <pthread.h>. cc also understands the flag -pthread, but
# we don't use it because 1. gcc-2.95 doesn't understand -pthread,
# 2. putting a flag into CPPFLAGS that has an effect on the linker
# causes the AC_TRY_LINK test below to succeed unexpectedly,
# leading to wrong values of LIBTHREAD and LTLIBTHREAD.
CPPFLAGS="$CPPFLAGS -D_REENTRANT"
;;
esac
# Some systems optimize for single-threaded programs by default, and
# need special flags to disable these optimizations. For example, the
# definition of 'errno' in <errno.h>.
case "$host_os" in
aix* | freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;;
solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;;
esac
fi
])
dnl The guts of gl_LOCK. Needs to be expanded only once.
AC_DEFUN([gl_LOCK_BODY],
[
AC_REQUIRE([gl_LOCK_EARLY_BODY])
gl_threads_api=none gl_threads_api=none
LIBTHREAD= LIBTHREAD=
LTLIBTHREAD= LTLIBTHREAD=
@ -55,26 +91,12 @@ AC_HELP_STRING([--disable-threads], [build without multithread safety]),
AC_MSG_RESULT([$gl_have_weak]) AC_MSG_RESULT([$gl_have_weak])
if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
# On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that
# it groks <pthread.h>. # it groks <pthread.h>. It's added above, in gl_LOCK_EARLY_BODY.
gl_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS -D_REENTRANT"
AC_CHECK_HEADER(pthread.h, gl_have_pthread_h=yes, gl_have_pthread_h=no) AC_CHECK_HEADER(pthread.h, gl_have_pthread_h=yes, gl_have_pthread_h=no)
CPPFLAGS="$gl_save_CPPFLAGS"
if test "$gl_have_pthread_h" = yes; then if test "$gl_have_pthread_h" = yes; then
# Other possible tests: # Other possible tests:
# -lpthreads (FSU threads, PCthreads) # -lpthreads (FSU threads, PCthreads)
# -lgthreads # -lgthreads
case "$host_os" in
osf*)
# On OSF/1, the compiler needs the flag -D_REENTRANT so that it
# groks <pthread.h>. cc also understands the flag -pthread, but
# we don't use it because 1. gcc-2.95 doesn't understand -pthread,
# 2. putting a flag into CPPFLAGS that has an effect on the linker
# causes the AC_TRY_LINK test below to succeed unexpectedly,
# leading to wrong values of LIBTHREAD and LTLIBTHREAD.
CPPFLAGS="$CPPFLAGS -D_REENTRANT"
;;
esac
gl_have_pthread= gl_have_pthread=
# Test whether both pthread_mutex_lock and pthread_mutexattr_init exist # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist
# in libc. IRIX 6.5 has the first one in both libc and libpthread, but # in libc. IRIX 6.5 has the first one in both libc and libpthread, but
@ -139,16 +161,10 @@ AC_HELP_STRING([--disable-threads], [build without multithread safety]),
error "No, in FreeBSD 4.0 recursive mutexes actually don't work." error "No, in FreeBSD 4.0 recursive mutexes actually don't work."
#else #else
int x = (int)PTHREAD_MUTEX_RECURSIVE; int x = (int)PTHREAD_MUTEX_RECURSIVE;
return !x;
#endif], #endif],
[AC_DEFINE([HAVE_PTHREAD_MUTEX_RECURSIVE], 1, [AC_DEFINE([HAVE_PTHREAD_MUTEX_RECURSIVE], 1,
[Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE.])]) [Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE.])])
# Some systems optimize for single-threaded programs by default, and
# need special flags to disable these optimizations. For example, the
# definition of 'errno' in <errno.h>.
case "$host_os" in
aix* | freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;;
solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;;
esac
fi fi
fi fi
fi fi
@ -227,6 +243,12 @@ int x = (int)PTHREAD_MUTEX_RECURSIVE;
AC_SUBST(LTLIBTHREAD) AC_SUBST(LTLIBTHREAD)
AC_SUBST(LIBMULTITHREAD) AC_SUBST(LIBMULTITHREAD)
AC_SUBST(LTLIBMULTITHREAD) AC_SUBST(LTLIBMULTITHREAD)
])
AC_DEFUN([gl_LOCK],
[
AC_REQUIRE([gl_LOCK_EARLY])
AC_REQUIRE([gl_LOCK_BODY])
gl_PREREQ_LOCK gl_PREREQ_LOCK
]) ])

View File

@ -1,21 +1,46 @@
# longlong.m4 serial 5 # longlong.m4 serial 8
dnl Copyright (C) 1999-2004 Free Software Foundation, Inc. dnl Copyright (C) 1999-2006 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it, dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved. dnl with or without modifications, as long as this notice is preserved.
dnl From Paul Eggert. dnl From Paul Eggert.
# Define HAVE_LONG_LONG if 'long long' works. # Define HAVE_LONG_LONG_INT if 'long long int' works.
# This fixes a bug in Autoconf 2.60, but can be removed once we
# assume 2.61 everywhere.
# Note: If the type 'long long int' exists but is only 32 bits large
# (as on some very old compilers), AC_TYPE_LONG_LONG_INT will not be
# defined. In this case you can treat 'long long int' like 'long int'.
AC_DEFUN([AC_TYPE_LONG_LONG_INT],
[
AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int],
[AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[[long long int ll = 9223372036854775807ll;
long long int nll = -9223372036854775807LL;
typedef int a[((-9223372036854775807LL < 0
&& 0 < 9223372036854775807ll)
? 1 : -1)];
int i = 63;]],
[[long long int llmax = 9223372036854775807ll;
return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
| (llmax / ll) | (llmax % ll));]])],
[ac_cv_type_long_long_int=yes],
[ac_cv_type_long_long_int=no])])
if test $ac_cv_type_long_long_int = yes; then
AC_DEFINE([HAVE_LONG_LONG_INT], 1,
[Define to 1 if the system has the type `long long int'.])
fi
])
# This macro is obsolescent and should go away soon.
AC_DEFUN([gl_AC_TYPE_LONG_LONG], AC_DEFUN([gl_AC_TYPE_LONG_LONG],
[ [
AC_CACHE_CHECK([for long long], ac_cv_type_long_long, AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
[AC_TRY_LINK([long long ll = 1LL; int i = 63;], ac_cv_type_long_long=$ac_cv_type_long_long_int
[long long llmax = (long long) -1;
return ll << i | ll >> i | llmax / ll | llmax % ll;],
ac_cv_type_long_long=yes,
ac_cv_type_long_long=no)])
if test $ac_cv_type_long_long = yes; then if test $ac_cv_type_long_long = yes; then
AC_DEFINE(HAVE_LONG_LONG, 1, AC_DEFINE(HAVE_LONG_LONG, 1,
[Define if you have the 'long long' type.]) [Define if you have the 'long long' type.])

View File

@ -1,4 +1,4 @@
# size_max.m4 serial 4 # size_max.m4 serial 5
dnl Copyright (C) 2003, 2005-2006 Free Software Foundation, Inc. dnl Copyright (C) 2003, 2005-2006 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it, dnl gives unlimited permission to copy and/or distribute it,
@ -11,8 +11,9 @@ AC_DEFUN([gl_SIZE_MAX],
AC_CHECK_HEADERS(stdint.h) AC_CHECK_HEADERS(stdint.h)
dnl First test whether the system already has SIZE_MAX. dnl First test whether the system already has SIZE_MAX.
AC_MSG_CHECKING([for SIZE_MAX]) AC_MSG_CHECKING([for SIZE_MAX])
result= AC_CACHE_VAL([gl_cv_size_max], [
AC_EGREP_CPP([Found it], [ gl_cv_size_max=
AC_EGREP_CPP([Found it], [
#include <limits.h> #include <limits.h>
#if HAVE_STDINT_H #if HAVE_STDINT_H
#include <stdint.h> #include <stdint.h>
@ -20,41 +21,42 @@ AC_DEFUN([gl_SIZE_MAX],
#ifdef SIZE_MAX #ifdef SIZE_MAX
Found it Found it
#endif #endif
], result=yes) ], gl_cv_size_max=yes)
if test -z "$result"; then if test -z "$gl_cv_size_max"; then
dnl Define it ourselves. Here we assume that the type 'size_t' is not wider dnl Define it ourselves. Here we assume that the type 'size_t' is not wider
dnl than the type 'unsigned long'. Try hard to find a definition that can dnl than the type 'unsigned long'. Try hard to find a definition that can
dnl be used in a preprocessor #if, i.e. doesn't contain a cast. dnl be used in a preprocessor #if, i.e. doesn't contain a cast.
_AC_COMPUTE_INT([sizeof (size_t) * CHAR_BIT - 1], size_t_bits_minus_1, _AC_COMPUTE_INT([sizeof (size_t) * CHAR_BIT - 1], size_t_bits_minus_1,
[#include <stddef.h> [#include <stddef.h>
#include <limits.h>], size_t_bits_minus_1=) #include <limits.h>], size_t_bits_minus_1=)
_AC_COMPUTE_INT([sizeof (size_t) <= sizeof (unsigned int)], fits_in_uint, _AC_COMPUTE_INT([sizeof (size_t) <= sizeof (unsigned int)], fits_in_uint,
[#include <stddef.h>], fits_in_uint=) [#include <stddef.h>], fits_in_uint=)
if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then
if test $fits_in_uint = 1; then if test $fits_in_uint = 1; then
dnl Even though SIZE_MAX fits in an unsigned int, it must be of type dnl Even though SIZE_MAX fits in an unsigned int, it must be of type
dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'. dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'.
AC_TRY_COMPILE([#include <stddef.h> AC_TRY_COMPILE([#include <stddef.h>
extern size_t foo; extern size_t foo;
extern unsigned long foo; extern unsigned long foo;
], [], fits_in_uint=0) ], [], fits_in_uint=0)
fi fi
dnl We cannot use 'expr' to simplify this expression, because 'expr' dnl We cannot use 'expr' to simplify this expression, because 'expr'
dnl works only with 'long' integers in the host environment, while we dnl works only with 'long' integers in the host environment, while we
dnl might be cross-compiling from a 32-bit platform to a 64-bit platform. dnl might be cross-compiling from a 32-bit platform to a 64-bit platform.
if test $fits_in_uint = 1; then if test $fits_in_uint = 1; then
result="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)" gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)"
else
gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)"
fi
else else
result="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)" dnl Shouldn't happen, but who knows...
gl_cv_size_max='((size_t)~(size_t)0)'
fi fi
else
dnl Shouldn't happen, but who knows...
result='((size_t)~(size_t)0)'
fi fi
fi ])
AC_MSG_RESULT([$result]) AC_MSG_RESULT([$gl_cv_size_max])
if test "$result" != yes; then if test "$gl_cv_size_max" != yes; then
AC_DEFINE_UNQUOTED([SIZE_MAX], [$result], AC_DEFINE_UNQUOTED([SIZE_MAX], [$gl_cv_size_max],
[Define as the maximum value of type 'size_t', if the system doesn't define it.]) [Define as the maximum value of type 'size_t', if the system doesn't define it.])
fi fi
]) ])

View File

@ -1,5 +1,5 @@
# stdint_h.m4 serial 5 # stdint_h.m4 serial 6
dnl Copyright (C) 1997-2004 Free Software Foundation, Inc. dnl Copyright (C) 1997-2004, 2006 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it, dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved. dnl with or without modifications, as long as this notice is preserved.
@ -15,7 +15,7 @@ AC_DEFUN([gl_AC_HEADER_STDINT_H],
[AC_TRY_COMPILE( [AC_TRY_COMPILE(
[#include <sys/types.h> [#include <sys/types.h>
#include <stdint.h>], #include <stdint.h>],
[uintmax_t i = (uintmax_t) -1;], [uintmax_t i = (uintmax_t) -1; return !i;],
gl_cv_header_stdint_h=yes, gl_cv_header_stdint_h=yes,
gl_cv_header_stdint_h=no)]) gl_cv_header_stdint_h=no)])
if test $gl_cv_header_stdint_h = yes; then if test $gl_cv_header_stdint_h = yes; then

View File

@ -1,21 +1,46 @@
# ulonglong.m4 serial 4 # ulonglong.m4 serial 6
dnl Copyright (C) 1999-2004 Free Software Foundation, Inc. dnl Copyright (C) 1999-2006 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it, dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved. dnl with or without modifications, as long as this notice is preserved.
dnl From Paul Eggert. dnl From Paul Eggert.
# Define HAVE_UNSIGNED_LONG_LONG if 'unsigned long long' works. # Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works.
# This fixes a bug in Autoconf 2.60, but can be removed once we
# assume 2.61 everywhere.
# Note: If the type 'unsigned long long int' exists but is only 32 bits
# large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT
# will not be defined. In this case you can treat 'unsigned long long int'
# like 'unsigned long int'.
AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT],
[
AC_CACHE_CHECK([for unsigned long long int],
[ac_cv_type_unsigned_long_long_int],
[AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[[unsigned long long int ull = 18446744073709551615ULL;
typedef int a[(18446744073709551615ULL <= (unsigned long long int) -1
? 1 : -1)];
int i = 63;]],
[[unsigned long long int ullmax = 18446744073709551615ull;
return (ull << 63 | ull >> 63 | ull << i | ull >> i
| ullmax / ull | ullmax % ull);]])],
[ac_cv_type_unsigned_long_long_int=yes],
[ac_cv_type_unsigned_long_long_int=no])])
if test $ac_cv_type_unsigned_long_long_int = yes; then
AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], 1,
[Define to 1 if the system has the type `unsigned long long int'.])
fi
])
# This macro is obsolescent and should go away soon.
AC_DEFUN([gl_AC_TYPE_UNSIGNED_LONG_LONG], AC_DEFUN([gl_AC_TYPE_UNSIGNED_LONG_LONG],
[ [
AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long, AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT])
[AC_TRY_LINK([unsigned long long ull = 1ULL; int i = 63;], ac_cv_type_unsigned_long_long=$ac_cv_type_unsigned_long_long_int
[unsigned long long ullmax = (unsigned long long) -1;
return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
ac_cv_type_unsigned_long_long=yes,
ac_cv_type_unsigned_long_long=no)])
if test $ac_cv_type_unsigned_long_long = yes; then if test $ac_cv_type_unsigned_long_long = yes; then
AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
[Define if you have the 'unsigned long long' type.]) [Define if you have the 'unsigned long long' type.])

View File

@ -1,3 +1,7 @@
2007-05-07 gettextize <bug-gnu-gettext@gnu.org>
* Makefile.in.in: Upgrade to gettext-0.16.1.
2007-02-26 Werner Koch <wk@g10code.com> 2007-02-26 Werner Koch <wk@g10code.com>
* sv.po: Update from Daniel. * sv.po: Update from Daniel.

View File

@ -8,7 +8,7 @@
# Please note that the actual code of GNU gettext is covered by the GNU # Please note that the actual code of GNU gettext is covered by the GNU
# General Public License and is *not* in the public domain. # General Public License and is *not* in the public domain.
# #
# Origin: gettext-0.15 # Origin: gettext-0.16
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
VERSION = @VERSION@ VERSION = @VERSION@
@ -30,7 +30,17 @@ gettextsrcdir = $(datadir)/gettext/po
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
# We use $(mkdir_p).
# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
# @install_sh@ does not start with $(SHELL), so we add it.
# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
# versions, $(mkinstalldirs) and $(install_sh) are unused.
mkinstalldirs = $(SHELL) @install_sh@ -d mkinstalldirs = $(SHELL) @install_sh@ -d
install_sh = $(SHELL) @install_sh@
MKDIR_P = @MKDIR_P@
mkdir_p = @mkdir_p@ mkdir_p = @mkdir_p@
GMSGFMT_ = @GMSGFMT@ GMSGFMT_ = @GMSGFMT@

41
po/Makevars.template Normal file
View File

@ -0,0 +1,41 @@
# Makefile variables for PO directory in any package using GNU gettext.
# Usually the message domain is the same as the package name.
DOMAIN = $(PACKAGE)
# These two variables depend on the location of this directory.
subdir = po
top_builddir = ..
# These options get passed to xgettext.
XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
# This is the copyright holder that gets inserted into the header of the
# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
# package. (Note that the msgstr strings, extracted from the package's
# sources, belong to the copyright holder of the package.) Translators are
# expected to transfer the copyright for their translations to this person
# or entity, or to disclaim their copyright. The empty string stands for
# the public domain; in this case the translators are expected to disclaim
# their copyright.
COPYRIGHT_HOLDER = Free Software Foundation, Inc.
# This is the email address or URL to which the translators shall report
# bugs in the untranslated strings:
# - Strings which are not entire sentences, see the maintainer guidelines
# in the GNU gettext documentation, section 'Preparing Strings'.
# - Strings which use unclear terms or require additional context to be
# understood.
# - Strings which make invalid assumptions about notation of date, time or
# money.
# - Pluralisation problems.
# - Incorrect English spelling.
# - Incorrect formatting.
# It can be your email address, or a mailing list address where translators
# can write to without being subscribed, or the URL of a web page through
# which the translators can contact you.
MSGID_BUGS_ADDRESS =
# This is the list of locale categories, beyond LC_MESSAGES, for which the
# message catalogs shall be used. It is usually empty.
EXTRA_LOCALE_CATEGORIES =

680
po/be.po

File diff suppressed because it is too large Load Diff

684
po/ca.po

File diff suppressed because it is too large Load Diff

680
po/cs.po

File diff suppressed because it is too large Load Diff

679
po/da.po

File diff suppressed because it is too large Load Diff

688
po/de.po

File diff suppressed because it is too large Load Diff

684
po/el.po

File diff suppressed because it is too large Load Diff

679
po/eo.po

File diff suppressed because it is too large Load Diff

684
po/es.po

File diff suppressed because it is too large Load Diff

684
po/et.po

File diff suppressed because it is too large Load Diff

684
po/fi.po

File diff suppressed because it is too large Load Diff

681
po/fr.po

File diff suppressed because it is too large Load Diff

684
po/gl.po

File diff suppressed because it is too large Load Diff

684
po/hu.po

File diff suppressed because it is too large Load Diff

684
po/id.po

File diff suppressed because it is too large Load Diff

684
po/it.po

File diff suppressed because it is too large Load Diff

680
po/ja.po

File diff suppressed because it is too large Load Diff

680
po/nb.po

File diff suppressed because it is too large Load Diff

684
po/pl.po

File diff suppressed because it is too large Load Diff

689
po/pt.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

684
po/ro.po

File diff suppressed because it is too large Load Diff

684
po/ru.po

File diff suppressed because it is too large Load Diff

684
po/sk.po

File diff suppressed because it is too large Load Diff

684
po/sv.po

File diff suppressed because it is too large Load Diff

685
po/tr.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,9 @@
#! /bin/sh #! /bin/sh
# Wrapper for compilers which do not understand `-c -o'. # Wrapper for compilers which do not understand `-c -o'.
# Copyright 1999, 2000 Free Software Foundation, Inc. scriptversion=2005-05-14.22
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>. # Written by Tom Tromey <tromey@cygnus.com>.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -17,92 +18,125 @@
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software # along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# USA..
# As a special exception to the GNU General Public License, if you # As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a # distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under # configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program. # the same distribution terms that you use for the rest of that program.
# Usage: # This file is maintained in Automake, please report
# compile PROGRAM [ARGS]... # bugs to <bug-automake@gnu.org> or send patches to
# `-o FOO.o' is removed from the args passed to the actual compile. # <automake-patches@gnu.org>.
# Usage statement added by Billy Biggs <vektor@dumbterm.net>. case $1 in
if [ -z $1 ]; then '')
echo "Wrapper for compilers which do not understand '-c -o'." echo "$0: No command. Try \`$0 --help' for more information." 1>&2
echo "usage: compile PROGRAM [ARGS]..." exit 1;
echo "'-o FOO.o' is removed from the args passed to the actual compile." ;;
exit 1 -h | --h*)
fi cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
prog=$1 Wrapper for compilers which do not understand `-c -o'.
shift Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
right script to run: please start by reading the file `INSTALL'.
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "compile $scriptversion"
exit $?
;;
esac
ofile= ofile=
cfile= cfile=
args= eat=
while test $# -gt 0; do
case "$1" in for arg
-o) do
# configure might choose to run compile as `compile cc -o foo foo.c'. if test -n "$eat"; then
# So we do something ugly here. eat=
ofile=$2 else
shift case $1 in
case "$ofile" in -o)
*.o | *.obj) # configure might choose to run compile as `compile cc -o foo foo.c'.
;; # So we strip `-o arg' only if arg is an object.
*) eat=1
args="$args -o $ofile" case $2 in
ofile= *.o | *.obj)
;; ofile=$2
esac ;;
;; *)
*.c) set x "$@" -o "$2"
cfile=$1 shift
args="$args $1" ;;
;; esac
*) ;;
args="$args $1" *.c)
;; cfile=$1
esac set x "$@" "$1"
shift shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done done
if test -z "$ofile" || test -z "$cfile"; then if test -z "$ofile" || test -z "$cfile"; then
# If no `-o' option was seen then we might have been invoked from a # If no `-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a # pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no # normal compilation that the losing compiler can handle. If no
# `.c' file was seen then we are probably linking. That is also # `.c' file was seen then we are probably linking. That is also
# ok. # ok.
exec "$prog" $args exec "$@"
fi fi
# Name of file we expect compiler to create. # Name of file we expect compiler to create.
cofile=`echo $cfile | sed -e 's|^.*/||' -e 's/\.c$/.o/'` cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
# Create the lock directory. # Create the lock directory.
# Note: use `[/.-]' here to ensure that we don't use the same name # Note: use `[/.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected # that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build. # object file name, since that is what matters with a parallel build.
lockdir=`echo $cofile | sed -e 's|[/.-]|_|g'`.d lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
while true; do while true; do
if mkdir $lockdir > /dev/null 2>&1; then if mkdir "$lockdir" >/dev/null 2>&1; then
break break
fi fi
sleep 1 sleep 1
done done
# FIXME: race condition here if user kills between mkdir and trap. # FIXME: race condition here if user kills between mkdir and trap.
trap "rmdir $lockdir; exit 1" 1 2 15 trap "rmdir '$lockdir'; exit 1" 1 2 15
# Run the compile. # Run the compile.
"$prog" $args "$@"
status=$? ret=$?
if test -f "$cofile"; then if test -f "$cofile"; then
mv "$cofile" "$ofile" mv "$cofile" "$ofile"
elif test -f "${cofile}bj"; then
mv "${cofile}bj" "$ofile"
fi fi
rmdir $lockdir rmdir "$lockdir"
exit $status exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

593
scripts/config.guess vendored

File diff suppressed because it is too large Load Diff

124
scripts/config.sub vendored
View File

@ -1,9 +1,9 @@
#! /bin/sh #! /bin/sh
# Configuration validation subroutine script. # Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. # 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
timestamp='2004-06-24' timestamp='2006-02-23'
# This file is (in principle) common to ALL GNU software. # This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software # The presence of a machine in this file suggests that SOME GNU software
@ -21,14 +21,15 @@ timestamp='2004-06-24'
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software # along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
# Boston, MA 02111-1307, USA. # 02110-1301, USA.
#
# As a special exception to the GNU General Public License, if you # As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a # distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under # configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program. # the same distribution terms that you use for the rest of that program.
# Please send patches to <config-patches@gnu.org>. Submit a context # Please send patches to <config-patches@gnu.org>. Submit a context
# diff and a properly formatted ChangeLog entry. # diff and a properly formatted ChangeLog entry.
# #
@ -70,7 +71,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\ version="\
GNU config.sub ($timestamp) GNU config.sub ($timestamp)
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc. Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO This is free software; see the source for copying conditions. There is NO
@ -83,11 +84,11 @@ Try \`$me --help' for more information."
while test $# -gt 0 ; do while test $# -gt 0 ; do
case $1 in case $1 in
--time-stamp | --time* | -t ) --time-stamp | --time* | -t )
echo "$timestamp" ; exit 0 ;; echo "$timestamp" ; exit ;;
--version | -v ) --version | -v )
echo "$version" ; exit 0 ;; echo "$version" ; exit ;;
--help | --h* | -h ) --help | --h* | -h )
echo "$usage"; exit 0 ;; echo "$usage"; exit ;;
-- ) # Stop option processing -- ) # Stop option processing
shift; break ;; shift; break ;;
- ) # Use stdin as input. - ) # Use stdin as input.
@ -99,7 +100,7 @@ while test $# -gt 0 ; do
*local*) *local*)
# First pass through any local machine types. # First pass through any local machine types.
echo $1 echo $1
exit 0;; exit ;;
* ) * )
break ;; break ;;
@ -118,8 +119,9 @@ esac
# Here we must recognize all the valid KERNEL-OS combinations. # Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in case $maybe_os in
nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;; ;;
@ -170,6 +172,10 @@ case $os in
-hiux*) -hiux*)
os=-hiuxwe2 os=-hiuxwe2
;; ;;
-sco6)
os=-sco5v6
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco5) -sco5)
os=-sco3.2v5 os=-sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@ -186,6 +192,10 @@ case $os in
# Don't forget version if it is 3.2v4 or newer. # Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;; ;;
-sco5v6*)
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco*) -sco*)
os=-sco3.2v2 os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@ -231,13 +241,14 @@ case $basic_machine in
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \ | am33_2.0 \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
| bfin \
| c4x | clipper \ | c4x | clipper \
| d10v | d30v | dlx | dsp16xx \ | d10v | d30v | dlx | dsp16xx \
| fr30 | frv \ | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \ | i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \ | ip2k | iq2000 \
| m32r | m32rle | m68000 | m68k | m88k | mcore \ | m32r | m32rle | m68000 | m68k | m88k | maxq | mb | microblaze | mcore \
| mips | mipsbe | mipseb | mipsel | mipsle \ | mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \ | mips16 \
| mips64 | mips64el \ | mips64 | mips64el \
@ -246,6 +257,7 @@ case $basic_machine in
| mips64vr4100 | mips64vr4100el \ | mips64vr4100 | mips64vr4100el \
| mips64vr4300 | mips64vr4300el \ | mips64vr4300 | mips64vr4300el \
| mips64vr5000 | mips64vr5000el \ | mips64vr5000 | mips64vr5000el \
| mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \ | mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \ | mipsisa32r2 | mipsisa32r2el \
| mipsisa64 | mipsisa64el \ | mipsisa64 | mipsisa64el \
@ -254,23 +266,29 @@ case $basic_machine in
| mipsisa64sr71k | mipsisa64sr71kel \ | mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \ | mipstx39 | mipstx39el \
| mn10200 | mn10300 \ | mn10200 | mn10300 \
| mt \
| msp430 \ | msp430 \
| nios | nios2 \
| ns16k | ns32k \ | ns16k | ns32k \
| openrisc | or32 \ | or32 \
| pdp10 | pdp11 | pj | pjl \ | pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \ | pyramid \
| sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \ | sh64 | sh64le \
| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \ | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b \
| strongarm \ | strongarm \
| tahoe | thumb | tic4x | tic80 | tron \ | tahoe | thumb | tic4x | tic80 | tron \
| v850 | v850e \ | v850 | v850e \
| we32k \ | we32k \
| x86 | xscale | xstormy16 | xtensa \ | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
| z8k) | z8k)
basic_machine=$basic_machine-unknown basic_machine=$basic_machine-unknown
;; ;;
m32c)
basic_machine=$basic_machine-unknown
;;
m6811 | m68hc11 | m6812 | m68hc12) m6811 | m68hc11 | m6812 | m68hc12)
# Motorola 68HC11/12. # Motorola 68HC11/12.
basic_machine=$basic_machine-unknown basic_machine=$basic_machine-unknown
@ -278,6 +296,9 @@ case $basic_machine in
;; ;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
;; ;;
ms1)
basic_machine=mt-unknown
;;
# We use `pc' rather than `unknown' # We use `pc' rather than `unknown'
# because (1) that's what they normally are, and # because (1) that's what they normally are, and
@ -298,7 +319,7 @@ case $basic_machine in
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* \ | avr-* \
| bs2000-* \ | bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
| clipper-* | craynv-* | cydra-* \ | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \ | d10v-* | d30v-* | dlx-* \
@ -310,7 +331,7 @@ case $basic_machine in
| ip2k-* | iq2000-* \ | ip2k-* | iq2000-* \
| m32r-* | m32rle-* \ | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | mcore-* \ | m88110-* | m88k-* | maxq-* | mcore-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \ | mips16-* \
| mips64-* | mips64el-* \ | mips64-* | mips64el-* \
@ -319,6 +340,7 @@ case $basic_machine in
| mips64vr4100-* | mips64vr4100el-* \ | mips64vr4100-* | mips64vr4100el-* \
| mips64vr4300-* | mips64vr4300el-* \ | mips64vr4300-* | mips64vr4300el-* \
| mips64vr5000-* | mips64vr5000el-* \ | mips64vr5000-* | mips64vr5000el-* \
| mips64vr5900-* | mips64vr5900el-* \
| mipsisa32-* | mipsisa32el-* \ | mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa32r2-* | mipsisa32r2el-* \
| mipsisa64-* | mipsisa64el-* \ | mipsisa64-* | mipsisa64el-* \
@ -327,27 +349,32 @@ case $basic_machine in
| mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipstx39-* | mipstx39el-* \ | mipstx39-* | mipstx39el-* \
| mmix-* \ | mmix-* \
| mt-* \
| msp430-* \ | msp430-* \
| nios-* | nios2-* \
| none-* | np1-* | ns16k-* | ns32k-* \ | none-* | np1-* | ns16k-* | ns32k-* \
| orion-* \ | orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \ | pyramid-* \
| romp-* | rs6000-* \ | romp-* | rs6000-* \
| sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
| sparclite-* \
| sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
| tahoe-* | thumb-* \ | tahoe-* | thumb-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tron-* \ | tron-* \
| v850-* | v850e-* | vax-* \ | v850-* | v850e-* | vax-* \
| we32k-* \ | we32k-* \
| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
| xtensa-* \ | xstormy16-* | xtensa-* \
| ymp-* \ | ymp-* \
| z8k-*) | z8k-*)
;; ;;
m32c-*)
;;
# Recognize the various machine names and aliases which stand # Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS. # for a CPU type and a company and sometimes even an OS.
386bsd) 386bsd)
@ -457,6 +484,9 @@ case $basic_machine in
crds | unos) crds | unos)
basic_machine=m68k-crds basic_machine=m68k-crds
;; ;;
crisv32 | crisv32-* | etraxfs*)
basic_machine=crisv32-axis
;;
cris | cris-* | etrax*) cris | cris-* | etrax*)
basic_machine=cris-axis basic_machine=cris-axis
;; ;;
@ -486,6 +516,10 @@ case $basic_machine in
basic_machine=m88k-motorola basic_machine=m88k-motorola
os=-sysv3 os=-sysv3
;; ;;
djgpp)
basic_machine=i586-pc
os=-msdosdjgpp
;;
dpx20 | dpx20-*) dpx20 | dpx20-*)
basic_machine=rs6000-bull basic_machine=rs6000-bull
os=-bosx os=-bosx
@ -676,6 +710,9 @@ case $basic_machine in
basic_machine=i386-pc basic_machine=i386-pc
os=-msdos os=-msdos
;; ;;
ms1-*)
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;;
mvs) mvs)
basic_machine=i370-ibm basic_machine=i370-ibm
os=-mvs os=-mvs
@ -751,9 +788,8 @@ case $basic_machine in
basic_machine=hppa1.1-oki basic_machine=hppa1.1-oki
os=-proelf os=-proelf
;; ;;
or32 | or32-*) openrisc | openrisc-*)
basic_machine=or32-unknown basic_machine=or32-unknown
os=-coff
;; ;;
os400) os400)
basic_machine=powerpc-ibm basic_machine=powerpc-ibm
@ -784,6 +820,12 @@ case $basic_machine in
pc532 | pc532-*) pc532 | pc532-*)
basic_machine=ns32k-pc532 basic_machine=ns32k-pc532
;; ;;
pc98)
basic_machine=i386-pc
;;
pc98-*)
basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentium | p5 | k5 | k6 | nexgen | viac3) pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc basic_machine=i586-pc
;; ;;
@ -840,6 +882,10 @@ case $basic_machine in
basic_machine=i586-unknown basic_machine=i586-unknown
os=-pw32 os=-pw32
;; ;;
rdos)
basic_machine=i386-pc
os=-rdos
;;
rom68k) rom68k)
basic_machine=m68k-rom68k basic_machine=m68k-rom68k
os=-coff os=-coff
@ -1026,6 +1072,10 @@ case $basic_machine in
basic_machine=hppa1.1-winbond basic_machine=hppa1.1-winbond
os=-proelf os=-proelf
;; ;;
xbox)
basic_machine=i686-pc
os=-mingw32
;;
xps | xps100) xps | xps100)
basic_machine=xps100-honeywell basic_machine=xps100-honeywell
;; ;;
@ -1075,12 +1125,9 @@ case $basic_machine in
we32k) we32k)
basic_machine=we32k-att basic_machine=we32k-att
;; ;;
sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown basic_machine=sh-unknown
;; ;;
sh64)
basic_machine=sh64-unknown
;;
sparc | sparcv8 | sparcv9 | sparcv9b) sparc | sparcv8 | sparcv9 | sparcv9b)
basic_machine=sparc-sun basic_machine=sparc-sun
;; ;;
@ -1154,20 +1201,23 @@ case $os in
| -aos* \ | -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
| -openbsd* | -solidbsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* \ | -chorusos* | -chorusrdb* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*) | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
| -skyos* | -haiku* | -rdos*)
# Remember, each alternative MUST END IN *, to match a version number. # Remember, each alternative MUST END IN *, to match a version number.
;; ;;
-qnx*) -qnx*)
@ -1185,7 +1235,7 @@ case $os in
os=`echo $os | sed -e 's|nto|nto-qnx|'` os=`echo $os | sed -e 's|nto|nto-qnx|'`
;; ;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
| -windows* | -osx | -abug | -netware* | -os9* | -beos* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;; ;;
-mac*) -mac*)
@ -1294,6 +1344,9 @@ case $os in
-kaos*) -kaos*)
os=-kaos os=-kaos
;; ;;
-zvmoe)
os=-zvmoe
;;
-none) -none)
;; ;;
*) *)
@ -1371,6 +1424,9 @@ case $basic_machine in
*-be) *-be)
os=-beos os=-beos
;; ;;
*-haiku)
os=-haiku
;;
*-ibm) *-ibm)
os=-aix os=-aix
;; ;;
@ -1542,7 +1598,7 @@ case $basic_machine in
esac esac
echo $basic_machine$os echo $basic_machine$os
exit 0 exit
# Local variables: # Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp) # eval: (add-hook 'write-file-hooks 'time-stamp)

View File

@ -1,7 +1,10 @@
#! /bin/sh #! /bin/sh
# depcomp - compile a program generating dependencies as side-effects # depcomp - compile a program generating dependencies as side-effects
# Copyright 1999, 2000 Free Software Foundation, Inc.
scriptversion=2006-10-15.18
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software
# Foundation, Inc.
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by
@ -15,8 +18,8 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software # along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02111-1307, USA. # 02110-1301, USA.
# As a special exception to the GNU General Public License, if you # As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a # distribute this file as part of a program that contains a
@ -25,22 +28,45 @@
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>. # Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
case $1 in
'')
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
Run PROGRAMS ARGS to compile a file, generating dependencies
as side-effects.
Environment variables:
depmode Dependency tracking mode.
source Source file read by `PROGRAMS ARGS'.
object Object file output by `PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
tmpdepfile Temporary file to use when outputing dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "depcomp $scriptversion"
exit $?
;;
esac
if test -z "$depmode" || test -z "$source" || test -z "$object"; then if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2 echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1 exit 1
fi fi
# `libtool' can also be set to `yes' or `no'.
if test -z "$depfile"; then
base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
dir=`echo "$object" | sed 's,/.*$,/,'`
if test "$dir" = "$object"; then
dir=
fi
# FIXME: should be _deps on DOS.
depfile="$dir.deps/$base"
fi
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
depfile=${depfile-`echo "$object" |
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile" rm -f "$tmpdepfile"
@ -66,7 +92,20 @@ gcc3)
## gcc 3 implements dependency tracking that does exactly what ## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm. ## it if -MD -MP comes after the -MF stuff. Hmm.
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile" ## Unfortunately, FreeBSD c89 acceptance of flags depends upon
## the command line argument order; so add the flags where they
## appear in depend2.am. Note that the slowdown incurred here
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
for arg
do
case $arg in
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
*) set fnord "$@" "$arg" ;;
esac
shift # fnord
shift # $arg
done
"$@"
stat=$? stat=$?
if test $stat -eq 0; then : if test $stat -eq 0; then :
else else
@ -172,19 +211,25 @@ sgi)
aix) aix)
# The C for AIX Compiler uses -M and outputs the dependencies # The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. This file always lives in the current directory. # in a .u file. In older versions, this file always lives in the
# Also, the AIX compiler puts `$object:' at the start of each line; # current directory. Also, the AIX compiler puts `$object:' at the
# $object doesn't have directory information. # start of each line; $object doesn't have directory information.
stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'` # Version 6 uses the directory in both cases.
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
tmpdepfile="$stripped.u" tmpdepfile="$stripped.u"
outname="$stripped.o"
if test "$libtool" = yes; then if test "$libtool" = yes; then
"$@" -Wc,-M "$@" -Wc,-M
else else
"$@" -M "$@" -M
fi fi
stat=$? stat=$?
if test -f "$tmpdepfile"; then :
else
stripped=`echo "$stripped" | sed 's,^.*/,,'`
tmpdepfile="$stripped.u"
fi
if test $stat -eq 0; then : if test $stat -eq 0; then :
else else
rm -f "$tmpdepfile" rm -f "$tmpdepfile"
@ -192,6 +237,7 @@ aix)
fi fi
if test -f "$tmpdepfile"; then if test -f "$tmpdepfile"; then
outname="$stripped.o"
# Each line is of the form `foo.o: dependent.h'. # Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to # Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'. # `$object: dependent.h' and one to simply `dependent.h:'.
@ -244,6 +290,46 @@ icc)
rm -f "$tmpdepfile" rm -f "$tmpdepfile"
;; ;;
hp2)
# The "hp" stanza above does not work with aCC (C++) and HP's ia64
# compilers, which have integrated preprocessors. The correct option
# to use with these is +Maked; it writes dependencies to a file named
# 'foo.d', which lands next to the object file, wherever that
# happens to be.
# Much of this is similar to the tru64 case; see comments there.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir.libs/$base.d
"$@" -Wc,+Maked
else
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir$base.d
"$@" +Maked
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
do
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
# Add `dependent.h:' lines.
sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile" "$tmpdepfile2"
;;
tru64) tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side # The Tru64 compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
@ -255,31 +341,47 @@ tru64)
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then if test "$libtool" = yes; then
tmpdepfile1="$dir.libs/$base.lo.d" # With Tru64 cc, shared objects can also be used to make a
tmpdepfile2="$dir.libs/$base.d" # static library. This mechanism is used in libtool 1.4 series to
# handle both shared and static libraries in a single compilation.
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
#
# With libtool 1.5 this exception was removed, and libtool now
# generates 2 separate objects for the 2 libraries. These two
# compilations output dependencies in $dir.libs/$base.o.d and
# in $dir$base.o.d. We have to check for both files, because
# one of the two compilations can be disabled. We should prefer
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
# automatically cleaned when .libs/ is deleted, while ignoring
# the former would cause a distcleancheck panic.
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
tmpdepfile2=$dir$base.o.d # libtool 1.5
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
"$@" -Wc,-MD "$@" -Wc,-MD
else else
tmpdepfile1="$dir$base.o.d" tmpdepfile1=$dir$base.o.d
tmpdepfile2="$dir$base.d" tmpdepfile2=$dir$base.d
tmpdepfile3=$dir$base.d
tmpdepfile4=$dir$base.d
"$@" -MD "$@" -MD
fi fi
stat=$? stat=$?
if test $stat -eq 0; then : if test $stat -eq 0; then :
else else
rm -f "$tmpdepfile1" "$tmpdepfile2" rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
exit $stat exit $stat
fi fi
if test -f "$tmpdepfile1"; then for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
tmpdepfile="$tmpdepfile1" do
else test -f "$tmpdepfile" && break
tmpdepfile="$tmpdepfile2" done
fi
if test -f "$tmpdepfile"; then if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a space and a tab in the []. # That's a tab and a space in the [].
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else else
echo "#dummy" > "$depfile" echo "#dummy" > "$depfile"
fi fi
@ -292,7 +394,7 @@ tru64)
dashmstdout) dashmstdout)
# Important note: in order to support this mode, a compiler *must* # Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout, regardless of -o. # always write the preprocessed file to stdout, regardless of -o.
"$@" || exit $? "$@" || exit $?
# Remove the call to Libtool. # Remove the call to Libtool.
@ -388,7 +490,7 @@ makedepend)
cpp) cpp)
# Important note: in order to support this mode, a compiler *must* # Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout. # always write the preprocessed file to stdout.
"$@" || exit $? "$@" || exit $?
# Remove the call to Libtool. # Remove the call to Libtool.
@ -419,7 +521,8 @@ cpp)
done done
"$@" -E | "$@" -E |
sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile" sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile" rm -f "$depfile"
echo "$object : \\" > "$depfile" echo "$object : \\" > "$depfile"
@ -430,7 +533,7 @@ cpp)
msvisualcpp) msvisualcpp)
# Important note: in order to support this mode, a compiler *must* # Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout, regardless of -o, # always write the preprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool. # because we must use -o when running libtool.
"$@" || exit $? "$@" || exit $?
IFS=" " IFS=" "
@ -470,3 +573,12 @@ none)
esac esac
exit 0 exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

View File

@ -1,7 +1,8 @@
#!/bin/sh #!/bin/sh
#
# install - install a program, script, or datafile # install - install a program, script, or datafile
#
scriptversion=2006-10-14.15
# This originates from X11R5 (mit/util/scripts/install.sh), which was # This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the # later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license. # following copyright and license.
@ -38,17 +39,24 @@
# when there is no Makefile. # when there is no Makefile.
# #
# This script is compatible with the BSD install script, but was written # This script is compatible with the BSD install script, but was written
# from scratch. It can only install one file at a time, a restriction # from scratch.
# shared with many OS's install programs.
nl='
'
IFS=" "" $nl"
# set DOITPROG to echo to test this script # set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it. # Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}" doit="${DOITPROG-}"
if test -z "$doit"; then
doit_exec=exec
else
doit_exec=$doit
fi
# Put in absolute file names if you don't have them in your path;
# put in absolute paths if you don't have them in your path; or use env. vars. # or use environment vars.
mvprog="${MVPROG-mv}" mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}" cpprog="${CPPROG-cp}"
@ -59,236 +67,441 @@ stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}" rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}" mkdirprog="${MKDIRPROG-mkdir}"
transformbasename="" posix_glob=
transform_arg="" posix_mkdir=
instcmd="$mvprog"
chmodcmd="$chmodprog 0755" # Desired mode of installed file.
chowncmd="" mode=0755
chgrpcmd=""
stripcmd="" chmodcmd=$chmodprog
chowncmd=
chgrpcmd=
stripcmd=
rmcmd="$rmprog -f" rmcmd="$rmprog -f"
mvcmd="$mvprog" mvcmd="$mvprog"
src="" src=
dst="" dst=
dir_arg="" dir_arg=
dstarg=
no_target_directory=
while [ x"$1" != x ]; do usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
case $1 in or: $0 [OPTION]... SRCFILES... DIRECTORY
-c) instcmd=$cpprog or: $0 [OPTION]... -t DIRECTORY SRCFILES...
shift or: $0 [OPTION]... -d DIRECTORIES...
continue;;
-d) dir_arg=true In the 1st form, copy SRCFILE to DSTFILE.
shift In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
continue;; In the 4th, create DIRECTORIES.
-m) chmodcmd="$chmodprog $2" Options:
shift -c (ignored)
shift -d create directories instead of installing files.
continue;; -g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-s $stripprog installed files.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
--help display this help and exit.
--version display version info and exit.
-o) chowncmd="$chownprog $2" Environment variables override the default commands:
shift CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
shift "
continue;;
-g) chgrpcmd="$chgrpprog $2" while test $# -ne 0; do
shift case $1 in
shift -c) shift
continue;; continue;;
-s) stripcmd=$stripprog -d) dir_arg=true
shift shift
continue;; continue;;
-t=*) transformarg=`echo $1 | sed 's/-t=//'` -g) chgrpcmd="$chgrpprog $2"
shift shift
continue;; shift
continue;;
-b=*) transformbasename=`echo $1 | sed 's/-b=//'` --help) echo "$usage"; exit $?;;
shift
continue;;
*) if [ x"$src" = x ] -m) mode=$2
then shift
src=$1 shift
else case $mode in
# this colon is to work around a 386BSD /bin/sh bug *' '* | *' '* | *'
: '* | *'*'* | *'?'* | *'['*)
dst=$1 echo "$0: invalid mode: $mode" >&2
fi exit 1;;
shift esac
continue;; continue;;
esac
done
if [ x"$src" = x ] -o) chowncmd="$chownprog $2"
then shift
echo "$0: no input file specified" >&2 shift
exit 1 continue;;
else
:
fi
if [ x"$dir_arg" != x ]; then -s) stripcmd=$stripprog
dst=$src shift
src="" continue;;
if [ -d "$dst" ]; then -t) dstarg=$2
instcmd=:
chmodcmd=""
else
instcmd=$mkdirprog
fi
else
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if [ -f "$src" ] || [ -d "$src" ]
then
:
else
echo "$0: $src does not exist" >&2
exit 1
fi
if [ x"$dst" = x ]
then
echo "$0: no destination specified" >&2
exit 1
else
:
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
if [ -d "$dst" ]
then
dst=$dst/`basename "$src"`
else
:
fi
fi
## this sed command emulates the dirname command
dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Make sure that the destination directory exists.
# this part is taken from Noah Friedman's mkinstalldirs script
# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
defaultIFS='
'
IFS="${IFS-$defaultIFS}"
oIFS=$IFS
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS=$oIFS
pathcomp=''
while [ $# -ne 0 ] ; do
pathcomp=$pathcomp$1
shift shift
shift
continue;;
if [ ! -d "$pathcomp" ] ; -T) no_target_directory=true
then shift
$mkdirprog "$pathcomp" continue;;
else
:
fi
pathcomp=$pathcomp/ --version) echo "$0 $scriptversion"; exit $?;;
--) shift
break;;
-*) echo "$0: invalid option: $1" >&2
exit 1;;
*) break;;
esac
done done
if test $# -ne 0 && test -z "$dir_arg$dstarg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dstarg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dstarg"
shift # fnord
fi
shift # arg
dstarg=$arg
done
fi fi
if [ x"$dir_arg" != x ] if test $# -eq 0; then
then if test -z "$dir_arg"; then
$doit $instcmd "$dst" && echo "$0: no input file specified." >&2
exit 1
fi
# It's OK to call `install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi && if test -z "$dir_arg"; then
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi && trap '(exit $?); exit' 1 2 13 15
if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi
else
# If we're going to rename the final executable, determine the name now. # Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
case $mode in
# Optimize common cases.
*644) cp_umask=133;;
*755) cp_umask=22;;
if [ x"$transformarg" = x ] *[0-7])
then if test -z "$stripcmd"; then
dstfile=`basename "$dst"` u_plus_rw=
else
u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
fi
for src
do
# Protect names starting with `-'.
case $src in
-*) src=./$src ;;
esac
if test -n "$dir_arg"; then
dst=$src
dstdir=$dst
test -d "$dstdir"
dstdir_status=$?
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
echo "$0: $src does not exist." >&2
exit 1
fi
if test -z "$dstarg"; then
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dstarg
# Protect names starting with `-'.
case $dst in
-*) dst=./$dst ;;
esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
echo "$0: $dstarg: Is a directory" >&2
exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstdir_status=0
else
# Prefer dirname, but fall back on a substitute if dirname fails.
dstdir=`
(dirname "$dst") 2>/dev/null ||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$dst" : 'X\(//\)[^/]' \| \
X"$dst" : 'X\(//\)$' \| \
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$dst" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'
`
test -d "$dstdir"
dstdir_status=$?
fi
fi
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
# Create intermediate dirs using mode 755 as modified by the umask.
# This is like FreeBSD 'install' as of 1997-10-28.
umask=`umask`
case $stripcmd.$umask in
# Optimize common cases.
*[2367][2367]) mkdir_umask=$umask;;
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
*[0-7])
mkdir_umask=`expr $umask + 22 \
- $umask % 100 % 40 + $umask % 20 \
- $umask % 10 % 4 + $umask % 2
`;;
*) mkdir_umask=$umask,go-w;;
esac
# With -d, create the new directory with the user-specified mode.
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
mkdir_mode=-m$mode
else else
dstfile=`basename "$dst" $transformbasename | mkdir_mode=
sed $transformarg`$transformbasename
fi fi
# don't allow the sed command to completely eliminate the filename posix_mkdir=false
case $umask in
*[123567][0-7][0-7])
# POSIX mkdir -p sets u+wx bits regardless of umask, which
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
if [ x"$dstfile" = x ] if (umask $mkdir_umask &&
then exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
dstfile=`basename "$dst"` then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writeable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/d" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
fi
trap '' 0;;
esac;;
esac
if
$posix_mkdir && (
umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
# The umask is ridiculous, or mkdir does not conform to POSIX,
# or it failed possibly due to a race condition. Create the
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
/*) prefix=/ ;;
-*) prefix=./ ;;
*) prefix= ;;
esac
case $posix_glob in
'')
if (set -f) 2>/dev/null; then
posix_glob=true
else
posix_glob=false
fi ;;
esac
oIFS=$IFS
IFS=/
$posix_glob && set -f
set fnord $dstdir
shift
$posix_glob && set +f
IFS=$oIFS
prefixes=
for d
do
test -z "$d" && continue
prefix=$prefix$d
if test -d "$prefix"; then
prefixes=
else else
: if $posix_mkdir; then
(umask=$mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
# Don't fail if two instances are running concurrently.
test -d "$prefix" || exit 1
else
case $prefix in
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
*) qprefix=$prefix;;
esac
prefixes="$prefixes '$qprefix'"
fi
fi fi
prefix=$prefix/
done
# Make a couple of temp file names in the proper directory. if test -n "$prefixes"; then
# Don't fail if two instances are running concurrently.
(umask $mkdir_umask &&
eval "\$doit_exec \$mkdirprog $prefixes") ||
test -d "$dstdir" || exit 1
obsolete_mkdir_used=true
fi
fi
fi
dsttmp=$dstdir/_inst.$$_ if test -n "$dir_arg"; then
rmtmp=$dstdir/_rm.$$_ { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
else
# Trap to clean up temp files at exit. # Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 # Trap to clean up those temp files at exit.
trap '(exit $?); exit' 1 2 13 15 trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
# Move or copy the file name to the temp name # Copy the file name to the temp name.
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
$doit $instcmd "$src" "$dsttmp" && # and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
&& { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
&& { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
# and set any options; do chmod last to preserve setuid bits # Now rename the file to the real destination.
{ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \
|| {
# The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
# If any of these fail, we abort the whole thing. If we want to # Now remove or move aside any old file at destination location.
# ignore errors from any of these, just make sure not to ignore # We try this two ways since rm can't unlink itself on some
# errors from the above "$doit $instcmd $src $dsttmp" command. # systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
if test -f "$dst"; then
$doit $rmcmd -f "$dst" 2>/dev/null \
|| { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \
&& { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\
|| {
echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
}
else
:
fi
} &&
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi && # Now rename the file to the real destination.
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi && $doit $mvcmd "$dsttmp" "$dst"
if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi && }
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi && } || exit 1
# Now remove or move aside any old file at destination location. We try this trap '' 0
# two ways since rm can't unlink itself on some systems and the destination fi
# file might be busy for other reasons. In this case, the final cleanup done
# might fail but the new file should still install successfully.
{ # Local variables:
if [ -f "$dstdir/$dstfile" ] # eval: (add-hook 'write-file-hooks 'time-stamp)
then # time-stamp-start: "scriptversion="
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null || # time-stamp-format: "%:y-%02m-%02d.%02H"
$doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null || # time-stamp-end: "$"
{ # End:
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
(exit 1); exit
}
else
:
fi
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
fi &&
# The final little trick to "correctly" pass the exit status to the exit trap.
{
(exit 0); exit
}

View File

@ -1,6 +1,10 @@
#!/bin/sh #!/bin/sh
# Get modification time of a file or directory and pretty-print it. # Get modification time of a file or directory and pretty-print it.
# Copyright (C) 1995, 1996, 1997, 2003 Free Software Foundation, Inc.
scriptversion=2005-06-29.22
# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005 Free Software
# Foundation, Inc.
# written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995 # written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -15,13 +19,38 @@
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation, # along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# As a special exception to the GNU General Public License, if you # As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a # distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under # configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program. # the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
case $1 in
'')
echo "$0: No file. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: mdate-sh [--help] [--version] FILE
Pretty-print the modification time of FILE.
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "mdate-sh $scriptversion"
exit $?
;;
esac
# Prevent date giving response in another language. # Prevent date giving response in another language.
LANG=C LANG=C
export LANG export LANG
@ -30,7 +59,15 @@ export LC_ALL
LC_TIME=C LC_TIME=C
export LC_TIME export LC_TIME
save_arg1="$1" # GNU ls changes its time format in response to the TIME_STYLE
# variable. Since we cannot assume `unset' works, revert this
# variable to its documented default.
if test "${TIME_STYLE+set}" = set; then
TIME_STYLE=posix-long-iso
export TIME_STYLE
fi
save_arg1=$1
# Find out how to get the extended ls output of a file or directory. # Find out how to get the extended ls output of a file or directory.
if ls -L /dev/null 1>/dev/null 2>&1; then if ls -L /dev/null 1>/dev/null 2>&1; then
@ -52,7 +89,7 @@ fi
# words should be skipped to get the date. # words should be skipped to get the date.
# On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below. # On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below.
set - x`$ls_command /` set x`ls -l -d /`
# Find which argument is the month. # Find which argument is the month.
month= month=
@ -79,13 +116,32 @@ do
done done
# Get the extended ls output of the file or directory. # Get the extended ls output of the file or directory.
set - x`eval "$ls_command \"\$save_arg1\""` set dummy x`eval "$ls_command \"\$save_arg1\""`
# Remove all preceding arguments # Remove all preceding arguments
eval $command eval $command
# Get the month. Next argument is day, followed by the year or time. # Because of the dummy argument above, month is in $2.
case $1 in #
# On a POSIX system, we should have
#
# $# = 5
# $1 = file size
# $2 = month
# $3 = day
# $4 = year or time
# $5 = filename
#
# On Darwin 7.7.0 and 7.6.0, we have
#
# $# = 4
# $1 = day
# $2 = month
# $3 = year or time
# $4 = filename
# Get the month.
case $2 in
Jan) month=January; nummonth=1;; Jan) month=January; nummonth=1;;
Feb) month=February; nummonth=2;; Feb) month=February; nummonth=2;;
Mar) month=March; nummonth=3;; Mar) month=March; nummonth=3;;
@ -100,7 +156,10 @@ case $1 in
Dec) month=December; nummonth=12;; Dec) month=December; nummonth=12;;
esac esac
day=$2 case $3 in
???*) day=$1;;
*) day=$3; shift;;
esac
# Here we have to deal with the problem that the ls output gives either # Here we have to deal with the problem that the ls output gives either
# the time of day or the year. # the time of day or the year.
@ -131,3 +190,12 @@ esac
# The result. # The result.
echo $day $month $year echo $day $month $year
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

View File

@ -1,6 +1,10 @@
#! /bin/sh #! /bin/sh
# Common stub for a few missing GNU programs while installing. # Common stub for a few missing GNU programs while installing.
# Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc.
scriptversion=2006-05-10.23
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
# Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -15,8 +19,8 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software # along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02111-1307, USA. # 02110-1301, USA.
# As a special exception to the GNU General Public License, if you # As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a # distribute this file as part of a program that contains a
@ -29,6 +33,8 @@ if test $# -eq 0; then
fi fi
run=: run=:
sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
# In the cases where this matters, `missing' is being run in the # In the cases where this matters, `missing' is being run in the
# srcdir already. # srcdir already.
@ -38,18 +44,24 @@ else
configure_ac=configure.in configure_ac=configure.in
fi fi
case "$1" in msg="missing on your system"
case $1 in
--run) --run)
# Try to run requested program, and just exit if it succeeds. # Try to run requested program, and just exit if it succeeds.
run= run=
shift shift
"$@" && exit 0 "$@" && exit 0
# Exit code 63 means version mismatch. This often happens
# when the user try to use an ancient version of a tool on
# a file that requires a minimum version. In this case we
# we should proceed has if the program had been absent, or
# if --run hadn't been passed.
if test $? = 63; then
run=:
msg="probably too old"
fi
;; ;;
esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
case "$1" in
-h|--h|--he|--hel|--help) -h|--h|--he|--hel|--help)
echo "\ echo "\
@ -67,6 +79,7 @@ Supported PROGRAM values:
aclocal touch file \`aclocal.m4' aclocal touch file \`aclocal.m4'
autoconf touch file \`configure' autoconf touch file \`configure'
autoheader touch file \`config.h.in' autoheader touch file \`config.h.in'
autom4te touch the output file, or create a stub one
automake touch all \`Makefile.in' files automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch] bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c flex create \`lex.yy.c', if possible, from existing .c
@ -74,11 +87,15 @@ Supported PROGRAM values:
lex create \`lex.yy.c', if possible, from existing .c lex create \`lex.yy.c', if possible, from existing .c
makeinfo touch the output file makeinfo touch the output file
tar try tar, gnutar, gtar, then tar without non-portable flags tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch]" yacc create \`y.tab.[ch]', if possible, from existing .[ch]
Send bug reports to <bug-automake@gnu.org>."
exit $?
;; ;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version) -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing 0.4 - GNU automake" echo "missing $scriptversion (GNU Automake)"
exit $?
;; ;;
-*) -*)
@ -87,14 +104,44 @@ Supported PROGRAM values:
exit 1 exit 1
;; ;;
aclocal*) esac
# Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect
# the program).
case $1 in
lex|yacc)
# Not GNU programs, they don't have --version.
;;
tar)
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
exit 1
fi
;;
*)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed. # We have it, but it failed.
exit 1 exit 1
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
# Could not run --version or --help. This is probably someone
# running `$TOOL --version' or `$TOOL --help' to check whether
# $TOOL exists and not knowing $TOOL uses missing.
exit 1
fi fi
;;
esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
case $1 in
aclocal*)
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified \`acinclude.m4' or \`${configure_ac}'. You might want you modified \`acinclude.m4' or \`${configure_ac}'. You might want
to install the \`Automake' and \`Perl' packages. Grab them from to install the \`Automake' and \`Perl' packages. Grab them from
any GNU archive site." any GNU archive site."
@ -102,13 +149,8 @@ WARNING: \`$1' is missing on your system. You should only need it if
;; ;;
autoconf) autoconf)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified \`${configure_ac}'. You might want to install the you modified \`${configure_ac}'. You might want to install the
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
archive site." archive site."
@ -116,13 +158,8 @@ WARNING: \`$1' is missing on your system. You should only need it if
;; ;;
autoheader) autoheader)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want you modified \`acconfig.h' or \`${configure_ac}'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site." from any GNU archive site."
@ -130,7 +167,7 @@ WARNING: \`$1' is missing on your system. You should only need it if
test -z "$files" && files="config.h" test -z "$files" && files="config.h"
touch_files= touch_files=
for f in $files; do for f in $files; do
case "$f" in case $f in
*:*) touch_files="$touch_files "`echo "$f" | *:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;; sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";; *) touch_files="$touch_files $f.in";;
@ -140,13 +177,8 @@ WARNING: \`$1' is missing on your system. You should only need it if
;; ;;
automake*) automake*)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
You might want to install the \`Automake' and \`Perl' packages. You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site." Grab them from any GNU archive site."
@ -156,20 +188,15 @@ WARNING: \`$1' is missing on your system. You should only need it if
;; ;;
autom4te) autom4te)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is needed, and you do not seem to have it handy on your WARNING: \`$1' is needed, but is $msg.
system. You might have modified some files without having the You might have modified some files without having the
proper tools for further handling them. proper tools for further handling them.
You can get \`$1Help2man' as part of \`Autoconf' from any GNU You can get \`$1' as part of \`Autoconf' from any GNU
archive site." archive site."
file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` file=`echo "$*" | sed -n "$sed_output"`
test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -f "$file"; then if test -f "$file"; then
touch $file touch $file
else else
@ -185,74 +212,67 @@ WARNING: \`$1' is needed, and you do not seem to have it handy on your
bison|yacc) bison|yacc)
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if WARNING: \`$1' $msg. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package you modified a \`.y' file. You may need the \`Bison' package
in order for those modifications to take effect. You can get in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site." \`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h rm -f y.tab.c y.tab.h
if [ $# -ne 1 ]; then if test $# -ne 1; then
eval LASTARG="\${$#}" eval LASTARG="\${$#}"
case "$LASTARG" in case $LASTARG in
*.y) *.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
if [ -f "$SRCFILE" ]; then if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.c cp "$SRCFILE" y.tab.c
fi fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
if [ -f "$SRCFILE" ]; then if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.h cp "$SRCFILE" y.tab.h
fi fi
;; ;;
esac esac
fi fi
if [ ! -f y.tab.h ]; then if test ! -f y.tab.h; then
echo >y.tab.h echo >y.tab.h
fi fi
if [ ! -f y.tab.c ]; then if test ! -f y.tab.c; then
echo 'main() { return 0; }' >y.tab.c echo 'main() { return 0; }' >y.tab.c
fi fi
;; ;;
lex|flex) lex|flex)
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package you modified a \`.l' file. You may need the \`Flex' package
in order for those modifications to take effect. You can get in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site." \`Flex' from any GNU archive site."
rm -f lex.yy.c rm -f lex.yy.c
if [ $# -ne 1 ]; then if test $# -ne 1; then
eval LASTARG="\${$#}" eval LASTARG="\${$#}"
case "$LASTARG" in case $LASTARG in
*.l) *.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
if [ -f "$SRCFILE" ]; then if test -f "$SRCFILE"; then
cp "$SRCFILE" lex.yy.c cp "$SRCFILE" lex.yy.c
fi fi
;; ;;
esac esac
fi fi
if [ ! -f lex.yy.c ]; then if test ! -f lex.yy.c; then
echo 'main() { return 0; }' >lex.yy.c echo 'main() { return 0; }' >lex.yy.c
fi fi
;; ;;
help2man) help2man)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified a dependency of a manual page. You may need the you modified a dependency of a manual page. You may need the
\`Help2man' package in order for those modifications to take \`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site." effect. You can get \`Help2man' from any GNU archive site."
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` file=`echo "$*" | sed -n "$sed_output"`
if test -z "$file"; then test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` if test -f "$file"; then
fi
if [ -f "$file" ]; then
touch $file touch $file
else else
test -z "$file" || exec >$file test -z "$file" || exec >$file
@ -262,32 +282,36 @@ WARNING: \`$1' is missing on your system. You should only need it if
;; ;;
makeinfo) makeinfo)
if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
# We have makeinfo, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file you modified a \`.texi' or \`.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy \`make' (AIX, call might also be the consequence of using a buggy \`make' (AIX,
DU, IRIX). You might want to install the \`Texinfo' package or DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site." the \`GNU make' package. Grab either from any GNU archive site."
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` # The file to touch is that specified with -o ...
file=`echo "$*" | sed -n "$sed_output"`
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -z "$file"; then if test -z "$file"; then
file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` # ... or it is the one specified with @setfilename ...
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
file=`sed -n '
/^@setfilename/{
s/.* \([^ ]*\) *$/\1/
p
q
}' $infile`
# ... or it is derived from the source name (dir/f.texi becomes f.info)
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
fi fi
# If the file does not exist, the user really needs makeinfo;
# let's fail without touching anything.
test -f $file || exit 1
touch $file touch $file
;; ;;
tar) tar)
shift shift
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
fi
# We have already tried tar in the generic part. # We have already tried tar in the generic part.
# Look for gnutar/gtar before invocation to avoid ugly error # Look for gnutar/gtar before invocation to avoid ugly error
@ -300,13 +324,13 @@ WARNING: \`$1' is missing on your system. You should only need it if
fi fi
firstarg="$1" firstarg="$1"
if shift; then if shift; then
case "$firstarg" in case $firstarg in
*o*) *o*)
firstarg=`echo "$firstarg" | sed s/o//` firstarg=`echo "$firstarg" | sed s/o//`
tar "$firstarg" "$@" && exit 0 tar "$firstarg" "$@" && exit 0
;; ;;
esac esac
case "$firstarg" in case $firstarg in
*h*) *h*)
firstarg=`echo "$firstarg" | sed s/h//` firstarg=`echo "$firstarg" | sed s/h//`
tar "$firstarg" "$@" && exit 0 tar "$firstarg" "$@" && exit 0
@ -323,10 +347,10 @@ WARNING: I can't seem to be able to run \`tar' with the given arguments.
*) *)
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is needed, and you do not seem to have it handy on your WARNING: \`$1' is needed, and is $msg.
system. You might have modified some files without having the You might have modified some files without having the
proper tools for further handling them. Check the \`README' file, proper tools for further handling them. Check the \`README' file,
it often tells you about the needed prerequirements for installing it often tells you about the needed prerequisites for installing
this package. You may also peek at any GNU archive site, in case this package. You may also peek at any GNU archive site, in case
some other package would contain this missing \`$1' program." some other package would contain this missing \`$1' program."
exit 1 exit 1
@ -334,3 +358,10 @@ WARNING: \`$1' is needed, and you do not seem to have it handy on your
esac esac
exit 0 exit 0
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

View File

@ -1,21 +1,36 @@
#! /bin/sh #! /bin/sh
# mkinstalldirs --- make directory hierarchy # mkinstalldirs --- make directory hierarchy
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16
# Public domain
scriptversion=2006-05-11.19
# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16
# Public domain.
#
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
nl='
'
IFS=" "" $nl"
errstatus=0 errstatus=0
dirmode="" dirmode=
usage="\ usage="\
Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..." Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
Create each directory DIR (with mode MODE, if specified), including all
leading file name components.
Report bugs to <bug-automake@gnu.org>."
# process command line arguments # process command line arguments
while test $# -gt 0 ; do while test $# -gt 0 ; do
case $1 in case $1 in
-h | --help | --h*) # -h for help -h | --help | --h*) # -h for help
echo "$usage" 1>&2 echo "$usage"
exit 0 exit $?
;; ;;
-m) # -m PERM arg -m) # -m PERM arg
shift shift
@ -23,6 +38,10 @@ while test $# -gt 0 ; do
dirmode=$1 dirmode=$1
shift shift
;; ;;
--version)
echo "$0 $scriptversion"
exit $?
;;
--) # stop option processing --) # stop option processing
shift shift
break break
@ -50,30 +69,58 @@ case $# in
0) exit 0 ;; 0) exit 0 ;;
esac esac
# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
# mkdir -p a/c at the same time, both will detect that a is missing,
# one will create a, then the other will try to create a and die with
# a "File exists" error. This is a problem when calling mkinstalldirs
# from a parallel make. We use --version in the probe to restrict
# ourselves to GNU mkdir, which is thread-safe.
case $dirmode in case $dirmode in
'') '')
if mkdir -p -- . 2>/dev/null; then if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
echo "mkdir -p -- $*" echo "mkdir -p -- $*"
exec mkdir -p -- "$@" exec mkdir -p -- "$@"
else
# On NextStep and OpenStep, the `mkdir' command does not
# recognize any option. It will interpret all options as
# directories to create, and then abort because `.' already
# exists.
test -d ./-p && rmdir ./-p
test -d ./--version && rmdir ./--version
fi fi
;; ;;
*) *)
if mkdir -m "$dirmode" -p -- . 2>/dev/null; then if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
test ! -d ./--version; then
echo "mkdir -m $dirmode -p -- $*" echo "mkdir -m $dirmode -p -- $*"
exec mkdir -m "$dirmode" -p -- "$@" exec mkdir -m "$dirmode" -p -- "$@"
else
# Clean up after NextStep and OpenStep mkdir.
for d in ./-m ./-p ./--version "./$dirmode";
do
test -d $d && rmdir $d
done
fi fi
;; ;;
esac esac
for file for file
do do
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` case $file in
/*) pathcomp=/ ;;
*) pathcomp= ;;
esac
oIFS=$IFS
IFS=/
set fnord $file
shift shift
IFS=$oIFS
pathcomp=
for d for d
do do
pathcomp="$pathcomp$d" test "x$d" = x && continue
pathcomp=$pathcomp$d
case $pathcomp in case $pathcomp in
-*) pathcomp=./$pathcomp ;; -*) pathcomp=./$pathcomp ;;
esac esac
@ -84,21 +131,21 @@ do
mkdir "$pathcomp" || lasterr=$? mkdir "$pathcomp" || lasterr=$?
if test ! -d "$pathcomp"; then if test ! -d "$pathcomp"; then
errstatus=$lasterr errstatus=$lasterr
else else
if test ! -z "$dirmode"; then if test ! -z "$dirmode"; then
echo "chmod $dirmode $pathcomp" echo "chmod $dirmode $pathcomp"
lasterr="" lasterr=
chmod "$dirmode" "$pathcomp" || lasterr=$? chmod "$dirmode" "$pathcomp" || lasterr=$?
if test ! -z "$lasterr"; then if test ! -z "$lasterr"; then
errstatus=$lasterr errstatus=$lasterr
fi fi
fi fi
fi fi
fi fi
pathcomp="$pathcomp/" pathcomp=$pathcomp/
done done
done done
@ -107,5 +154,8 @@ exit $errstatus
# Local Variables: # Local Variables:
# mode: shell-script # mode: shell-script
# sh-indentation: 2 # sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End: # End:
# mkinstalldirs ends here

View File

@ -1,3 +1,7 @@
2007-05-07 Werner Koch <wk@g10code.com>
* certcheck.c (MY_GCRY_PK_ECDSA): New.
2007-04-20 Werner Koch <wk@g10code.com> 2007-04-20 Werner Koch <wk@g10code.com>
* gpgsm.c (main): Parameterize failed versions check messages. * gpgsm.c (main): Parameterize failed versions check messages.

View File

@ -35,6 +35,11 @@
#include "keydb.h" #include "keydb.h"
#include "i18n.h" #include "i18n.h"
/* Remove this if libgcrypt 1.3.0 is required. */
#define MY_GCRY_PK_ECDSA 301
/* Return the number of bits of the Q parameter from the DSA key /* Return the number of bits of the Q parameter from the DSA key
KEY. */ KEY. */
static unsigned int static unsigned int
@ -72,11 +77,11 @@ do_encode_md (gcry_md_hd_t md, int algo, int pkalgo, unsigned int nbits,
size_t nframe; size_t nframe;
unsigned char *frame; unsigned char *frame;
if (pkalgo == GCRY_PK_DSA || pkalgo == GCRY_PK_ECDSA) if (pkalgo == GCRY_PK_DSA || pkalgo == MY_GCRY_PK_ECDSA)
{ {
unsigned int qbits; unsigned int qbits;
if ( pkalgo == GCRY_PK_ECDSA ) if ( pkalgo == MY_GCRY_PK_ECDSA )
qbits = gcry_pk_get_nbits (pkey); qbits = gcry_pk_get_nbits (pkey);
else else
qbits = get_dsa_qbits (pkey); qbits = get_dsa_qbits (pkey);
@ -211,7 +216,7 @@ pk_algo_from_sexp (gcry_sexp_t pkey)
/* Because this function is called only for verification we can /* Because this function is called only for verification we can
assume that ECC actually means ECDSA. */ assume that ECC actually means ECDSA. */
else if (n==3 && !memcmp (name, "ecc", 3)) else if (n==3 && !memcmp (name, "ecc", 3))
algo = GCRY_PK_ECDSA; algo = MY_GCRY_PK_ECDSA;
else if (n==13 && !memcmp (name, "ambiguous-rsa", 13)) else if (n==13 && !memcmp (name, "ambiguous-rsa", 13))
algo = GCRY_PK_RSA; algo = GCRY_PK_RSA;
else else